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
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)
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
subroutine fluid_scheme_precon_factory(this, pc, ksp, coef, dof, gs, bclst, pctype)
Initialize a Krylov preconditioner.