Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scalar_scheme Module Reference

Contains the scalar_scheme_t type.

Data Types

interface  scalar_scheme_free_intrf
 Abstract interface to dealocate a scalar formulation. 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_step_intrf
 Abstract interface to compute a time-step. More...
 
type  scalar_scheme_t
 Base type for a scalar advection-diffusion solver. More...
 

Functions/Subroutines

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

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(in 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 247 of file scalar_scheme.f90.

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 513 of file scalar_scheme.f90.

◆ scalar_scheme_init()

subroutine scalar_scheme::scalar_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,
real(kind=rp), intent(in rho 
)
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.
rhoThe density of the fluid.

Definition at line 317 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(in), target  coef,
type(dofmap_t), intent(in), target  dof,
type(gs_t), intent(inout), target  gs,
type(bc_list_t), intent(inout), target  bclst,
character(len=*)  pctype 
)

Definition at line 616 of file scalar_scheme.f90.

Here is the caller graph for this function:

◆ scalar_scheme_set_material_properties()

subroutine scalar_scheme::scalar_scheme_set_material_properties ( class(scalar_scheme_t), intent(inout this,
type(json_file), intent(inout params,
type(user_t), intent(in), target  user 
)
Parameters
paramsThe case parameter file.
userThe user interface.

Definition at line 689 of file scalar_scheme.f90.

Here is the call 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 654 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 601 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 663 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 557 of file scalar_scheme.f90.