Neko  0.8.1
A portable framework for high-order spectral element flow simulations
fluid_volflow Module Reference

Data Types

type  fluid_volflow_t
 Defines volume flow. More...
 

Functions/Subroutines

subroutine fluid_vol_flow_init (this, dm_Xh, params)
 
subroutine fluid_vol_flow_free (this)
 
subroutine fluid_vol_flow_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, ksp_prs, ksp_vel, pc_prs, pc_vel, prs_max_iter, vel_max_iter)
 Compute flow adjustment. More...
 
subroutine fluid_vol_flow (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, ksp_prs, ksp_vel, pc_prs, pc_vel, prs_max_iter, vel_max_iter)
 Adjust flow volume. More...
 

Function/Subroutine Documentation

◆ fluid_vol_flow()

subroutine fluid_volflow::fluid_vol_flow ( 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(inout)  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(inout)  Ax,
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

Adjust flow volume.

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 332 of file fluid_volflow.f90.

◆ fluid_vol_flow_compute()

subroutine fluid_volflow::fluid_vol_flow_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(inout)  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(inout)  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(inout)  Ax,
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 flow adjustment.

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

Definition at line 150 of file fluid_volflow.f90.

Here is the call graph for this function:

◆ fluid_vol_flow_free()

subroutine fluid_volflow::fluid_vol_flow_free ( class(fluid_volflow_t), intent(inout)  this)
private

Definition at line 135 of file fluid_volflow.f90.

◆ fluid_vol_flow_init()

subroutine fluid_volflow::fluid_vol_flow_init ( class(fluid_volflow_t), intent(inout)  this,
type(dofmap_t), intent(inout)  dm_Xh,
type(json_file), intent(inout)  params 
)

Definition at line 104 of file fluid_volflow.f90.