43 use,
intrinsic :: iso_c_binding, only : c_ptr
50 procedure(
prs_res),
nopass,
deferred :: compute
56 procedure(
vel_res),
nopass,
deferred :: compute
60 subroutine prs_res(p, p_res, u, v, w, u_e, v_e, w_e, f_x, f_y, f_z, c_xh,&
61 gs_Xh, bc_prs_surface, bc_sym_surface, Ax, bd, dt, mu, rho, event)
69 type(
field_t),
intent(inout) :: p, u, v, w
70 type(
field_t),
intent(in) :: u_e, v_e, w_e
71 type(
field_t),
intent(inout) :: p_res
73 type(
field_t),
intent(in) :: f_x, f_y, f_z
74 type(
coef_t),
intent(inout) :: c_Xh
75 type(
gs_t),
intent(inout) :: gs_Xh
78 class(
ax_t),
intent(inout) :: Ax
79 real(kind=
rp),
intent(in) :: bd
80 real(kind=
rp),
intent(in) :: dt
82 type(
field_t),
intent(in) :: rho
83 type(c_ptr),
intent(inout) :: event
60 subroutine prs_res(p, p_res, u, v, w, u_e, v_e, w_e, f_x, f_y, f_z, c_xh,&
…
88 subroutine vel_res(Ax, u, v, w, u_res, v_res, w_res, &
89 p, f_x, f_y, f_z, c_Xh, msh, Xh, mu, rho, bd, dt, n)
98 class(
ax_t),
intent(in) :: Ax
99 type(
mesh_t),
intent(inout) :: msh
100 type(
space_t),
intent(inout) :: Xh
101 type(
field_t),
intent(inout) :: p, u, v, w
102 type(
field_t),
intent(inout) :: u_res, v_res, w_res
103 type(
field_t),
intent(in) :: f_x, f_y, f_z
104 type(
coef_t),
intent(inout) :: c_Xh
105 type(
field_t),
intent(in) :: mu
106 type(
field_t),
intent(in) :: rho
107 real(kind=
rp),
intent(in) :: bd
108 real(kind=
rp),
intent(in) :: dt
109 integer,
intent(in) :: n
88 subroutine vel_res(Ax, u, v, w, u_res, v_res, w_res, &
…
120 module subroutine pnpn_prs_res_factory(object)
121 class(pnpn_prs_res_t),
allocatable,
intent(inout) :: object
122 end subroutine pnpn_prs_res_factory
128 module subroutine pnpn_vel_res_factory(object)
129 class(pnpn_vel_res_t),
allocatable,
intent(inout) :: object
130 end subroutine pnpn_vel_res_factory
136 module subroutine pnpn_prs_res_stress_factory(object)
137 class(pnpn_prs_res_t),
allocatable,
intent(inout) :: object
138 end subroutine pnpn_prs_res_stress_factory
144 module subroutine pnpn_vel_res_stress_factory(object)
145 class(pnpn_vel_res_t),
allocatable,
intent(inout) :: object
146 end subroutine pnpn_vel_res_stress_factory
150 public :: pnpn_prs_res_factory, pnpn_vel_res_factory, &
151 pnpn_prs_res_stress_factory, pnpn_vel_res_stress_factory
Defines a Matrix-vector product.
Dirichlet condition applied in the facet normal direction.
integer, parameter, public rp
Global precision used in computations.
Defines Pressure and velocity residuals in the Pn-Pn formulation.
Defines a function space.
Base type for a matrix-vector product providing .
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
Dirichlet condition in facet normal direction.
Abstract type to compute pressure residual.
Abstract type to compute velocity residual.
The function space for the SEM solution fields.