given by the span of the given B - splines ( basis functions ) .
Therefore , initialization of a 1 D spline object requires an existing
B - splines object , to which a private ( polymorphic ) pointer is
associated .
The B - spline coefficients are stored in a public allocatable array ;
at initialization the array is allocated to the proper size and all
values are set to zero .
In most situations the B - spline coefficients are not set directly by
the end user , but are computed by some other object ( e .g ., a Poisson
solver or a spline interpolator ) .
Various public methods allow the user to evaluate the 1 D spline S ( x )
and its derivative ∂S ( x ) / ∂x any position x .
Copyright INRIA
Authors :
CALVI project team
This code SeLaLib (for Semi-Lagrangian-Library)
is a parallel library for simulating the plasma turbulence
in a tokamak.
This software is governed by the CeCILL-B license
under French law and abiding by the rules of distribution
of free software. You can use, modify and redistribute
the software under the terms of the CeCILL-B license as
circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info".
module~~sll_m_spline_1d~~UsesGraph
module~sll_m_spline_1d
sll_m_spline_1d
module~sll_m_assert
sll_m_assert
module~sll_m_spline_1d->module~sll_m_assert
module~sll_m_bsplines_base
sll_m_bsplines_base
module~sll_m_spline_1d->module~sll_m_bsplines_base
module~sll_m_working_precision
sll_m_working_precision
module~sll_m_spline_1d->module~sll_m_working_precision
module~sll_m_bsplines_base->module~sll_m_assert
module~sll_m_bsplines_base->module~sll_m_working_precision
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
module~~sll_m_spline_1d~~UsedByGraph
module~sll_m_spline_1d
sll_m_spline_1d
module~sll_m_spline_interpolator_1d
sll_m_spline_interpolator_1d
module~sll_m_spline_interpolator_1d->module~sll_m_spline_1d
module~modgvec_sbase
MODgvec_sBase
module~modgvec_sbase->module~sll_m_spline_interpolator_1d
proc~sbase_init
t_sBase%sBase_init
proc~sbase_init->module~sll_m_spline_interpolator_1d
module~modgvec_base
MODgvec_base
module~modgvec_base->module~modgvec_sbase
module~modgvec_readstate_vars
MODgvec_ReadState_Vars
module~modgvec_readstate_vars->module~modgvec_sbase
module~modgvec_readstate_vars->module~modgvec_base
proc~readstatefilefromascii
ReadStateFileFromASCII
proc~readstatefilefromascii->module~modgvec_sbase
proc~readstatefilefromascii->module~modgvec_base
proc~readstatefilefromascii->module~modgvec_readstate_vars
module~modgvec_gvec_to_jorek_vars
MODgvec_gvec_to_jorek_Vars
module~modgvec_gvec_to_jorek_vars->module~modgvec_base
module~modgvec_mhd3d_vars
MODgvec_MHD3D_Vars
module~modgvec_mhd3d_vars->module~modgvec_base
module~modgvec_py_state
MODgvec_py_state
module~modgvec_py_state->module~modgvec_base
module~modgvec_transform_sfl
MODgvec_Transform_SFL
module~modgvec_transform_sfl->module~modgvec_base
proc~applyprecond
ApplyPrecond
proc~applyprecond->module~modgvec_base
proc~buildtransform_sfl
t_transform_sfl%BuildTransform_SFL
proc~buildtransform_sfl->module~modgvec_base
proc~eval_prof_r
eval_prof_r
proc~eval_prof_r->module~modgvec_readstate_vars
proc~evaluate_base_list_stz_all
evaluate_base_list_stz_all
proc~evaluate_base_list_stz_all->module~modgvec_base
proc~evaluate_base_list_tz
evaluate_base_list_tz
proc~evaluate_base_list_tz->module~modgvec_base
proc~evaluate_base_list_tz_all
evaluate_base_list_tz_all
proc~evaluate_base_list_tz_all->module~modgvec_base
proc~evaluate_base_select
evaluate_base_select
proc~evaluate_base_select->module~modgvec_base
proc~evaluate_base_tens
evaluate_base_tens
proc~evaluate_base_tens->module~modgvec_base
proc~evaluate_base_tens_all
evaluate_base_tens_all
proc~evaluate_base_tens_all->module~modgvec_base
proc~finalize_readstate
Finalize_ReadState
proc~finalize_readstate->module~modgvec_readstate_vars
proc~get_boozer
get_boozer
proc~get_boozer->module~modgvec_base
proc~get_boozer->module~modgvec_mhd3d_vars
proc~get_boozer_sinterp
t_sfl_boozer%Get_Boozer_sinterp
proc~get_boozer_sinterp->module~modgvec_base
proc~get_field
Get_Field
proc~get_field->module~modgvec_readstate_vars
proc~get_field->module~modgvec_gvec_to_jorek_vars
proc~get_integration_points
get_integration_points
proc~get_integration_points->module~modgvec_base
proc~get_integration_points_num
get_integration_points_num
proc~get_integration_points_num->module~modgvec_base
proc~gvec_to_jorek_prepare
gvec_to_jorek_prepare
proc~gvec_to_jorek_prepare->module~modgvec_base
proc~gvec_to_jorek_prepare->module~modgvec_readstate_vars
proc~gvec_to_jorek_prepare->module~modgvec_gvec_to_jorek_vars
proc~init_base
Init_Base
proc~init_base->module~modgvec_base
proc~init_base->module~modgvec_readstate_vars
proc~init_base->module~modgvec_gvec_to_jorek_vars
proc~init_gvec_to_jorek
init_gvec_to_jorek
proc~init_gvec_to_jorek->module~modgvec_readstate_vars
proc~init_gvec_to_jorek->module~modgvec_gvec_to_jorek_vars
proc~initmhd3d
t_functional_mhd3d%InitMHD3D
proc~initmhd3d->module~modgvec_base
proc~initmhd3d->module~modgvec_mhd3d_vars
proc~lambda_solve
Lambda_solve
proc~lambda_solve->module~modgvec_base
proc~readstate
ReadState
proc~readstate->module~modgvec_readstate_vars
proc~restartfromstate
RestartFromState
proc~restartfromstate->module~modgvec_base
proc~restartfromstate->module~modgvec_readstate_vars
proc~restartfromstate->module~modgvec_mhd3d_vars
proc~select_base
select_base
proc~select_base->module~modgvec_base
proc~select_base->module~modgvec_mhd3d_vars
proc~select_base_dofs
select_base_dofs
proc~select_base_dofs->module~modgvec_base
proc~select_base_dofs->module~modgvec_mhd3d_vars
proc~transform_angles_3d
Transform_Angles_3d
proc~transform_angles_3d->module~modgvec_base
proc~transform_angles_sinterp
Transform_Angles_sinterp
proc~transform_angles_sinterp->module~modgvec_base
proc~transform_sfl_init
t_transform_sfl%transform_SFL_init
proc~transform_sfl_init->module~modgvec_base
program~gvec_post
GVEC_POST
program~gvec_post->module~modgvec_readstate_vars
module~modgvec_gvec_to_castor3d_vars
MODgvec_gvec_to_castor3d_Vars
module~modgvec_gvec_to_castor3d_vars->module~modgvec_transform_sfl
module~modgvec_gvec_to_gene_vars
MODgvec_gvec_to_gene_Vars
module~modgvec_gvec_to_gene_vars->module~modgvec_transform_sfl
module~modgvec_gvec_to_hopr_vars
MODgvec_gvec_to_hopr_vars
module~modgvec_gvec_to_hopr_vars->module~modgvec_transform_sfl
proc~addboundaryperturbation
AddBoundaryPerturbation
proc~addboundaryperturbation->module~modgvec_mhd3d_vars
proc~analyze
Analyze
proc~analyze->module~modgvec_mhd3d_vars
proc~applybc_fstrong
ApplyBC_Fstrong
proc~applybc_fstrong->module~modgvec_mhd3d_vars
proc~buildprecond
BuildPrecond
proc~buildprecond->module~modgvec_mhd3d_vars
proc~evalaux
EvalAux
proc~evalaux->module~modgvec_mhd3d_vars
proc~evalenergy
EvalEnergy
proc~evalenergy->module~modgvec_mhd3d_vars
proc~evalforce
EvalForce
proc~evalforce->module~modgvec_mhd3d_vars
proc~evaluate_hmap
evaluate_hmap
proc~evaluate_hmap->module~modgvec_mhd3d_vars
proc~evaluate_hmap_derivs
evaluate_hmap_derivs
proc~evaluate_hmap_derivs->module~modgvec_mhd3d_vars
proc~evaluate_hmap_only
evaluate_hmap_only
proc~evaluate_hmap_only->module~modgvec_mhd3d_vars
proc~evaluate_hmap_only_pw
evaluate_hmap_only_pw
proc~evaluate_hmap_only_pw->module~modgvec_mhd3d_vars
proc~evaluate_hmap_pw
evaluate_hmap_pw
proc~evaluate_hmap_pw->module~modgvec_mhd3d_vars
proc~evaluate_jac_h_derivs
evaluate_jac_h_derivs
proc~evaluate_jac_h_derivs->module~modgvec_mhd3d_vars
proc~evaluate_jac_h_derivs_pw
evaluate_jac_h_derivs_pw
proc~evaluate_jac_h_derivs_pw->module~modgvec_mhd3d_vars
proc~evaluate_metric_derivs
evaluate_metric_derivs
proc~evaluate_metric_derivs->module~modgvec_mhd3d_vars
proc~evaluate_profile
evaluate_profile
proc~evaluate_profile->module~modgvec_mhd3d_vars
proc~evaluate_rho2_profile
evaluate_rho2_profile
proc~evaluate_rho2_profile->module~modgvec_mhd3d_vars
proc~finalize_gvec_to_jorek
finalize_gvec_to_jorek
proc~finalize_gvec_to_jorek->module~modgvec_gvec_to_jorek_vars
proc~finalizemhd3d
t_functional_mhd3d%FinalizeMHD3D
proc~finalizemhd3d->module~modgvec_mhd3d_vars
proc~finalizemhd3d_evalfunc
FinalizeMHD3D_EvalFunc
proc~finalizemhd3d_evalfunc->module~modgvec_mhd3d_vars
proc~find_pest_angles_2d
find_pest_angles_2D
proc~find_pest_angles_2d->module~modgvec_mhd3d_vars
proc~find_pest_angles_2d->module~modgvec_transform_sfl
proc~get_cla_gvec_to_jorek
get_CLA_gvec_to_jorek
proc~get_cla_gvec_to_jorek->module~modgvec_gvec_to_jorek_vars
proc~gvec_to_jorek_writetofile_ascii
gvec_to_jorek_writeToFile_ASCII
proc~gvec_to_jorek_writetofile_ascii->module~modgvec_gvec_to_jorek_vars
proc~init
Init
proc~init->module~modgvec_mhd3d_vars
proc~init_boozer
init_boozer
proc~init_boozer->module~modgvec_mhd3d_vars
proc~init_la_from_solution
Init_LA_from_Solution
proc~init_la_from_solution->module~modgvec_mhd3d_vars
proc~initaverageaxis
InitAverageAxis
proc~initaverageaxis->module~modgvec_mhd3d_vars
proc~initializemhd3d_evalfunc
InitializeMHD3D_evalFunc
proc~initializemhd3d_evalfunc->module~modgvec_mhd3d_vars
proc~initprofilesgp
InitProfilesGP
proc~initprofilesgp->module~modgvec_mhd3d_vars
proc~initsolutionmhd3d
t_functional_mhd3d%InitSolutionMHD3D
proc~initsolutionmhd3d->module~modgvec_mhd3d_vars
proc~initsolution~2
InitSolution
proc~initsolution~2->module~modgvec_mhd3d_vars
proc~minimize
minimize
proc~minimize->module~modgvec_mhd3d_vars
proc~minimizemhd3d
t_functional_mhd3d%MinimizeMHD3D
proc~minimizemhd3d->module~modgvec_mhd3d_vars
proc~writestatetoascii
WriteStateToASCII
proc~writestatetoascii->module~modgvec_mhd3d_vars
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Variables
Type
Visibility Attributes
Name
Initial
integer,
private,
parameter
::
wp
=
f64
Working precision
Derived Types
1D spline
Components
Type
Visibility Attributes
Name
Initial
real(kind=wp),
public,
allocatable
::
bcoef (:)
class(sll_c_bsplines ),
private,
pointer
::
bspl
=>
null()
Type-Bound Procedures
Functions
Check if 1D spline belongs to span of given B-splines
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(in)
::
self
1D spline
class(sll_c_bsplines ),
intent(in),
target
::
bsplines
B-splines
Return Value
logical
Evaluate value of 1D spline at location x: y=S(x)
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(in)
::
self
1D spline
real(kind=wp),
intent(in)
::
x
evaluation point
Return Value
real(kind=wp)
Evaluate derivative of 1D spline at location x: y=S'(x)
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(in)
::
self
1D spline
real(kind=wp),
intent(in)
::
x
evaluation point
Return Value
real(kind=wp)
Subroutines
Initialize 1D spline object as element of span(B-splines)
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(out)
::
self
1D spline: new element of 1D spline space
class(sll_c_bsplines ),
intent(in),
target
::
bsplines
B-splines: given basis of 1D spline space
Destroy 1D spline (re-initialization is possible afterwards)
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(inout)
::
self
1D spline
Evaluate value of 1D spline at all locations in array x
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(in)
::
self
1D spline
real(kind=wp),
intent(in)
::
x (:)
real(kind=wp),
intent(out)
::
y (:)
Evaluate derivative of 1D spline at all locations in array x
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_1d ),
intent(in)
::
self
1D spline
real(kind=wp),
intent(in)
::
x (:)
real(kind=wp),
intent(out)
::
y (:)