Neko  0.8.99
A portable framework for high-order spectral element flow simulations
scalar_scheme Module Reference

Contains the scalar_scheme_t type.

Data Types

type  scalar_scheme_t
 Base type for a scalar advection-diffusion solver. More...
 
interface  scalar_scheme_init_intrf
 Abstract interface to initialize a scalar formulation. More...
 
interface  scalar_scheme_restart_intrf
 Abstract interface to restart a scalar formulation. More...
 
interface  scalar_scheme_free_intrf
 Abstract interface to dealocate a scalar formulation. More...
 
interface  scalar_scheme_step_intrf
 Abstract interface to compute a time-step. More...
 

Functions/Subroutines

subroutine scalar_scheme_add_bcs (this, zones, bc_labels)
 Initialize boundary conditions. More...
 
subroutine scalar_scheme_init (this, msh, c_Xh, gs_Xh, params, scheme, user, material_properties)
 Initialize all related components of the current scheme. More...
 
subroutine scalar_scheme_free (this)
 Deallocate a scalar formulation. More...
 
subroutine scalar_scheme_validate (this)
 Validate that all fields, solvers etc necessary for performing time-stepping are defined. More...
 
subroutine scalar_scheme_solver_factory (ksp, n, solver, max_iter, abstol, monitor)
 Initialize a linear solver. More...
 
subroutine scalar_scheme_precon_factory (pc, ksp, coef, dof, gs, bclst, pctype)
 Initialize a Krylov preconditioner. More...
 
subroutine scalar_scheme_set_user_bc (this, usr_eval)
 Initialize a user defined scalar bc. More...
 
subroutine scalar_scheme_update_material_properties (this)
 Update the values of lambda_field if necessary. More...
 

Function/Subroutine Documentation

◆ scalar_scheme_add_bcs()

subroutine scalar_scheme::scalar_scheme_add_bcs ( class(scalar_scheme_t), intent(inout)  this,
type(facet_zone_t), dimension(neko_msh_max_zlbls), intent(inout)  zones,
character(len=neko_msh_max_zlbl_len), dimension(:), intent(in)  bc_labels 
)
Parameters
zonesList of zones
bc_labelsList of user specified bcs from the parameter file currently dirichlet 'd=X' and 'user' supported

Check if user bc on this zone

Definition at line 241 of file scalar_scheme.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scalar_scheme_free()

subroutine scalar_scheme::scalar_scheme_free ( class(scalar_scheme_t), intent(inout)  this)

Definition at line 479 of file scalar_scheme.f90.

Here is the call graph for this function:

◆ scalar_scheme_init()

subroutine scalar_scheme::scalar_scheme_init ( class(scalar_scheme_t), intent(inout), target  this,
type(mesh_t), intent(inout), target  msh,
type(coef_t), intent(inout), 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(material_properties_t), intent(inout), target  material_properties 
)
Parameters
mshThe mesh.
c_XhThe coefficients.
gs_XhThe gather-scatter.
paramsThe case parameter file in json.
schemeThe name of the scalar scheme.
userType with user-defined procedures.

Definition at line 310 of file scalar_scheme.f90.

Here is the call graph for this function:

◆ scalar_scheme_precon_factory()

subroutine scalar_scheme::scalar_scheme_precon_factory ( class(pc_t), intent(inout), allocatable, target  pc,
class(ksp_t), intent(inout), target  ksp,
type(coef_t), intent(inout), target  coef,
type(dofmap_t), intent(inout), target  dof,
type(gs_t), intent(inout), target  gs,
type(bc_list_t), intent(inout), target  bclst,
character(len=*)  pctype 
)

Definition at line 577 of file scalar_scheme.f90.

Here is the caller graph for this function:

◆ scalar_scheme_set_user_bc()

subroutine scalar_scheme::scalar_scheme_set_user_bc ( class(scalar_scheme_t), intent(inout)  this,
procedure(usr_scalar_bc_eval usr_eval 
)
Parameters
usr_evalUser specified boundary condition for scalar field

Definition at line 615 of file scalar_scheme.f90.

◆ scalar_scheme_solver_factory()

subroutine scalar_scheme::scalar_scheme_solver_factory ( class(ksp_t), intent(inout), allocatable, target  ksp,
integer, intent(in), value  n,
character(len=*), intent(in)  solver,
integer, intent(in)  max_iter,
real(kind=rp)  abstol,
logical, intent(in)  monitor 
)
Note
Currently only supporting Krylov solvers

Definition at line 562 of file scalar_scheme.f90.

Here is the caller graph for this function:

◆ scalar_scheme_update_material_properties()

subroutine scalar_scheme::scalar_scheme_update_material_properties ( class(scalar_scheme_t), intent(inout)  this)

Definition at line 624 of file scalar_scheme.f90.

Here is the call graph for this function:

◆ scalar_scheme_validate()

subroutine scalar_scheme::scalar_scheme_validate ( class(scalar_scheme_t), intent(inout), target  this)

Definition at line 518 of file scalar_scheme.f90.