MODgvec_hmap_cyl Module

Module ** hmap_cyl **

contains the type that points to the routines of one chosen hmap_cyl


Uses

  • module~~modgvec_hmap_cyl~~UsesGraph module~modgvec_hmap_cyl MODgvec_hmap_cyl module~modgvec_c_hmap MODgvec_c_hmap module~modgvec_hmap_cyl->module~modgvec_c_hmap module~modgvec_globals MODgvec_Globals module~modgvec_hmap_cyl->module~modgvec_globals module~modgvec_c_hmap->module~modgvec_globals iso_fortran_env iso_fortran_env module~modgvec_globals->iso_fortran_env

Used by

  • module~~modgvec_hmap_cyl~~UsedByGraph module~modgvec_hmap_cyl MODgvec_hmap_cyl module~modgvec_hmap MODgvec_hmap module~modgvec_hmap->module~modgvec_hmap_cyl module~modgvec_mhd3d_vars MODgvec_MHD3D_Vars module~modgvec_mhd3d_vars->module~modgvec_hmap module~modgvec_readstate_vars MODgvec_ReadState_Vars module~modgvec_readstate_vars->module~modgvec_hmap module~modgvec_sfl_boozer MODgvec_SFL_Boozer module~modgvec_sfl_boozer->module~modgvec_hmap module~modgvec_transform_sfl MODgvec_Transform_SFL module~modgvec_transform_sfl->module~modgvec_hmap module~modgvec_transform_sfl->module~modgvec_sfl_boozer proc~evaluate_hmap evaluate_hmap proc~evaluate_hmap->module~modgvec_hmap proc~evaluate_hmap->module~modgvec_mhd3d_vars proc~evaluate_hmap_only evaluate_hmap_only proc~evaluate_hmap_only->module~modgvec_hmap proc~evaluate_hmap_only->module~modgvec_mhd3d_vars proc~evaluate_jac_h_derivs evaluate_jac_h_derivs proc~evaluate_jac_h_derivs->module~modgvec_hmap proc~evaluate_jac_h_derivs->module~modgvec_mhd3d_vars proc~evaluate_metric_derivs evaluate_metric_derivs proc~evaluate_metric_derivs->module~modgvec_hmap proc~evaluate_metric_derivs->module~modgvec_mhd3d_vars proc~init_la_from_solution Init_LA_from_Solution proc~init_la_from_solution->module~modgvec_hmap proc~init_la_from_solution->module~modgvec_mhd3d_vars proc~initmhd3d t_functional_mhd3d%InitMHD3D proc~initmhd3d->module~modgvec_hmap proc~initmhd3d->module~modgvec_mhd3d_vars proc~lambda_solve Lambda_solve proc~lambda_solve->module~modgvec_hmap proc~readstatefilefromascii ReadStateFileFromASCII proc~readstatefilefromascii->module~modgvec_hmap proc~readstatefilefromascii->module~modgvec_readstate_vars proc~sfl_boozer_new sfl_boozer_new proc~sfl_boozer_new->module~modgvec_hmap 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~buildtransform_sfl t_transform_sfl%BuildTransform_SFL proc~buildtransform_sfl->module~modgvec_sfl_boozer proc~eval_prof_r eval_prof_r proc~eval_prof_r->module~modgvec_readstate_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_boozer_list_tz_all evaluate_boozer_list_tz_all proc~evaluate_boozer_list_tz_all->module~modgvec_sfl_boozer 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_pw evaluate_jac_h_derivs_pw proc~evaluate_jac_h_derivs_pw->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_readstate Finalize_ReadState proc~finalize_readstate->module~modgvec_readstate_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_boozer get_boozer proc~get_boozer->module~modgvec_mhd3d_vars proc~get_boozer->module~modgvec_sfl_boozer proc~get_field Get_Field proc~get_field->module~modgvec_readstate_vars proc~gvec_to_jorek_prepare gvec_to_jorek_prepare proc~gvec_to_jorek_prepare->module~modgvec_readstate_vars proc~init Init proc~init->module~modgvec_mhd3d_vars proc~init_base Init_Base proc~init_base->module~modgvec_readstate_vars proc~init_boozer init_boozer proc~init_boozer->module~modgvec_mhd3d_vars proc~init_boozer->module~modgvec_sfl_boozer proc~init_gvec_to_jorek init_gvec_to_jorek proc~init_gvec_to_jorek->module~modgvec_readstate_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~readstate ReadState proc~readstate->module~modgvec_mhd3d_vars proc~readstate->module~modgvec_readstate_vars proc~restartfromstate RestartFromState proc~restartfromstate->module~modgvec_mhd3d_vars proc~restartfromstate->module~modgvec_readstate_vars proc~rungvec rungvec proc~rungvec->module~modgvec_mhd3d_vars proc~select_base select_base proc~select_base->module~modgvec_mhd3d_vars proc~select_base_dofs select_base_dofs proc~select_base_dofs->module~modgvec_mhd3d_vars proc~transform_sfl_init t_transform_sfl%transform_SFL_init proc~transform_sfl_init->module~modgvec_sfl_boozer proc~writestatetoascii WriteStateToASCII proc~writestatetoascii->module~modgvec_mhd3d_vars program~gvec_post GVEC_POST program~gvec_post->module~modgvec_mhd3d_vars program~gvec_post->module~modgvec_readstate_vars

Variables

Type Visibility Attributes Name Initial
logical, public :: test_called = .FALSE.

Interfaces

public interface t_hmap_cyl

  • public function hmap_cyl_init() result(sf)

    initialize the type hmap_cyl, reading from parameterfile and then call init_params

    Arguments

    None

    Return Value type(t_hmap_cyl)

    self

  • public function hmap_cyl_init_params(cyl_len) result(sf)

    initialize the type hmap_cyl, given the parameters as arguments

    Arguments

    Type IntentOptional Attributes Name
    real(kind=wp), intent(in) :: cyl_len

    total length of cylinder

    Return Value type(t_hmap_cyl)

    self

public interface t_hmap_cyl_auxvar

  • public function hmap_cyl_init_aux(sf, zeta, do_2nd_der) result(xv)

    Allocate and initialize auxiliary variable at zeta position.

    Arguments

    Type IntentOptional Attributes Name
    class(t_hmap_cyl), intent(in) :: sf
    real(kind=wp), intent(in) :: zeta
    logical, intent(in) :: do_2nd_der

    compute second derivative and store second derivative terms

    Return Value type(t_hmap_cyl_auxvar)


Derived Types

type, public, extends(c_hmap_auxvar) ::  t_hmap_cyl_auxvar

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: zeta
logical, public :: do_2nd_der

Constructor

public function hmap_cyl_init_aux (sf, zeta, do_2nd_der)

Allocate and initialize auxiliary variable at zeta position.

type, public, extends(c_hmap) ::  t_hmap_cyl

Components

Type Visibility Attributes Name Initial
integer, public :: which_hmap

points to hmap (1: MHD3D)

integer, public :: nfp = -1

number of field periods used in hmap. If =-1, its not used

logical, public :: initialized = .FALSE.
real(kind=wp), public :: cyl_len

Constructor

public function hmap_cyl_init ()

initialize the type hmap_cyl, reading from parameterfile and then call init_params

public function hmap_cyl_init_params (cyl_len)

initialize the type hmap_cyl, given the parameters as arguments

Finalizations Procedures

final :: hmap_cyl_free

Type-Bound Procedures

procedure, public :: eval_aux => hmap_eval_aux
procedure, public :: eval_aux_all => hmap_eval_aux_all
procedure, public :: eval_dxdq_aux => hmap_eval_dxdq_aux
procedure, public :: eval_dxdq_aux_all => hmap_eval_dxdq_aux_all
procedure, public :: eval_Jh_aux => hmap_eval_Jh_aux
procedure, public :: eval_Jh_aux_all => hmap_eval_Jh_aux_all
procedure, public :: eval_Jh_dq_aux => hmap_eval_Jh_dq_aux
procedure, public :: eval_Jh_dq_aux_all => hmap_eval_Jh_dq_aux_all
procedure, public :: eval_gij_aux => hmap_eval_gij_aux
procedure, public :: eval_gij_aux_all => hmap_eval_gij_aux_all
procedure, public :: eval_gij_dq_aux => hmap_eval_gij_dq_aux
procedure, public :: eval_gij_dq_aux_all => hmap_eval_gij_dq_aux_all
procedure, public :: get_dx_dqi_aux => hmap_get_dx_dqi_aux
procedure, public :: get_ddx_dqij_aux => hmap_get_ddx_dqij_aux
procedure, public :: eval_all => hmap_cyl_eval_all
procedure, public :: eval => hmap_cyl_eval
procedure, public :: eval_dxdq => hmap_cyl_eval_dxdq
procedure, public :: eval_Jh => hmap_cyl_eval_Jh
procedure, public :: eval_Jh_dq => hmap_cyl_eval_Jh_dq
procedure, public :: eval_gij => hmap_cyl_eval_gij
procedure, public :: eval_gij_dq => hmap_cyl_eval_gij_dq
procedure, public :: get_dx_dqi => hmap_cyl_get_dx_dqi
procedure, public :: get_ddx_dqij => hmap_cyl_get_ddx_dqij

Functions

public function hmap_cyl_init() result(sf)

initialize the type hmap_cyl, reading from parameterfile and then call init_params

Arguments

None

Return Value type(t_hmap_cyl)

self

public function hmap_cyl_init_params(cyl_len) result(sf)

initialize the type hmap_cyl, given the parameters as arguments

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: cyl_len

total length of cylinder

Return Value type(t_hmap_cyl)

self

public function hmap_cyl_init_aux(sf, zeta, do_2nd_der) result(xv)

Allocate and initialize auxiliary variable at zeta position.

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: zeta
logical, intent(in) :: do_2nd_der

compute second derivative and store second derivative terms

Return Value type(t_hmap_cyl_auxvar)

public function hmap_cyl_eval(sf, q_in) result(x_out)

evaluate the mapping h (X^1,X^2,zeta) -> (x,y,z)

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)

Return Value real(kind=wp), (3)

public function hmap_cyl_eval_dxdq(sf, q_in, q_vec) result(dxdq_qvec)

evaluate total derivative of the mapping sum k=1,3 (dx(1:3)/dq^k) q_vec^k, where dx(1:3)/dq^k, k=1,2,3 is evaluated at q_in=(X^1,X^2,zeta) ,

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)
real(kind=wp), intent(in) :: q_vec(3)

Return Value real(kind=wp), (3)

public function hmap_cyl_eval_Jh(sf, q_in) result(Jh)

evaluate Jacobian of mapping h: J_h=sqrt(det(G)) at q=(X^1,X^2,zeta)

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)

Return Value real(kind=wp)

public function hmap_cyl_eval_Jh_dq(sf, q_in, q_vec) result(Jh_dq)

evaluate derivative of Jacobian of mapping h: dJ_h/dq^k, k=1,2 at q=(X^1,X^2,zeta)

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)
real(kind=wp), intent(in) :: q_vec(3)

Return Value real(kind=wp)

public function hmap_cyl_eval_gij(sf, qL_in, q_G, qR_in) result(g_ab)

evaluate sum_ij (qL_i (G_ij(q_G)) qR_j) ,, where qL=(dX^1/dalpha,dX^2/dalpha ,dzeta/dalpha) and qR=(dX^1/dbeta,dX^2/dbeta ,dzeta/dbeta) and dzeta_dalpha then known to be either 0.0 for ds and dtheta and 1.0 for dzeta

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: qL_in(3)
real(kind=wp), intent(in) :: q_G(3)
real(kind=wp), intent(in) :: qR_in(3)

Return Value real(kind=wp)

public function hmap_cyl_eval_gij_dq(sf, qL_in, q_G, qR_in, q_vec) result(g_ab_dq)

evaluate sum_ij (qL_i d/dq^k(G_ij(q_G)) qR_j) , k=1,2 where qL=(dX^1/dalpha,dX^2/dalpha [,dzeta/dalpha]) and qR=(dX^1/dbeta,dX^2/dbeta [,dzeta/dbeta]) and where qL=(dX^1/dalpha,dX^2/dalpha ,dzeta/dalpha) and qR=(dX^1/dbeta,dX^2/dbeta ,dzeta/dbeta) and dzeta_dalpha then known to be either 0.0 for ds and dtheta and 1.0 for dzeta

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: qL_in(3)
real(kind=wp), intent(in) :: q_G(3)
real(kind=wp), intent(in) :: qR_in(3)
real(kind=wp), intent(in) :: q_vec(3)

Return Value real(kind=wp)


Subroutines

public subroutine hmap_cyl_free(sf)

finalize the type hmap_cyl

Arguments

Type IntentOptional Attributes Name
type(t_hmap_cyl), intent(inout) :: sf

self

public subroutine hmap_cyl_eval_all(sf, ndims, dim_zeta, xv, q1, q2, dX1_dt, dX2_dt, dX1_dz, dX2_dz, Jh, g_tt, g_tz, g_zz, Jh_dq1, g_tt_dq1, g_tz_dq1, g_zz_dq1, Jh_dq2, g_tt_dq2, g_tz_dq2, g_zz_dq2, g_t1, g_t2, g_z1, g_z2, Gh11, Gh22)

evaluate all metrics necesseray for optimizer

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
integer, intent(in) :: ndims(3)

3D dimensions of input arrays

integer, intent(in) :: dim_zeta

which dimension is zeta dependent

class(c_hmap_auxvar), intent(in) :: xv(ndims(dim_zeta))

zeta point positions

real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: q1
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: q2
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX1_dt
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX2_dt
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX1_dz
real(kind=wp), intent(in), DIMENSION(ndims(1),ndims(2),ndims(3)) :: dX2_dz
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Jh
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tt
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tz
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_zz
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Jh_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tt_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tz_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_zz_dq1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Jh_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tt_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_tz_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_zz_dq2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_t1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_t2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_z1
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: g_z2
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Gh11
real(kind=wp), intent(out), DIMENSION(ndims(1),ndims(2),ndims(3)) :: Gh22

public pure subroutine hmap_cyl_eval_all_e(cyl_len, q1, q2, dX1_dt, dX2_dt, dX1_dz, dX2_dz, Jh, g_tt, g_tz, g_zz, Jh_dq1, g_tt_dq1, g_tz_dq1, g_zz_dq1, Jh_dq2, g_tt_dq2, g_tz_dq2, g_zz_dq2, g_t1, g_t2, g_z1, g_z2, Gh11, Gh22)

evaluate all quantities at one given point (elemental)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: cyl_len

input parameter

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

solution variables q1,q2

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

solution variables q1,q2

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

theta derivative of solution variables q1,q2

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

theta derivative of solution variables q1,q2

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

zeta derivative of solution variables q1,q2

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

zeta derivative of solution variables q1,q2

real(kind=wp), intent(out) :: Jh

Jac,1/Jac,g_{ab} with a=theta/zeta b=theta/zeta

real(kind=wp), intent(out) :: g_tt

Jac,1/Jac,g_{ab} with a=theta/zeta b=theta/zeta

real(kind=wp), intent(out) :: g_tz

Jac,1/Jac,g_{ab} with a=theta/zeta b=theta/zeta

real(kind=wp), intent(out) :: g_zz

Jac,1/Jac,g_{ab} with a=theta/zeta b=theta/zeta

real(kind=wp), intent(out) :: Jh_dq1

and their variation vs q1

real(kind=wp), intent(out) :: g_tt_dq1

and their variation vs q1

real(kind=wp), intent(out) :: g_tz_dq1

and their variation vs q1

real(kind=wp), intent(out) :: g_zz_dq1

and their variation vs q1

real(kind=wp), intent(out) :: Jh_dq2

and their variation vs q2

real(kind=wp), intent(out) :: g_tt_dq2

and their variation vs q2

real(kind=wp), intent(out) :: g_tz_dq2

and their variation vs q2

real(kind=wp), intent(out) :: g_zz_dq2

and their variation vs q2

real(kind=wp), intent(out) :: g_t1

dq^{i}/dthetaG^{i1}, dq^{i}/dthetaG^{i2}, and dq^{i}/dzetaG^{i1}, dq^{i}/dzetaG^{i2} and G^{11},G^{22}

real(kind=wp), intent(out) :: g_t2

dq^{i}/dthetaG^{i1}, dq^{i}/dthetaG^{i2}, and dq^{i}/dzetaG^{i1}, dq^{i}/dzetaG^{i2} and G^{11},G^{22}

real(kind=wp), intent(out) :: g_z1

dq^{i}/dthetaG^{i1}, dq^{i}/dthetaG^{i2}, and dq^{i}/dzetaG^{i1}, dq^{i}/dzetaG^{i2} and G^{11},G^{22}

real(kind=wp), intent(out) :: g_z2

dq^{i}/dthetaG^{i1}, dq^{i}/dthetaG^{i2}, and dq^{i}/dzetaG^{i1}, dq^{i}/dzetaG^{i2} and G^{11},G^{22}

real(kind=wp), intent(out) :: Gh11

dq^{i}/dthetaG^{i1}, dq^{i}/dthetaG^{i2}, and dq^{i}/dzetaG^{i1}, dq^{i}/dzetaG^{i2} and G^{11},G^{22}

real(kind=wp), intent(out) :: Gh22

dq^{i}/dthetaG^{i1}, dq^{i}/dthetaG^{i2}, and dq^{i}/dzetaG^{i1}, dq^{i}/dzetaG^{i2} and G^{11},G^{22}

public subroutine hmap_cyl_get_dx_dqi(sf, q_in, dx_dq1, dx_dq2, dx_dq3)

evaluate all first derivatives dx(1:3)/dq^i, i=1,2,3 , at q_in=(X^1,X^2,zeta),

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)
real(kind=wp), intent(out) :: dx_dq1(3)
real(kind=wp), intent(out) :: dx_dq2(3)
real(kind=wp), intent(out) :: dx_dq3(3)

public subroutine hmap_cyl_get_ddx_dqij(sf, q_in, ddx_dq11, ddx_dq12, ddx_dq13, ddx_dq22, ddx_dq23, ddx_dq33)

evaluate all second derivatives d^2x(1:3)/(dq^i dq^j), i,j=1,2,3 is evaluated at q_in=(X^1,X^2,zeta),

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(in) :: sf
real(kind=wp), intent(in) :: q_in(3)
real(kind=wp), intent(out) :: ddx_dq11(3)
real(kind=wp), intent(out) :: ddx_dq12(3)
real(kind=wp), intent(out) :: ddx_dq13(3)
real(kind=wp), intent(out) :: ddx_dq22(3)
real(kind=wp), intent(out) :: ddx_dq23(3)
real(kind=wp), intent(out) :: ddx_dq33(3)

public subroutine hmap_cyl_test(sf)

test hmap_cyl

Arguments

Type IntentOptional Attributes Name
class(t_hmap_cyl), intent(inout) :: sf

self