Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scalar_pnpn::scalar_pnpn_t Type Referenceabstract
Inheritance diagram for scalar_pnpn::scalar_pnpn_t:
Collaboration diagram for scalar_pnpn::scalar_pnpn_t:

Public Member Functions

procedure, pass(this) init (this, msh, coef, gs, params, numerics_params, user, chkp, ulag, vlag, wlag, time_scheme, rho)
 Constructor.
 
procedure, pass(this) restart (this, chkp)
 To restart.
 
procedure, pass(this) register_checkpoint (this, chkp)
 Register Pn/Pn-specific fields for checkpointing.
 
procedure, pass(this) free (this)
 Destructor.
 
procedure, pass(this) step (this, time, ext_bdf, dt_controller, ksp_results)
 Solve for the current timestep.
 
procedure, pass(this) apply_strong_bcs (this, time)
 Apply strong boundary conditions.
 
procedure, pass(this) setup_bcs_ (this, user)
 Setup the boundary conditions.
 
procedure, pass(this) scheme_init (this, msh, c_xh, gs_xh, params, scheme, user, rho)
 Constructor for the base type.
 
procedure, pass(this) scheme_free (this)
 Destructor for the base type.
 
procedure, pass(this) validate (this)
 Validate successful initialization.
 
procedure, pass(this) set_initial_condition (this, user, scalar_index)
 Set the initial condition.
 
procedure, pass(this) register_checkpoint (this, chkp)
 Register the scheme fields for checkpointing.
 
procedure, pass(this) set_material_properties (this, params, user)
 Set lambda and cp.
 
procedure, pass(this) update_material_properties (this, time)
 Update variable material properties.
 
procedure(scalar_scheme_init_intrf), deferred, pass init (this, msh, coef, gs, params, numerics_params, user, chkp, ulag, vlag, wlag, time_scheme, rho)
 Constructor.
 
procedure(scalar_scheme_free_intrf), deferred, pass free (this)
 Destructor.
 
procedure(scalar_scheme_step_intrf), deferred, pass step (this, time, ext_bdf, dt_controller, ksp_results)
 Solve for the current timestep.
 
procedure(scalar_scheme_restart_intrf), deferred, pass restart (this, chkp)
 Restart from a checkpoint.
 

Public Attributes

type(field_t) s_res
 The residual of the transport equation.
 
type(field_t) ds
 Solution increment.
 
class(ax_t), allocatable ax
 Helmholz operator.
 
type(projection_t) proj_s
 Solution projection.
 
type(scalar_bc_projector_t) bc_projector
 Projector for the scalar increment constraints.
 
class(advection_t), allocatable adv
 Advection operator.
 
logical oifs
 
type(field_t) advs
 
class(scalar_residual_t), allocatable res
 Computes the residual of the equation, i.e. s_res.
 
class(rhs_maker_ext_t), allocatable makeext
 Contributions to kth order extrapolation scheme.
 
class(rhs_maker_bdf_t), allocatable makebdf
 Contributions to the RHS from lagged BDF terms.
 
class(rhs_maker_oifs_t), allocatable makeoifs
 Contributions to the RHS from the OIFS method.
 
type(field_t) abx1
 Lag arrays.
 
type(field_t) abx2
 
type(field_series_t), pointer ulag => null()
 Fluid velocity histories used by OIFS scalar advection.
 
type(field_series_t), pointer vlag => null()
 
type(field_series_t), pointer wlag => null()
 
character(len=:), allocatable name
 A name that can be used to distinguish this solver in e.g. user routines.
 
type(field_t), pointer u
 x-component of Velocity
 
type(field_t), pointer v
 y-component of Velocity
 
type(field_t), pointer w
 z-component of Velocity
 
type(field_t), pointer s
 The scalar.
 
type(field_series_t) slag
 Lag arrays, i.e. solutions at previous timesteps.
 
type(space_t), pointer xh
 Function space \( X_h \).
 
type(dofmap_t), pointer dm_xh
 Dofmap associated with \( X_h \).
 
type(gs_t), pointer gs_xh
 Gather-scatter associated with \( X_h \).
 
type(coef_t), pointer c_xh
 Coefficients associated with \( X_h \).
 
type(field_t), pointer f_xh => null()
 Right-hand side.
 
type(scalar_source_term_t) source_term
 The source term for equation.
 
class(ksp_t), allocatable ksp
 Krylov solver.
 
integer ksp_maxiter
 Max iterations in the Krylov solver.
 
integer projection_dim
 Projection space size.
 
integer projection_activ_step
 
class(pc_t), allocatable pc
 Preconditioner.
 
type(bc_list_t) bcs
 List of boundary conditions, including the user one.
 
type(json_file), pointer params => null()
 Case parameters.
 
type(mesh_t), pointer msh => null()
 Mesh.
 
type(chkp_t), pointer chkp => null()
 Checkpoint for restarts.
 
character(len=:), allocatable nut_field_name
 The turbulent kinematic viscosity field name.
 
character(len=:), allocatable alphat_field_name
 The turbulent diffusivity field name.
 
type(field_t), pointer rho => null()
 Density.
 
type(field_t), pointer lambda => null()
 Thermal diffusivity.
 
type(field_t), pointer cp => null()
 Specific heat capacity.
 
type(field_t), pointer lambda_tot => null()
 Total diffusivity.
 
real(kind=rp) pr_turb
 Turbulent Prandtl number.
 
type(field_list_t) material_properties
 Field list with cp and lambda.
 
logical freeze = .false.
 Freeze the scheme, i.e. do nothing in step()
 
logical svv_enabled = .false.
 Whether spectral vanishing viscosity is enabled.
 
type(svv_t), allocatable svv
 Spectral vanishing viscosity data.
 

Static Public Attributes

procedure(user_material_properties_intf), pointer, nopass user_material_properties => null()
 

Detailed Description

Definition at line 79 of file scalar_pnpn.f90.

Member Function/Subroutine Documentation

◆ apply_strong_bcs()

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::apply_strong_bcs ( class(scalar_pnpn_t), intent(inout)  this,
type(time_state_t), intent(in)  time 
)
Parameters
timeThe current time state.

Definition at line 138 of file scalar_pnpn.f90.

◆ free() [1/2]

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::free ( class(scalar_pnpn_t), intent(inout)  this)

Definition at line 134 of file scalar_pnpn.f90.

◆ free() [2/2]

procedure(scalar_scheme_free_intrf), deferred, pass scalar_scheme::scalar_scheme_t::free ( class(scalar_scheme_t), intent(inout)  this)
pure virtualinherited

Definition at line 166 of file scalar_scheme.f90.

◆ init() [1/2]

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::init ( class(scalar_pnpn_t), intent(inout), target  this,
type(mesh_t), intent(in), target  msh,
type(coef_t), intent(in), target  coef,
type(gs_t), intent(inout), target  gs,
type(json_file), intent(inout), target  params,
type(json_file), intent(inout), target  numerics_params,
type(user_t), intent(in), target  user,
type(chkp_t), intent(inout), target  chkp,
type(field_series_t), intent(in), target  ulag,
type(field_series_t), intent(in), target  vlag,
type(field_series_t), intent(in), target  wlag,
type(time_scheme_controller_t), intent(in), target  time_scheme,
type(field_t), intent(in), target  rho 
)
Parameters
mshThe mesh.
coefThe coefficients.
gsThe gather-scatter.
paramsThe case parameter file in json.
userType with user-defined procedures.
chkpSet up checkpoint for restarts.
ulagLag arrays for the x velocity component.
vlagLag arrays for the y velocity component.
wlagLag arrays for the z velocity component.
time_schemeThe time-integration controller.
rhoThe fluid density.

Definition at line 127 of file scalar_pnpn.f90.

◆ init() [2/2]

procedure(scalar_scheme_init_intrf), deferred, pass scalar_scheme::scalar_scheme_t::init ( class(scalar_scheme_t), intent(inout), target  this,
type(mesh_t), intent(in), target  msh,
type(coef_t), intent(in), target  coef,
type(gs_t), intent(inout), target  gs,
type(json_file), intent(inout), target  params,
type(json_file), intent(inout), target  numerics_params,
type(user_t), intent(in), target  user,
type(chkp_t), intent(inout), target  chkp,
type(field_series_t), intent(in), target  ulag,
type(field_series_t), intent(in), target  vlag,
type(field_series_t), intent(in), target  wlag,
type(time_scheme_controller_t), intent(in), target  time_scheme,
type(field_t), intent(in), target  rho 
)
pure virtualinherited

Definition at line 164 of file scalar_scheme.f90.

◆ register_checkpoint() [1/2]

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::register_checkpoint ( class(scalar_pnpn_t), intent(inout), target  this,
type(chkp_t), intent(inout)  chkp 
)

Definition at line 131 of file scalar_pnpn.f90.

◆ register_checkpoint() [2/2]

procedure, pass(this) scalar_scheme::scalar_scheme_t::register_checkpoint ( class(scalar_scheme_t), intent(inout), target  this,
type(chkp_t), intent(inout)  chkp 
)
inherited
Parameters
chkpCheckpoint object to register with.

Definition at line 155 of file scalar_scheme.f90.

◆ restart() [1/2]

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::restart ( class(scalar_pnpn_t), intent(inout), target  this,
type(chkp_t), intent(inout)  chkp 
)

Definition at line 129 of file scalar_pnpn.f90.

◆ restart() [2/2]

procedure(scalar_scheme_restart_intrf), deferred, pass scalar_scheme::scalar_scheme_t::restart ( class(scalar_scheme_t), intent(inout), target  this,
type(chkp_t), intent(inout)  chkp 
)
pure virtualinherited

Definition at line 170 of file scalar_scheme.f90.

◆ scheme_free()

procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_free ( class(scalar_scheme_t), intent(inout)  this)
inherited

Definition at line 148 of file scalar_scheme.f90.

◆ scheme_init()

procedure, pass(this) scalar_scheme::scalar_scheme_t::scheme_init ( class(scalar_scheme_t), intent(inout), target  this,
type(mesh_t), intent(in), target  msh,
type(coef_t), intent(in), target  c_xh,
type(gs_t), intent(inout), target  gs_xh,
type(json_file), intent(inout), target  params,
character(len=*), intent(in)  scheme,
type(user_t), intent(in), target  user,
type(field_t), intent(in), target  rho 
)
inherited
Parameters
mshThe mesh.
c_XhThe coefficients.
gs_XhThe gather-scatter.
paramsThe parameter dictionary in json.
schemeThe name of the scalar scheme.
userType with user-defined procedures.
rhoThe density of the fluid.

Definition at line 146 of file scalar_scheme.f90.

◆ set_initial_condition()

procedure, pass(this) scalar_scheme::scalar_scheme_t::set_initial_condition ( class(scalar_scheme_t), intent(inout)  this,
type(user_t), intent(in)  user,
integer, intent(in)  scalar_index 
)
inherited
Parameters
userType with user-defined procedures.
scalar_indexIndex of the scalar in a field file.

Definition at line 152 of file scalar_scheme.f90.

◆ set_material_properties()

procedure, pass(this) scalar_scheme::scalar_scheme_t::set_material_properties ( class(scalar_scheme_t), intent(inout)  this,
type(json_file), intent(inout)  params,
type(user_t), intent(in), target  user 
)
inherited
Parameters
paramsThe case file configuration dictionary.
userThe user interface.

Definition at line 158 of file scalar_scheme.f90.

◆ setup_bcs_()

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::setup_bcs_ ( class(scalar_pnpn_t), intent(inout), target  this,
type(user_t), intent(in), target  user 
)
Parameters
userThe user object binding the user-defined routines.

Definition at line 140 of file scalar_pnpn.f90.

◆ step() [1/2]

procedure, pass(this) scalar_pnpn::scalar_pnpn_t::step ( class(scalar_pnpn_t), intent(inout)  this,
type(time_state_t), intent(in)  time,
type(time_scheme_controller_t), intent(in)  ext_bdf,
type(time_step_controller_t), intent(in)  dt_controller,
type(ksp_monitor_t), intent(inout)  ksp_results 
)

Definition at line 136 of file scalar_pnpn.f90.

◆ step() [2/2]

procedure(scalar_scheme_step_intrf), deferred, pass scalar_scheme::scalar_scheme_t::step ( class(scalar_scheme_t), intent(inout)  this,
type(time_state_t), intent(in)  time,
type(time_scheme_controller_t), intent(in)  ext_bdf,
type(time_step_controller_t), intent(in)  dt_controller,
type(ksp_monitor_t), intent(inout)  ksp_results 
)
pure virtualinherited

Definition at line 168 of file scalar_scheme.f90.

◆ update_material_properties()

procedure, pass(this) scalar_scheme::scalar_scheme_t::update_material_properties ( class(scalar_scheme_t), intent(inout)  this,
type(time_state_t), intent(in)  time 
)
inherited
Parameters
tTime value.
tstepCurrent time step.

Definition at line 161 of file scalar_scheme.f90.

◆ validate()

procedure, pass(this) scalar_scheme::scalar_scheme_t::validate ( class(scalar_scheme_t), intent(inout), target  this)
inherited

Definition at line 150 of file scalar_scheme.f90.

Member Data Documentation

◆ abx1

type(field_t) scalar_pnpn::scalar_pnpn_t::abx1

Definition at line 118 of file scalar_pnpn.f90.

◆ abx2

type(field_t) scalar_pnpn::scalar_pnpn_t::abx2

Definition at line 118 of file scalar_pnpn.f90.

◆ adv

class(advection_t), allocatable scalar_pnpn::scalar_pnpn_t::adv

Definition at line 97 of file scalar_pnpn.f90.

◆ advs

type(field_t) scalar_pnpn::scalar_pnpn_t::advs

Definition at line 103 of file scalar_pnpn.f90.

◆ alphat_field_name

character(len=:), allocatable scalar_scheme::scalar_scheme_t::alphat_field_name
inherited

Definition at line 123 of file scalar_scheme.f90.

◆ ax

class(ax_t), allocatable scalar_pnpn::scalar_pnpn_t::ax

Definition at line 88 of file scalar_pnpn.f90.

◆ bc_projector

type(scalar_bc_projector_t) scalar_pnpn::scalar_pnpn_t::bc_projector

Definition at line 94 of file scalar_pnpn.f90.

◆ bcs

type(bc_list_t) scalar_scheme::scalar_scheme_t::bcs
inherited

Definition at line 113 of file scalar_scheme.f90.

◆ c_xh

type(coef_t), pointer scalar_scheme::scalar_scheme_t::c_xh
inherited

Definition at line 97 of file scalar_scheme.f90.

◆ chkp

type(chkp_t), pointer scalar_scheme::scalar_scheme_t::chkp => null()
inherited

Definition at line 119 of file scalar_scheme.f90.

◆ cp

type(field_t), pointer scalar_scheme::scalar_scheme_t::cp => null()
inherited

Definition at line 129 of file scalar_scheme.f90.

◆ dm_xh

type(dofmap_t), pointer scalar_scheme::scalar_scheme_t::dm_xh
inherited

Definition at line 93 of file scalar_scheme.f90.

◆ ds

type(field_t) scalar_pnpn::scalar_pnpn_t::ds

Definition at line 85 of file scalar_pnpn.f90.

◆ f_xh

type(field_t), pointer scalar_scheme::scalar_scheme_t::f_xh => null()
inherited

Definition at line 99 of file scalar_scheme.f90.

◆ freeze

logical scalar_scheme::scalar_scheme_t::freeze = .false.
inherited

Definition at line 139 of file scalar_scheme.f90.

◆ gs_xh

type(gs_t), pointer scalar_scheme::scalar_scheme_t::gs_xh
inherited

Definition at line 95 of file scalar_scheme.f90.

◆ ksp

class(ksp_t), allocatable scalar_scheme::scalar_scheme_t::ksp
inherited

Definition at line 103 of file scalar_scheme.f90.

◆ ksp_maxiter

integer scalar_scheme::scalar_scheme_t::ksp_maxiter
inherited

Definition at line 105 of file scalar_scheme.f90.

◆ lambda

type(field_t), pointer scalar_scheme::scalar_scheme_t::lambda => null()
inherited

Definition at line 127 of file scalar_scheme.f90.

◆ lambda_tot

type(field_t), pointer scalar_scheme::scalar_scheme_t::lambda_tot => null()
inherited

Definition at line 131 of file scalar_scheme.f90.

◆ makebdf

class(rhs_maker_bdf_t), allocatable scalar_pnpn::scalar_pnpn_t::makebdf

Definition at line 112 of file scalar_pnpn.f90.

◆ makeext

class(rhs_maker_ext_t), allocatable scalar_pnpn::scalar_pnpn_t::makeext

Definition at line 109 of file scalar_pnpn.f90.

◆ makeoifs

class(rhs_maker_oifs_t), allocatable scalar_pnpn::scalar_pnpn_t::makeoifs

Definition at line 115 of file scalar_pnpn.f90.

◆ material_properties

type(field_list_t) scalar_scheme::scalar_scheme_t::material_properties
inherited

Definition at line 135 of file scalar_scheme.f90.

◆ msh

type(mesh_t), pointer scalar_scheme::scalar_scheme_t::msh => null()
inherited

Definition at line 117 of file scalar_scheme.f90.

◆ name

character(len=:), allocatable scalar_scheme::scalar_scheme_t::name
inherited

Definition at line 79 of file scalar_scheme.f90.

◆ nut_field_name

character(len=:), allocatable scalar_scheme::scalar_scheme_t::nut_field_name
inherited

Definition at line 121 of file scalar_scheme.f90.

◆ oifs

logical scalar_pnpn::scalar_pnpn_t::oifs

Definition at line 100 of file scalar_pnpn.f90.

◆ params

type(json_file), pointer scalar_scheme::scalar_scheme_t::params => null()
inherited

Definition at line 115 of file scalar_scheme.f90.

◆ pc

class(pc_t), allocatable scalar_scheme::scalar_scheme_t::pc
inherited

Definition at line 111 of file scalar_scheme.f90.

◆ pr_turb

real(kind=rp) scalar_scheme::scalar_scheme_t::pr_turb
inherited

Definition at line 133 of file scalar_scheme.f90.

◆ proj_s

type(projection_t) scalar_pnpn::scalar_pnpn_t::proj_s

Definition at line 91 of file scalar_pnpn.f90.

◆ projection_activ_step

integer scalar_scheme::scalar_scheme_t::projection_activ_step
inherited

Definition at line 109 of file scalar_scheme.f90.

◆ projection_dim

integer scalar_scheme::scalar_scheme_t::projection_dim
inherited

Steps to activate projection for ksp

Definition at line 107 of file scalar_scheme.f90.

◆ res

class(scalar_residual_t), allocatable scalar_pnpn::scalar_pnpn_t::res

Definition at line 106 of file scalar_pnpn.f90.

◆ rho

type(field_t), pointer scalar_scheme::scalar_scheme_t::rho => null()
inherited

Definition at line 125 of file scalar_scheme.f90.

◆ s

type(field_t), pointer scalar_scheme::scalar_scheme_t::s
inherited

Definition at line 87 of file scalar_scheme.f90.

◆ s_res

type(field_t) scalar_pnpn::scalar_pnpn_t::s_res

Definition at line 82 of file scalar_pnpn.f90.

◆ slag

type(field_series_t) scalar_scheme::scalar_scheme_t::slag
inherited

Definition at line 89 of file scalar_scheme.f90.

◆ source_term

type(scalar_source_term_t) scalar_scheme::scalar_scheme_t::source_term
inherited

Definition at line 101 of file scalar_scheme.f90.

◆ svv

type(svv_t), allocatable scalar_scheme::scalar_scheme_t::svv
inherited

Definition at line 143 of file scalar_scheme.f90.

◆ svv_enabled

logical scalar_scheme::scalar_scheme_t::svv_enabled = .false.
inherited

Definition at line 141 of file scalar_scheme.f90.

◆ u

type(field_t), pointer scalar_scheme::scalar_scheme_t::u
inherited

Definition at line 81 of file scalar_scheme.f90.

◆ ulag

type(field_series_t), pointer scalar_pnpn::scalar_pnpn_t::ulag => null()

Definition at line 121 of file scalar_pnpn.f90.

◆ user_material_properties

procedure(user_material_properties_intf), pointer, nopass scalar_scheme::scalar_scheme_t::user_material_properties => null()
staticinherited

Definition at line 136 of file scalar_scheme.f90.

◆ v

type(field_t), pointer scalar_scheme::scalar_scheme_t::v
inherited

Definition at line 83 of file scalar_scheme.f90.

◆ vlag

type(field_series_t), pointer scalar_pnpn::scalar_pnpn_t::vlag => null()

Definition at line 122 of file scalar_pnpn.f90.

◆ w

type(field_t), pointer scalar_scheme::scalar_scheme_t::w
inherited

Definition at line 85 of file scalar_scheme.f90.

◆ wlag

type(field_series_t), pointer scalar_pnpn::scalar_pnpn_t::wlag => null()

Definition at line 123 of file scalar_pnpn.f90.

◆ xh

type(space_t), pointer scalar_scheme::scalar_scheme_t::xh
inherited

Definition at line 91 of file scalar_scheme.f90.


The documentation for this type was generated from the following file: