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

Fluid formulations.

Data Types

type  fluid_scheme_incompressible_t
 Base type of all fluid formulations. More...
 

Functions/Subroutines

subroutine fluid_scheme_init_base (this, msh, lx, params, scheme, user, kspv_init)
 Initialise a fluid scheme.
 
subroutine fluid_scheme_free (this)
 
subroutine fluid_scheme_validate (this)
 Validate that all fields, solvers etc necessary for performing time-stepping are defined.
 
subroutine fluid_scheme_bc_apply_vel (this, time, strong)
 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.
 
subroutine fluid_scheme_bc_apply_prs (this, time)
 Apply all boundary conditions defined for pressure.
 
subroutine fluid_scheme_solver_factory (ksp, n, solver, max_iter, abstol, monitor)
 Initialize a linear solver.
 
subroutine fluid_scheme_precon_factory (this, pc, ksp, coef, dof, gs, bclst, pctype, pcparams)
 Initialize a Krylov preconditioner.
 
real(kind=rp) function fluid_compute_cfl (this, dt)
 Compute CFL.
 
subroutine fluid_scheme_update_material_properties (this, time)
 Call user material properties routine and update the values of mu if necessary.
 
subroutine fluid_scheme_set_material_properties (this, params, user)
 Sets rho and mu.
 

Function/Subroutine Documentation

◆ fluid_compute_cfl()

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

Definition at line 549 of file fluid_scheme_incompressible.f90.

Here is the call graph for this function:

◆ fluid_scheme_bc_apply_prs()

subroutine fluid_scheme_incompressible::fluid_scheme_bc_apply_prs ( class(fluid_scheme_incompressible_t), intent(inout this,
type(time_state_t), intent(in time 
)
private
Todo:
Why can't we call the interface here?

Definition at line 476 of file fluid_scheme_incompressible.f90.

Here is the call graph for this function:

◆ fluid_scheme_bc_apply_vel()

subroutine fluid_scheme_incompressible::fluid_scheme_bc_apply_vel ( class(fluid_scheme_incompressible_t), intent(inout this,
type(time_state_t), intent(in time,
logical, intent(in strong 
)
private
Todo:
Why can't we call the interface here?

Definition at line 439 of file fluid_scheme_incompressible.f90.

Here is the call graph for this function:

◆ fluid_scheme_free()

subroutine fluid_scheme_incompressible::fluid_scheme_free ( class(fluid_scheme_incompressible_t), intent(inout this)
private

Definition at line 336 of file fluid_scheme_incompressible.f90.

◆ fluid_scheme_init_base()

subroutine fluid_scheme_incompressible::fluid_scheme_init_base ( class(fluid_scheme_incompressible_t), intent(inout), target  this,
type(mesh_t), intent(inout), target  msh,
integer, intent(in 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 
)

Initialize common data for the current scheme

Definition at line 148 of file fluid_scheme_incompressible.f90.

Here is the call graph for this function:

◆ fluid_scheme_precon_factory()

subroutine fluid_scheme_incompressible::fluid_scheme_precon_factory ( class(fluid_scheme_incompressible_t), intent(inout this,
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 
)
private

Definition at line 517 of file fluid_scheme_incompressible.f90.

Here is the caller graph for this function:

◆ fluid_scheme_set_material_properties()

subroutine fluid_scheme_incompressible::fluid_scheme_set_material_properties ( class(fluid_scheme_incompressible_t), intent(inout), target  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 593 of file fluid_scheme_incompressible.f90.

Here is the call graph for this function:

◆ fluid_scheme_solver_factory()

subroutine fluid_scheme_incompressible::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 502 of file fluid_scheme_incompressible.f90.

Here is the caller graph for this function:

◆ fluid_scheme_update_material_properties()

subroutine fluid_scheme_incompressible::fluid_scheme_update_material_properties ( class(fluid_scheme_incompressible_t), intent(inout this,
type(time_state_t), intent(in time 
)
private
Parameters
tTime value.
tstepCurrent time step.

Definition at line 564 of file fluid_scheme_incompressible.f90.

Here is the call graph for this function:

◆ fluid_scheme_validate()

subroutine fluid_scheme_incompressible::fluid_scheme_validate ( class(fluid_scheme_incompressible_t), intent(inout), target  this)
private

Definition at line 406 of file fluid_scheme_incompressible.f90.