sll_m_bsplines Module


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".



Uses

  • module~~sll_m_bsplines~~UsesGraph module~sll_m_bsplines sll_m_bsplines module~sll_m_assert sll_m_assert module~sll_m_bsplines->module~sll_m_assert module~sll_m_bsplines_base sll_m_bsplines_base module~sll_m_bsplines->module~sll_m_bsplines_base module~sll_m_bsplines_non_uniform sll_m_bsplines_non_uniform module~sll_m_bsplines->module~sll_m_bsplines_non_uniform module~sll_m_bsplines_uniform sll_m_bsplines_uniform module~sll_m_bsplines->module~sll_m_bsplines_uniform module~sll_m_errors sll_m_errors module~sll_m_bsplines->module~sll_m_errors module~sll_m_working_precision sll_m_working_precision module~sll_m_bsplines->module~sll_m_working_precision module~sll_m_bsplines_base->module~sll_m_assert module~sll_m_bsplines_base->module~sll_m_working_precision module~sll_m_bsplines_non_uniform->module~sll_m_assert module~sll_m_bsplines_non_uniform->module~sll_m_bsplines_base module~sll_m_bsplines_non_uniform->module~sll_m_working_precision module~sll_m_bsplines_uniform->module~sll_m_assert module~sll_m_bsplines_uniform->module~sll_m_bsplines_base module~sll_m_bsplines_uniform->module~sll_m_errors module~sll_m_bsplines_uniform->module~sll_m_working_precision iso_fortran_env iso_fortran_env module~sll_m_errors->iso_fortran_env

Used by

  • module~~sll_m_bsplines~~UsedByGraph module~sll_m_bsplines sll_m_bsplines module~modgvec_cubic_spline MODgvec_cubic_spline module~modgvec_cubic_spline->module~sll_m_bsplines module~modgvec_rprofile_bspl MODgvec_rProfile_bspl module~modgvec_rprofile_bspl->module~sll_m_bsplines module~modgvec_sbase MODgvec_sBase module~modgvec_sbase->module~sll_m_bsplines proc~cubspl_new cubspl_new proc~cubspl_new->module~sll_m_bsplines proc~interpolate_cubic_spline interpolate_cubic_spline proc~interpolate_cubic_spline->module~sll_m_bsplines proc~sbase_init t_sBase%sBase_init proc~sbase_init->module~sll_m_bsplines 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 module~modgvec_vmec MODgvec_VMEC module~modgvec_vmec->module~modgvec_cubic_spline module~modgvec_vmec_vars MODgvec_VMEC_Vars module~modgvec_vmec_vars->module~modgvec_cubic_spline proc~halftofull HalfToFull proc~halftofull->module~modgvec_cubic_spline proc~initprofile InitProfile proc~initprofile->module~modgvec_cubic_spline proc~initprofile->module~modgvec_rprofile_bspl proc~initvmec InitVMEC proc~initvmec->module~modgvec_cubic_spline proc~initvmec->module~modgvec_rprofile_bspl proc~initvmec->module~modgvec_vmec_vars proc~readstatefilefromascii ReadStateFileFromASCII proc~readstatefilefromascii->module~modgvec_sbase proc~readstatefilefromascii->module~modgvec_base proc~readstatefilefromascii->module~modgvec_readstate_vars proc~vmec1d_visu VMEC1D_visu proc~vmec1d_visu->module~modgvec_cubic_spline proc~vmec1d_visu->module~modgvec_vmec proc~vmec1d_visu->module~modgvec_vmec_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~finalizemhd3d t_functional_mhd3d%FinalizeMHD3D proc~finalizemhd3d->module~modgvec_vmec proc~finalizemhd3d->module~modgvec_mhd3d_vars proc~finalizevmec FinalizeVMEC proc~finalizevmec->module~modgvec_vmec_vars proc~fitspline FitSpline proc~fitspline->module~modgvec_vmec_vars proc~fitsplinehalf FitSplineHalf proc~fitsplinehalf->module~modgvec_vmec_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_vmec proc~initmhd3d->module~modgvec_vmec_vars proc~initmhd3d->module~modgvec_mhd3d_vars proc~initsolution~2 InitSolution proc~initsolution~2->module~modgvec_vmec proc~initsolution~2->module~modgvec_vmec_vars proc~initsolution~2->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 proc~vmec3d_visu VMEC3D_visu proc~vmec3d_visu->module~modgvec_vmec_vars proc~vmec_evalsplmode VMEC_EvalSplMode proc~vmec_evalsplmode->module~modgvec_vmec_vars 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_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~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

Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: wp = f64

Working precision


Subroutines

public subroutine sll_s_bsplines_new(bsplines, degree, periodic, xmin, xmax, ncells, breaks)

Allocate and initialize uniform or non-uniform B-splines

Read more…

Arguments

Type IntentOptional Attributes Name
class(sll_c_bsplines), intent(inout), allocatable :: bsplines

allocatable polymorphic object

integer, intent(in) :: degree

spline degree

logical, intent(in) :: periodic

.true. if domain is periodic

real(kind=wp), intent(in) :: xmin

x coordinate of left boundary of domain

real(kind=wp), intent(in) :: xmax

x coordinate of right boundary of domain

integer, intent(in) :: ncells

number of cells in domain (one polynomial per cell)

real(kind=wp), intent(in), optional :: breaks(:)