Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
fluid_volflow::fluid_volflow_t Type Reference

Defines volume flow. More...

Collaboration diagram for fluid_volflow::fluid_volflow_t:

Public Member Functions

procedure, pass(thisinit (this, dm_xh, params)
 
procedure, pass(thisfree (this)
 
procedure, pass(thisadjust (this, u, v, w, p, u_res, v_res, w_res, p_res, c_xh, gs_xh, ext_bdf, rho, mu, dt, bclst_dp, bclst_du, bclst_dv, bclst_dw, bclst_vel_res, ax_vel, ax_prs, ksp_prs, ksp_vel, pc_prs, pc_vel, prs_max_iter, vel_max_iter)
 Adjust flow volume.
 

Public Attributes

integer flow_dir
 these two should be moved to params
 
logical avflow
 
real(kind=rp) flow_rate
 
real(kind=rp) dtlag = 0d0
 
real(kind=rp) bdlag = 0d0
 Really quite pointless since we do not vary the timestep.
 
type(field_tu_vol
 
type(field_tv_vol
 
type(field_tw_vol
 
type(field_tp_vol
 
real(kind=rp) domain_length
 
real(kind=rp) base_flow
 
type(scratch_registry_tscratch
 Manager for temporary fields.
 

Private Member Functions

procedure, pass(this), private compute (this, u_res, v_res, w_res, p_res, ext_bdf, gs_xh, c_xh, rho, mu, bd, dt, bclst_dp, bclst_du, bclst_dv, bclst_dw, bclst_vel_res, ax_vel, ax_prs, ksp_prs, ksp_vel, pc_prs, pc_vel, prs_max_iter, vel_max_iter)
 Compute flow adjustment.
 

Detailed Description

Definition at line 86 of file fluid_volflow.f90.

Member Function/Subroutine Documentation

◆ adjust()

procedure, pass(this) fluid_volflow::fluid_volflow_t::adjust ( class(fluid_volflow_t), intent(inout this,
type(field_t), intent(inout u,
type(field_t), intent(inout v,
type(field_t), intent(inout w,
type(field_t), intent(inout p,
type(field_t), intent(inout u_res,
type(field_t), intent(inout v_res,
type(field_t), intent(inout w_res,
type(field_t), intent(inout p_res,
type(coef_t), intent(inout c_xh,
type(gs_t), intent(inout gs_xh,
type(time_scheme_controller_t), intent(in ext_bdf,
real(kind=rp), intent(in rho,
real(kind=rp), intent(in mu,
real(kind=rp), intent(in dt,
type(bc_list_t), intent(inout bclst_dp,
type(bc_list_t), intent(inout bclst_du,
type(bc_list_t), intent(inout bclst_dv,
type(bc_list_t), intent(inout bclst_dw,
type(bc_list_t), intent(inout bclst_vel_res,
class(ax_t), intent(in ax_vel,
class(ax_t), intent(in ax_prs,
class(ksp_t), intent(inout ksp_prs,
class(ksp_t), intent(inout ksp_vel,
class(pc_t), intent(inout pc_prs,
class(pc_t), intent(inout pc_vel,
integer, intent(in prs_max_iter,
integer, intent(in vel_max_iter 
)

Adjust flow volume at end of time step to keep flow rate fixed by adding an appropriate multiple of the linear solution to the Stokes problem arising from a unit forcing in the X-direction. This assumes that the flow rate in the X-direction is to be fixed (as opposed to Y- or Z-) and that the periodic boundary conditions in the X-direction occur at the extreme left and right ends of the mesh.

pff 6/28/98

Definition at line 99 of file fluid_volflow.f90.

◆ compute()

procedure, pass(this), private fluid_volflow::fluid_volflow_t::compute ( class(fluid_volflow_t), intent(inout this,
type(field_t), intent(inout u_res,
type(field_t), intent(inout v_res,
type(field_t), intent(inout w_res,
type(field_t), intent(inout p_res,
type(time_scheme_controller_t), intent(in ext_bdf,
type(gs_t), intent(inout gs_xh,
type(coef_t), intent(inout c_xh,
real(kind=rp), intent(in rho,
real(kind=rp), intent(in mu,
real(kind=rp), intent(in bd,
real(kind=rp), intent(in dt,
type(bc_list_t), intent(inout bclst_dp,
type(bc_list_t), intent(inout bclst_du,
type(bc_list_t), intent(inout bclst_dv,
type(bc_list_t), intent(inout bclst_dw,
type(bc_list_t), intent(inout bclst_vel_res,
class(ax_t), intent(in ax_vel,
class(ax_t), intent(in ax_prs,
class(ksp_t), intent(inout ksp_prs,
class(ksp_t), intent(inout ksp_vel,
class(pc_t), intent(inout pc_prs,
class(pc_t), intent(inout pc_vel,
integer, intent(in prs_max_iter,
integer, intent(in vel_max_iter 
)
private

Compute pressure and velocity using fractional step method. (Tombo splitting scheme).

Definition at line 100 of file fluid_volflow.f90.

◆ free()

procedure, pass(this) fluid_volflow::fluid_volflow_t::free ( class(fluid_volflow_t), intent(inout this)

Definition at line 98 of file fluid_volflow.f90.

◆ init()

procedure, pass(this) fluid_volflow::fluid_volflow_t::init ( class(fluid_volflow_t), intent(inout this,
type(dofmap_t), intent(in), target  dm_xh,
type(json_file), intent(inout params 
)

Definition at line 97 of file fluid_volflow.f90.

Member Data Documentation

◆ avflow

logical fluid_volflow::fluid_volflow_t::avflow

Definition at line 88 of file fluid_volflow.f90.

◆ base_flow

real(kind=rp) fluid_volflow::fluid_volflow_t::base_flow

Definition at line 93 of file fluid_volflow.f90.

◆ bdlag

real(kind=rp) fluid_volflow::fluid_volflow_t::bdlag = 0d0

Definition at line 91 of file fluid_volflow.f90.

◆ domain_length

real(kind=rp) fluid_volflow::fluid_volflow_t::domain_length

Definition at line 93 of file fluid_volflow.f90.

◆ dtlag

real(kind=rp) fluid_volflow::fluid_volflow_t::dtlag = 0d0

Definition at line 90 of file fluid_volflow.f90.

◆ flow_dir

integer fluid_volflow::fluid_volflow_t::flow_dir

Definition at line 87 of file fluid_volflow.f90.

◆ flow_rate

real(kind=rp) fluid_volflow::fluid_volflow_t::flow_rate

Definition at line 89 of file fluid_volflow.f90.

◆ p_vol

type(field_t) fluid_volflow::fluid_volflow_t::p_vol

Definition at line 92 of file fluid_volflow.f90.

◆ scratch

type(scratch_registry_t) fluid_volflow::fluid_volflow_t::scratch

Definition at line 95 of file fluid_volflow.f90.

◆ u_vol

type(field_t) fluid_volflow::fluid_volflow_t::u_vol

Definition at line 92 of file fluid_volflow.f90.

◆ v_vol

type(field_t) fluid_volflow::fluid_volflow_t::v_vol

Definition at line 92 of file fluid_volflow.f90.

◆ w_vol

type(field_t) fluid_volflow::fluid_volflow_t::w_vol

Definition at line 92 of file fluid_volflow.f90.


The documentation for this type was generated from the following file: