Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
Fluid formulations. More...
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) |
Initialize common data for the current scheme. More... | |
subroutine | fluid_scheme_init_uvw (this, msh, lx, params, kspv_init, scheme, user, material_properties) |
Initialize all velocity related components of the current 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) |
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... | |
Fluid formulations.
real(kind=rp) function fluid_scheme::fluid_compute_cfl | ( | class(fluid_scheme_t), intent(in) | this, |
real(kind=rp), intent(in) | dt | ||
) |
Compute CFL.
Definition at line 968 of file fluid_scheme.f90.
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 | ||
) |
Apply all boundary conditions defined for pressure.
Definition at line 895 of file fluid_scheme.f90.
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 | ||
) |
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.
Definition at line 883 of file fluid_scheme.f90.
subroutine fluid_scheme::fluid_scheme_free | ( | class(fluid_scheme_t), intent(inout) | this | ) |
Deallocate a fluid formulation.
Definition at line 720 of file fluid_scheme.f90.
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 | ||
) |
Initialize all components of the current scheme.
Definition at line 597 of file fluid_scheme.f90.
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 | ||
) |
Initialize common data for the current scheme.
Definition at line 212 of file fluid_scheme.f90.
subroutine fluid_scheme::fluid_scheme_init_uvw | ( | 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, | ||
character(len=*), intent(in) | scheme, | ||
type(user_t), intent(in), target | user, | ||
type(material_properties_t), intent(inout), target | material_properties | ||
) |
Initialize all velocity related components of the current scheme.
Definition at line 550 of file fluid_scheme.f90.
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 | ||
) |
Initialize a Krylov preconditioner.
Definition at line 919 of file fluid_scheme.f90.
subroutine fluid_scheme::fluid_scheme_set_usr_inflow | ( | class(fluid_scheme_t), intent(inout) | this, |
procedure(usr_inflow_eval) | usr_eval | ||
) |
Initialize a user defined inflow condition.
Definition at line 955 of file fluid_scheme.f90.
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 | ||
) |
Initialize a linear solver.
Definition at line 907 of file fluid_scheme.f90.
subroutine fluid_scheme::fluid_scheme_validate | ( | class(fluid_scheme_t), intent(inout), target | this | ) |
Validate that all fields, solvers etc necessary for performing time-stepping are defined.
Definition at line 817 of file fluid_scheme.f90.