Neko  0.8.99
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, material_properties, kspv_init)
 Initialise a fluid scheme. More...
 
subroutine fluid_scheme_init_all (this, msh, lx, params, kspv_init, kspp_init, scheme, user, material_properties)
 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...
 

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 972 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 895 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 883 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 728 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,
type(material_properties_t), intent(inout), target  material_properties 
)
private

Definition at line 624 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,
type(material_properties_t), intent(inout), target  material_properties,
logical, intent(in)  kspv_init 
)
private

Initialize common data for the current scheme

Definition at line 249 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 922 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 984 of file fluid_scheme.f90.

◆ 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 959 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 907 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 1080 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 821 of file fluid_scheme.f90.