9 type(dofmap_t) :: dm_yh
23 type(mesh_t),
target,
intent(inout) :: msh
24 integer,
intent(inout) :: lx
25 type(param_t),
target,
intent(inout) :: param
26 character(len=15),
parameter :: scheme =
'plan1 (Pn/Pn-2)'
32 call this%scheme_init(msh, lx, param, kspv_init=.true., scheme=scheme)
36 if (msh%gdim .eq. 2)
then
37 call this%Yh%init(gll, lx2, lx2)
39 call this%Yh%init(gll, lx2, lx2, lx2)
42 call this%dm_Yh%init(msh, this%Yh)
44 call this%p%init(this%dm_Yh)
46 call gs_init(this%gs_Yh, this%dm_Yh)
48 call this%c_Yh%init(this%gs_Yh)
51 param%ksp_prs, param%abstol_prs)
53 this%c_Yh, this%dm_Yh, this%gs_Yh, this%bclst_prs, param%pc_prs)
62 call this%scheme_free()
65 call space_free(this%Yh)
67 call gs_free(this%gs_Yh)
75 real(kind=rp),
intent(inout) :: t
76 integer,
intent(inout) :: tstep
77 type(time_scheme_controller_t),
intent(inout) :: ext_bdf
78 type(time_step_controller_t),
intent(in) :: dt_controller
80 if (this%freeze)
return
Classic NEKTON formulation Compute pressure and velocity using consistent approximation spaces.
subroutine fluid_plan1_step(this, t, tstep, ext_bdf, dt_controller)
subroutine fluid_plan1_init(this, msh, lx, param)
subroutine fluid_plan1_free(this)
subroutine fluid_scheme_solver_factory(ksp, n, solver, max_iter, abstol, monitor)
Initialize a linear solver.
subroutine fluid_scheme_precon_factory(pc, ksp, coef, dof, gs, bclst, pctype)
Initialize a Krylov preconditioner.
Base type of all fluid formulations.