Neko 1.99.3
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_allocate
 Scalar scheme factory. Both constructs and initializes the object. More...
 
type  scalar_scheme_allocator_entry
 Called in user modules to add an allocator for custom types. More...
 
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...
 
type  scalar_scheme_wrapper_t
 A helper type that is needed to have an array of polymorphic objects. More...
 

Functions/Subroutines

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, pcparams)
 Initialize a Krylov preconditioner.
 
subroutine scalar_scheme_update_material_properties (this, time)
 Call user material properties routine and update the values of lambda if necessary.
 
subroutine scalar_scheme_set_material_properties (this, params, user)
 Set lamdba and cp.
 
subroutine scalar_scheme_wrapper_init (this, msh, coef, gs, params, numerics_params, user, chkp, ulag, vlag, wlag, time_scheme, rho)
 Constructor. Initializes the object.
 
subroutine scalar_scheme_wrapper_free (this)
 Destructor. Just deallocates the pointer.
 
subroutine scalar_scheme_wrapper_move_from (this, other)
 Move assignment operator for the wrapper, needed for storing schemes in lists and arrays.
 
logical function scalar_scheme_wrapper_is_allocated (this)
 Return allocation status.
 

Variables

type(scalar_scheme_allocator_entry), dimension(:), allocatable, private scalar_scheme_registry
 Registry of allocators for user-defined types.
 
integer, private scalar_scheme_registry_size = 0
 The size of the scalar_scheme_registry
 

Function/Subroutine Documentation

◆ scalar_scheme_free()

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

Definition at line 456 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,
type(field_t), intent(in), target  rho 
)
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 331 of file scalar_scheme.f90.

◆ 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,
type(json_file), intent(inout pcparams 
)

Definition at line 549 of file scalar_scheme.f90.

◆ 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 file configuration dictionary.
userThe user interface.

Definition at line 636 of file scalar_scheme.f90.

Here is the call graph for this function:

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

◆ scalar_scheme_update_material_properties()

subroutine scalar_scheme::scalar_scheme_update_material_properties ( class(scalar_scheme_t), intent(inout this,
type(time_state_t), intent(in time 
)
Parameters
tTime value.
tstepCurrent time step.

Definition at line 581 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 492 of file scalar_scheme.f90.

◆ scalar_scheme_wrapper_free()

subroutine scalar_scheme::scalar_scheme_wrapper_free ( class(scalar_scheme_wrapper_t), intent(inout this)

Definition at line 753 of file scalar_scheme.f90.

◆ scalar_scheme_wrapper_init()

subroutine scalar_scheme::scalar_scheme_wrapper_init ( class(scalar_scheme_wrapper_t), intent(inout 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 
)

Definition at line 732 of file scalar_scheme.f90.

◆ scalar_scheme_wrapper_is_allocated()

logical function scalar_scheme::scalar_scheme_wrapper_is_allocated ( class(scalar_scheme_wrapper_t), intent(in this)
Parameters
thisThe wrapper to check.

Definition at line 778 of file scalar_scheme.f90.

◆ scalar_scheme_wrapper_move_from()

subroutine scalar_scheme::scalar_scheme_wrapper_move_from ( class(scalar_scheme_wrapper_t), intent(inout this,
class(scalar_scheme_wrapper_t), intent(inout other 
)
Parameters
thisThe wrapper to move to.
otherThe other wrapper to move from. Will be deallocated.

Definition at line 767 of file scalar_scheme.f90.

Variable Documentation

◆ scalar_scheme_registry

type(scalar_scheme_allocator_entry), dimension(:), allocatable, private scalar_scheme::scalar_scheme_registry
private

Definition at line 315 of file scalar_scheme.f90.

◆ scalar_scheme_registry_size

integer, private scalar_scheme::scalar_scheme_registry_size = 0
private

Definition at line 319 of file scalar_scheme.f90.