Neko  0.9.0
A portable framework for high-order spectral element flow simulations
fluid_scheme Module Reference

Fluid formulations.

Data Types

type  fluid_scheme_t
 Base type of all fluid formulations. More...
 
interface  fluid_scheme_init_intrf
 Abstract interface to initialize a fluid formulation. More...
 
interface  fluid_scheme_free_intrf
 Abstract interface to dealocate a fluid formulation. More...
 
interface  fluid_scheme_step_intrf
 Abstract interface to compute a time-step. More...
 
interface  fluid_scheme_restart_intrf
 Abstract interface to restart a fluid scheme. More...
 

Functions/Subroutines

subroutine fluid_scheme_init_common (this, msh, lx, params, scheme, user, kspv_init)
 Initialise a fluid scheme. More...
 
subroutine fluid_scheme_init_all (this, msh, lx, params, kspv_init, kspp_init, scheme, user)
 Initialize all components of the current scheme. More...
 
subroutine fluid_scheme_free (this)
 Deallocate a fluid formulation. More...
 
subroutine fluid_scheme_validate (this)
 Validate that all fields, solvers etc necessary for performing time-stepping are defined. More...
 
subroutine fluid_scheme_bc_apply_vel (this, t, tstep)
 Apply all boundary conditions defined for velocity Here we perform additional gs operations to take care of shared points between elements that have different BCs, as done in Nek5000. More...
 
subroutine fluid_scheme_bc_apply_prs (this, t, tstep)
 Apply all boundary conditions defined for pressure. More...
 
subroutine fluid_scheme_solver_factory (ksp, n, solver, max_iter, abstol, monitor)
 Initialize a linear solver. More...
 
subroutine fluid_scheme_precon_factory (pc, ksp, coef, dof, gs, bclst, pctype)
 Initialize a Krylov preconditioner. More...
 
subroutine fluid_scheme_set_usr_inflow (this, usr_eval)
 Initialize a user defined inflow condition. More...
 
real(kind=rp) function fluid_compute_cfl (this, dt)
 Compute CFL. More...
 
subroutine fluid_scheme_set_bc_type_output (this, params)
 Set boundary types for the diagnostic output. More...
 
subroutine fluid_scheme_update_material_properties (this)
 Update the values of mu_field if necessary. More...
 
subroutine fluid_scheme_set_material_properties (this, params, user)
 Sets rho and mu. More...
 

Function/Subroutine Documentation

◆ fluid_compute_cfl()

real(kind=rp) function fluid_scheme::fluid_compute_cfl ( class(fluid_scheme_t), intent(in)  this,
real(kind=rp), intent(in)  dt 
)
private

Definition at line 1054 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ fluid_scheme_bc_apply_prs()

subroutine fluid_scheme::fluid_scheme_bc_apply_prs ( class(fluid_scheme_t), intent(inout)  this,
real(kind=rp), intent(in)  t,
integer, intent(in)  tstep 
)
private
Todo:
Why can't we call the interface here?

Definition at line 977 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ fluid_scheme_bc_apply_vel()

subroutine fluid_scheme::fluid_scheme_bc_apply_vel ( class(fluid_scheme_t), intent(inout)  this,
real(kind=rp), intent(in)  t,
integer, intent(in)  tstep 
)
private
Todo:
Why can't we call the interface here?

Definition at line 965 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ fluid_scheme_free()

subroutine fluid_scheme::fluid_scheme_free ( class(fluid_scheme_t), intent(inout)  this)
private

Definition at line 815 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ fluid_scheme_init_all()

subroutine fluid_scheme::fluid_scheme_init_all ( class(fluid_scheme_t), intent(inout), target  this,
type(mesh_t), intent(inout), target  msh,
integer, intent(inout)  lx,
type(json_file), intent(inout), target  params,
logical  kspv_init,
logical  kspp_init,
character(len=*), intent(in)  scheme,
type(user_t), intent(in), target  user 
)
private

Definition at line 686 of file fluid_scheme.f90.

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

◆ fluid_scheme_init_common()

subroutine fluid_scheme::fluid_scheme_init_common ( class(fluid_scheme_t), intent(inout), target  this,
type(mesh_t), intent(inout), target  msh,
integer, intent(inout)  lx,
type(json_file), intent(inout), target  params,
character(len=*), intent(in)  scheme,
type(user_t), intent(in), target  user,
logical, intent(in)  kspv_init 
)
private

Initialize common data for the current scheme

Definition at line 260 of file fluid_scheme.f90.

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

◆ fluid_scheme_precon_factory()

subroutine fluid_scheme::fluid_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 
)
private

Definition at line 1004 of file fluid_scheme.f90.

Here is the caller graph for this function:

◆ fluid_scheme_set_bc_type_output()

subroutine fluid_scheme::fluid_scheme_set_bc_type_output ( class(fluid_scheme_t), intent(inout), target  this,
type(json_file), intent(inout)  params 
)
private
Parameters
paramsThe JSON case file.

Definition at line 1066 of file fluid_scheme.f90.

◆ fluid_scheme_set_material_properties()

subroutine fluid_scheme::fluid_scheme_set_material_properties ( class(fluid_scheme_t), intent(inout)  this,
type(json_file), intent(inout)  params,
type(user_t), intent(in), target  user 
)
private
Parameters
paramsThe case paramter file.
userThe user interface.

Definition at line 1201 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ fluid_scheme_set_usr_inflow()

subroutine fluid_scheme::fluid_scheme_set_usr_inflow ( class(fluid_scheme_t), intent(inout)  this,
procedure(usr_inflow_eval usr_eval 
)
private

Definition at line 1041 of file fluid_scheme.f90.

◆ fluid_scheme_solver_factory()

subroutine fluid_scheme::fluid_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), intent(in)  abstol,
logical, intent(in)  monitor 
)
private
Note
Currently only supporting Krylov solvers

Definition at line 989 of file fluid_scheme.f90.

Here is the caller graph for this function:

◆ fluid_scheme_update_material_properties()

subroutine fluid_scheme::fluid_scheme_update_material_properties ( class(fluid_scheme_t), intent(inout)  this)
private

Definition at line 1178 of file fluid_scheme.f90.

Here is the call graph for this function:

◆ fluid_scheme_validate()

subroutine fluid_scheme::fluid_scheme_validate ( class(fluid_scheme_t), intent(inout), target  this)
private

Definition at line 916 of file fluid_scheme.f90.