!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PRIVATE SUBROUTINES, UNIFORM
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PRIVATE SUBROUTINES, NON-UNIFORM
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
module~~sll_m_spline_interpolator_1d~~UsesGraph
module~sll_m_spline_interpolator_1d
sll_m_spline_interpolator_1d
module~sll_m_boundary_condition_descriptors
sll_m_boundary_condition_descriptors
module~sll_m_spline_interpolator_1d->module~sll_m_boundary_condition_descriptors
module~sll_m_bsplines_base
sll_m_bsplines_base
module~sll_m_spline_interpolator_1d->module~sll_m_bsplines_base
module~sll_m_spline_1d
sll_m_spline_1d
module~sll_m_spline_interpolator_1d->module~sll_m_spline_1d
module~sll_m_spline_matrix
sll_m_spline_matrix
module~sll_m_spline_interpolator_1d->module~sll_m_spline_matrix
module~sll_m_working_precision
sll_m_working_precision
module~sll_m_spline_interpolator_1d->module~sll_m_working_precision
module~sll_m_bsplines_base->module~sll_m_working_precision
module~sll_m_spline_1d->module~sll_m_bsplines_base
module~sll_m_spline_1d->module~sll_m_working_precision
module~sll_m_spline_matrix->module~sll_m_working_precision
module~sll_m_spline_matrix_banded
sll_m_spline_matrix_banded
module~sll_m_spline_matrix->module~sll_m_spline_matrix_banded
module~sll_m_spline_matrix_base
sll_m_spline_matrix_base
module~sll_m_spline_matrix->module~sll_m_spline_matrix_base
module~sll_m_spline_matrix_dense
sll_m_spline_matrix_dense
module~sll_m_spline_matrix->module~sll_m_spline_matrix_dense
module~sll_m_spline_matrix_banded->module~sll_m_working_precision
module~sll_m_spline_matrix_banded->module~sll_m_spline_matrix_base
iso_fortran_env
iso_fortran_env
module~sll_m_spline_matrix_banded->iso_fortran_env
module~sll_m_spline_matrix_base->module~sll_m_working_precision
module~sll_m_spline_matrix_dense->module~sll_m_working_precision
module~sll_m_spline_matrix_dense->module~sll_m_spline_matrix_base
module~sll_m_spline_matrix_dense->iso_fortran_env
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_interpolator_1d~~UsedByGraph
module~sll_m_spline_interpolator_1d
sll_m_spline_interpolator_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~readstate->module~modgvec_mhd3d_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
program~gvec_post->module~modgvec_mhd3d_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_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~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~initsolution
InitSolution
proc~initsolution->module~modgvec_mhd3d_vars
proc~initsolutionmhd3d
t_functional_mhd3d%InitSolutionMHD3D
proc~initsolutionmhd3d->module~modgvec_mhd3d_vars
proc~minimizemhd3d
t_functional_mhd3d%MinimizeMHD3D
proc~minimizemhd3d->module~modgvec_mhd3d_vars
proc~minimizemhd3d_descent
MinimizeMHD3D_descent
proc~minimizemhd3d_descent->module~modgvec_mhd3d_vars
proc~rungvec
rungvec
proc~rungvec->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
integer,
private,
parameter
::
allowed_bcs (1:3)
=
[sll_p_periodic, sll_p_hermite, sll_p_greville]
Allowed boundary conditions
Derived Types
1D spline interpolator
Components
Type
Visibility Attributes
Name
Initial
class(sll_c_bsplines ),
private,
pointer
::
bspl
=>
null()
integer,
private
::
bc_xmin
integer,
private
::
bc_xmax
integer,
private
::
nbc_xmin
integer,
private
::
nbc_xmax
integer,
private
::
odd
real(kind=wp),
private
::
dx
real(kind=wp),
private,
allocatable
::
tau (:)
class(sll_c_spline_matrix ),
private,
allocatable
::
matrix
Type-Bound Procedures
Subroutines
Calculate number of cells from number of interpolation points calculate the number of grid cells that yields the desired number of interpolation points
Read more…
Arguments
Type
Intent Optional Attributes
Name
integer,
intent(in)
::
degree
spline degree
integer,
intent(in)
::
bc_xmin
boundary condition type at left boundary (x=xmin)
integer,
intent(in)
::
bc_xmax
boundary condition type at right boundary (x=xmax)
integer,
intent(in)
::
nipts
desired number of interpolation points
integer,
intent(out)
::
ncells
calculated number of cells in domain
Initialize a 1D spline interpolator object
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(out)
::
self
1D spline interpolator
class(sll_c_bsplines ),
intent(in),
target
::
bspl
B-splines (basis)
integer,
intent(in)
::
bc_xmin
boundary condition at xmin
integer,
intent(in)
::
bc_xmax
boundary condition at xmax
Destroy local objects and free allocated memory
Read more…
Arguments
Get coordinates of interpolation points (1D grid)
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(in)
::
self
1D spline interpolator
real(kind=wp),
intent(out),
allocatable
::
tau (:)
Compute interpolating 1D spline values on grid. If Hermite BCs are used, function derivatives at appropriate boundary are also needed.
Read more…
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(in)
::
self
1D spline interpolator
real(kind=wp),
intent(out)
::
bcoef (1-MERGE(1+self%bspl%degree/2,0,self%bspl%periodic):self%bspl%nbasis+MERGE(1+self%bspl%degree/2,0,self%bspl%periodic))
real(kind=wp),
intent(in)
::
gtau (:)
real(kind=wp),
intent(in),
optional
::
derivs_xmin (:)
real(kind=wp),
intent(in),
optional
::
derivs_xmax (:)
Private subroutine for assembling and factorizing linear system for any kind of boundary conditions at xmin and xmax
Read more…
Arguments
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(in)
::
self
real(kind=wp),
intent(out),
allocatable
::
tau (:)
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(in)
::
self
integer,
intent(out)
::
kl
integer,
intent(out)
::
ku
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(in)
::
self
real(kind=wp),
intent(out),
allocatable
::
tau (:)
Arguments
Type
Intent Optional Attributes
Name
class(sll_t_spline_interpolator_1d ),
intent(in)
::
self
integer,
intent(out)
::
kl
integer,
intent(out)
::
ku