6 space_t, dofmap_t, gs_t, coef_t, gs_init, gs_free, space_free, &
7 mesh_t, rp, time_step_controller_t, time_scheme_controller_t
12 type(dofmap_t) :: dm_yh
26 type(mesh_t),
target,
intent(inout) :: msh
27 integer,
intent(in) :: lx
28 type(param_t),
target,
intent(inout) :: param
29 character(len=15),
parameter :: scheme =
'plan1 (Pn/Pn-2)'
35 call this%scheme_init(msh, lx, param, kspv_init=.true., scheme=scheme)
39 if (msh%gdim .eq. 2)
then
40 call this%Yh%init(gll, lx2, lx2)
42 call this%Yh%init(gll, lx2, lx2, lx2)
45 call this%dm_Yh%init(msh, this%Yh)
47 call this%p%init(this%dm_Yh)
49 call gs_init(this%gs_Yh, this%dm_Yh)
51 call this%c_Yh%init(this%gs_Yh)
54 param%ksp_prs, param%abstol_prs)
56 this%c_Yh, this%dm_Yh, this%gs_Yh, this%bclst_prs, param%pc_prs)
65 call this%scheme_free()
68 call space_free(this%Yh)
70 call gs_free(this%gs_Yh)
78 real(kind=rp),
intent(in) :: t
79 integer,
intent(in) :: tstep
80 type(time_scheme_controller_t),
intent(in) :: ext_bdf
81 type(time_step_controller_t),
intent(in) :: dt_controller
83 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_precon_factory(this, pc, ksp, coef, dof, gs, bclst, pctype, pcparams)
Initialize a Krylov preconditioner.
subroutine fluid_scheme_solver_factory(ksp, n, solver, max_iter, abstol, monitor)
Initialize a linear solver.
Base type of all fluid formulations.