solid_cells_ogrid_sub

Module

Description

Quick access

Variables:

compute_yresidual, der_ogrid_sbp_surf

Routines:

bval_from_neumann_arr_ogrid(), bval_from_neumann_bdry5(), bval_from_neumann_sbp(), curl_mn_ogrid(), del2_ogrid(), der2_ogrid(), der2_ogrid_bdry5(), der2_ogrid_bdry5_alt(), der2_ogrid_sbp(), der2_ogrid_sbp_experimental(), der6_ogrid(), der_ijm_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijn_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ogrid(), der_ogrid_bdry5(), der_ogrid_sbp(), der_ogrid_sbp_experimental(), der_other_ogrid(), deri_3d_inds_ogrid(), derij_ogrid(), div_mn_ogrid(), dot2_0_ogrid(), dot2_mn_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), g2ij_ogrid(), gij_etc_ogrid(), gij_ogrid(), grad_ogrid(), grad_other_ogrid(), multm2_sym_mn_ogrid(), multmv_mn_ogrid(), set_ghosts_onesided_ogrid(), traceless_strain_ogrid(), u_dot_grad_scl_ogrid(), u_dot_grad_vec_ogrid()

Needed modules

Variables

  • solid_cells_ogrid_sub/compute_yresidual [private]
  • solid_cells_ogrid_sub/der_ogrid_sbp_surf [private]

Subroutines and functions

subroutine  solid_cells_ogrid_sub/grad_ogrid(f, k, g)

Calculate gradient of a scalar, get vector.

Parameters:
  • f (mx_ogrid,my_ogrid,mz_ogrid,mfarray_ogrid) [real,inout] ::

    is the ogrid, k the index of the field to be differentiated and g the pencil (x direction) of the gradient of the scalar field k

    07-feb-17/Jorgen: Adapted from sub.f90

  • k [integer,in] :: ,nder

  • g (nx_ogrid,3) [real,out]

Called from:

in_solid_cell(), time_step_ogrid(), calc_pencils_chemistry_ogrid(), calc_pencils_eos_ogrid_chem(), calc_for_chem_mixture_ogrid(), dyk_dt_ogrid(), calc_diffusion_term_ogrid(), initialize_eos_chemistry(), initialize_chemistry_og(), rprint_chemistry_og(), get_reaction_rate_ogr(), calc_reaction_term_ogr(), calc_heter_reaction_term()

Call to:

der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid(), fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/grad_other_ogrid(f, g)

For non ‘mvar’ variable calculate gradient of a scalar, get vector

26-nov-02/tony: coded

Parameters:
Call to:

der_other_ogrid(), der2_ogrid(), der_ogrid(), derij_ogrid(), fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/del2_ogrid(f, k, del2f)

Calculate del2 of a scalar, get scalar.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

in_solid_cell(), time_step_ogrid(), calc_pencils_chemistry_ogrid(), calc_pencils_eos_ogrid_chem(), calc_for_chem_mixture_ogrid(), dyk_dt_ogrid(), calc_diffusion_term_ogrid(), initialize_eos_chemistry(), initialize_chemistry_og(), rprint_chemistry_og(), get_reaction_rate_ogr(), calc_reaction_term_ogr(), calc_heter_reaction_term()

Call to:

der2_ogrid(), der_ogrid(), derij_ogrid(), fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/g2ij_ogrid(f, k, g)

Calculates the Hessian, i.e. all second derivatives of a scalar.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Call to:

der2_ogrid(), derij_ogrid(), fatal_error(), der_ogrid(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/dot2_mn_ogrid(a, b)

Dot product with itself, to calculate max and rms values of a vector.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

in_solid_cell(), time_step_ogrid()

Call to:

der_ogrid(), fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/gij_ogrid(f, k, g)

Calculate gradient of a vector, return matrix.

07-feb-17/Jorgen: Adapted from sub.f90 16-okt-17/Jorgen: Possibility of gradient squadred is removed, as

the expression is not tested properly, and it should most likely contain a +(1/r)df/dr term

Parameters:
Called from:

in_solid_cell(), time_step_ogrid(), wsnap_ogrid(), map_nearest_grid_ogrid(), interpolate_particles_ogrid()

Call to:

der_ogrid(), fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/div_mn_ogrid(aij, b, a)

Calculate divergence from derivative matrix.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

in_solid_cell(), time_step_ogrid()

Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/traceless_strain_ogrid(uij, divu, sij, uu)

Calculates traceless rate-of-strain tensor sij from derivative tensor uij and divergence divu within each pencil; curvilinear co-ordinates require velocity argument uu, so this is not optional here In-place operation is possible, i.e. uij and sij may refer to the same array.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

in_solid_cell(), time_step_ogrid()

Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/multm2_sym_mn_ogrid(a, b)

Symmetric matrix squared, gives scalar.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

in_solid_cell(), time_step_ogrid()

Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/curl_mn_ogrid(aij, b[, a])

Calculate curl from derivative matrix.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/dot_mn_ogrid(a, b, c)

Dot product, c=a.b, on pencil arrays

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
  • a (,) [real,in]

  • b (,) [real,in]

  • c (*) [real,inout]

Called from:

calc_pencils_chemistry_ogrid(), calc_pencils_eos_ogrid_chem(), calc_for_chem_mixture_ogrid(), dyk_dt_ogrid(), calc_diffusion_term_ogrid(), initialize_eos_chemistry(), initialize_chemistry_og(), rprint_chemistry_og(), get_reaction_rate_ogr(), calc_reaction_term_ogr(), calc_heter_reaction_term(), grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid()

Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/dot2_0_ogrid(a, b)

Dot product, c=a.b, of two simple 3-d arrays.

07-fab-15/Jorgen: Copied from sub.f90

Parameters:
  • a (*) [real,in]

  • b [real,out]

Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/u_dot_grad_vec_ogrid(f, k, gradf, uu, ugradf[, upwind])

u.gradu

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Use :

general (loptest())

Call to:

fatal_error(), u_dot_grad_scl_ogrid(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/u_dot_grad_scl_ogrid(f, k, gradf, uu, ugradf[, upwind])

Do advection-type term u.grad f_k. Assumes gradf to be known, but takes f and k as arguments to be able to calculate upwind correction.

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Use :

general (loptest())

Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid()

Call to:

fatal_error(), dot_mn_ogrid(), doupwind_ogrid(), der6_ogrid(), der2_ogrid(), derij_ogrid(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/doupwind_ogrid(f, k, uu, ugradf)

Calculates upwind correction, works incrementally on ugradf

27-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid()

Call to:

der6_ogrid(), der2_ogrid(), derij_ogrid(), fatal_error(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/multmv_mn_ogrid(a, b, c)

Matrix multiplied with vector, gives vector.

C_i = A_{i,j} B_j

07-feb-17/Jorgen: Adapted from sub.f90

Parameters:
Called from:

in_solid_cell(), time_step_ogrid()

Call to:

der2_ogrid(), derij_ogrid(), fatal_error(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/gij_etc_ogrid(f, iref, aa, aij[, bij[, del2[, graddiv[, lcovariant_derivative]]]])

Calculate B_i,j = eps_ikl A_l,jk and A_l,kk.

05-apr-17/Jorgen - Adapted from gij_etc in sub.f90

Parameters:
Use :

deriv (der2(), derij()), general (loptest())

Called from:

in_solid_cell(), time_step_ogrid(), wsnap_ogrid(), map_nearest_grid_ogrid(), interpolate_particles_ogrid()

Call to:

der2_ogrid(), derij_ogrid(), fatal_error(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/der_ogrid(f, k, df, j)

calculate derivative df_k/dx_j accurate to 6th order, explicit, periodic replace cshifts by explicit construction -> x6.5 faster!

07-feb-17/Jorgen: Adapted from deriv.f90

Parameters:
Called from:

in_solid_cell(), wsnap_ogrid(), map_nearest_grid_ogrid(), interpolate_particles_ogrid(), grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid()

Call to:

der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5(), fatal_error()

subroutine  solid_cells_ogrid_sub/der_other_ogrid(f, df, j)

Along one pencil in NON f variable calculate derivative of a scalar, get scalar accurate to 6th order, explicit, periodic replace cshifts by explicit construction -> x6.5 faster!

26-nov-02/tony: coded - duplicate der_main but without k subscript

then overload the der interface.

25-jun-04/tobi+wolf: adapted for non-equidistant grids 21-feb-07/axel: added 1/r and 1/pomega factors for non-coord basis 30-sep-16/MR: allow results dimensions > nx

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid()

Call to:

der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5(), fatal_error()

subroutine  solid_cells_ogrid_sub/der2_ogrid(f, k, df2, j)

calculate 2nd derivative d^2f_k/dx_j^2 accurate to 6th order, explicit, periodic replace cshifts by explicit construction -> x6.5 faster!

07-feb-17/Jorgen: Adapted from deriv.f90

Parameters:
Called from:

in_solid_cell(), wsnap_ogrid(), map_nearest_grid_ogrid(), interpolate_particles_ogrid(), grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid()

Call to:

der2_ogrid_sbp(), der2_ogrid_bdry5(), der_ogrid(), der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5(), fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/derij_ogrid(f, k, df, i, j)

calculate 2nd derivative with respect to two different directions input: scalar, output: scalar accurate to 6th order, explicit, periodic

17-feb-17/Jorgen: Adapted from deriv.f90 05-apr-17/Jorgen: Added summation by parts operator near cylinder surface

Parameters:
Called from:

in_solid_cell(), wsnap_ogrid(), map_nearest_grid_ogrid(), interpolate_particles_ogrid(), grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid()

Call to:

der_ijm_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_sbp(), der_ijn_ogrid_bdry5(), fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/der6_ogrid(f, k, df, j)

Calculats D^(6)*dx^5/60, which is the upwind correction of centered derivatives.

27-feb-17/Jorgen: Adapted from deriv.f90

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid()

Call to:

fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/deri_3d_inds_ogrid(f, df, inds, j[, lignored[, lnometric]])

dummy routine for compatibility

27-feb-17/Jorgen: Adapted from deriv.f90

Parameters:
Call to:

fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/set_ghosts_onesided_ogrid(ivar)

Set ghost points for onesided boundary conditions with Dirichlet BC on the cylidner surface. Only works for the radial direction.

16-feb-17/Jorgen: Adapted from deriv.f90.

Parameters:

ivar [integer]

Called from:

in_solid_cell()

Call to:

fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/bval_from_neumann_arr_ogrid()

Calculates the boundary value from the Neumann BC d f/d x_i = val employing one-sided difference formulae. val depends on x,y.

16-feb-17/Jorgen: Adapted from deriv.f90 jan-19/Eva: added BC for chemistry

Called from:

in_solid_cell()

Call to:

fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/bval_from_neumann_sbp(f_og)

Calculates the boundary value from the Neumann BC d f/d x_i = val employing one-sided difference formulae. val depends on x,y. Only implemented for df/dx_i = 0 at boundary.

16-feb-17/Jorgen: Adapted from deriv.f90 07-nov-18/Jonas: Added treatment for cases with temperature gradient jan-19/Eva: added BC for chemistry

Parameters:

f_og (mx_ogrid,my_ogrid,mz_ogrid,mfarray_ogrid) [real,inout]

Use :

sharedvariables (get_shared_variable())

Called from:

in_solid_cell()

Call to:

fatal_error(), der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/bval_from_neumann_bdry5(f_og)

Calculates the boundary value from the Neumann BC d f/d x_i = val employing one-sided difference formulae. val depends on x,y. Only implemented for df/dx_i = 0 at boundary.

14-okt-17/Jorgen: Adapted from deriv.f90

Parameters:

f_og (mx_ogrid,my_ogrid,mz_ogrid,mfarray_ogrid) [real,inout]

Called from:

in_solid_cell()

Call to:

der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/der_ogrid_sbp(f, df)

Summation by parts boundary condition for first derivative. Only implemented in radial direction.

21-mar-17/Jorgen: Coded

Parameters:
  • f (9) [real,in]

  • df (6) [real,out]

Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid(), der6_ogrid(), deri_3d_inds_ogrid(), set_ghosts_onesided_ogrid(), bval_from_neumann_arr_ogrid(), bval_from_neumann_sbp(), bval_from_neumann_bdry5(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_bdry5(), der2_ogrid_bdry5_alt(), der2_ogrid_sbp(), der_ijm_ogrid_sbp(), der_ijn_ogrid_sbp()

Call to:

der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/der_ogrid_bdry5(f, df)

Fifth order boundary closures for first derivatives Only implemented in radial direction.

13-okt-17/Jorgen: Coded

Parameters:
  • f (6) [real,in]

  • df (3) [real,out]

Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid(), der6_ogrid(), deri_3d_inds_ogrid(), set_ghosts_onesided_ogrid(), bval_from_neumann_arr_ogrid(), bval_from_neumann_sbp(), bval_from_neumann_bdry5(), der_ogrid_sbp(), der_ogrid_bdry5(), der2_ogrid_bdry5(), der2_ogrid_bdry5_alt(), der2_ogrid_sbp(), der_ijm_ogrid_sbp(), der_ijn_ogrid_sbp(), der_ijm_ogrid_bdry5(), der_ijn_ogrid_bdry5()

Call to:

der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/der2_ogrid_bdry5(f, df)

Fifth order boundary closures for second derivatives Only implemented in radial direction.

13-okt-17/Jorgen: Coded

Parameters:
  • f (7) [real,in]

  • df (3) [real,out]

Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid()

Call to:

der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/der2_ogrid_bdry5_alt(f, df2, k)

Fifth order boundary closures for second derivatives Only implemented in radial direction. Alternative edition, that uses first derivatives twice, instead of explicit use of second derivatives

13-okt-17/Jorgen: Coded

Parameters:
Call to:

der_ogrid_bdry5(), der_ogrid_sbp()

subroutine  solid_cells_ogrid_sub/der2_ogrid_sbp(f, df2)

Summation by parts boundary condition for second derivative. Only implemented in radial direction.

21-mar-17/Jorgen: Coded

Parameters:
  • f (9) [real,in]

  • df2 (6) [real,out]

Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid()

Call to:

der_ogrid_sbp(), der_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/der_ijm_ogrid_sbp(f, df, k)

Cross derivatives for SBP boundary closures Only implemented in radial direction.

10-okt-17/Jorgen: Coded

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid()

Call to:

der_ogrid_sbp(), der_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/der_ijn_ogrid_sbp(f, df, k)

Cross derivatives for SBP boundary closures Only implemented in radial direction.

10-okt-17/Jorgen: Coded

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid()

Call to:

der_ogrid_sbp(), der_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/der_ijm_ogrid_bdry5(f, df, k)

Cross derivatives for fifth order boundary closures Only implemented in radial direction.

13-okt-17/Jorgen: Coded

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid()

Call to:

der_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/der_ijn_ogrid_bdry5(f, df, k)

Cross derivatives for fifth order boundary closures Only implemented in radial direction.

13-okt-17/Jorgen: Coded

Parameters:
Called from:

grad_ogrid(), grad_other_ogrid(), del2_ogrid(), g2ij_ogrid(), dot2_mn_ogrid(), gij_ogrid(), div_mn_ogrid(), traceless_strain_ogrid(), multm2_sym_mn_ogrid(), curl_mn_ogrid(), dot_mn_ogrid(), dot2_0_ogrid(), u_dot_grad_vec_ogrid(), u_dot_grad_scl_ogrid(), doupwind_ogrid(), multmv_mn_ogrid(), gij_etc_ogrid(), der_ogrid(), der_other_ogrid(), der2_ogrid(), derij_ogrid()

Call to:

der_ogrid_bdry5()

subroutine  solid_cells_ogrid_sub/der_ogrid_sbp_experimental(f, k, df)

Summation by parts boundary condition for first derivative. Only implemented in radial direction. This experimental routine is for the outer boundary

12-may-17/Jorgen: Coded

Parameters:
  • f (9,my_ogrid,mz_ogrid,mfarray_ogrid) [real,in]

  • k [integer,in]

  • df (6) [real,out]

subroutine  solid_cells_ogrid_sub/der2_ogrid_sbp_experimental(f, k, df2)

Summation by parts boundary condition for second derivative. Only implemented in radial direction. This experimental routine is for the outer boundary

12-may-17/Jorgen: Coded

Parameters:
  • f (9,my_ogrid,mz_ogrid,mfarray_ogrid) [real,in]

  • k [integer,in]

  • df2 (6) [real,out]