Neko 1.99.7
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
scalar_residual_sx.f90
Go to the documentation of this file.
1
4 use ax_product, only : ax_t
5 use field, only : field_t
6 use coefs, only : coef_t
7 use space, only : space_t
8 use mesh, only : mesh_t
9 use num_types, only : rp
10 use math, only : copy
11 use field, only : field_t
12 use mesh, only : mesh_t
13 use ax_product, only : ax_t
14 use space, only : space_t
15 use coefs, only : coef_t
16 implicit none
17 private
18
19 type, public, extends(scalar_residual_t) :: scalar_residual_sx_t
20 contains
21 procedure, nopass :: compute => scalar_residual_sx_compute
23
24contains
25
26 subroutine scalar_residual_sx_compute(Ax, s, s_res, f_Xh, c_Xh, msh, Xh, &
27 lambda, rho_cp, bd, dt, n)
28 class(ax_t), intent(in) :: Ax
29 type(mesh_t), intent(inout) :: msh
30 type(space_t), intent(inout) :: Xh
31 type(field_t), intent(inout) :: s
32 type(field_t), intent(inout) :: s_res
33 type(field_t), intent(in) :: f_Xh
34 type(coef_t), intent(inout) :: c_Xh
35 type(field_t), intent(in) :: lambda, rho_cp
36 real(kind=rp), intent(in) :: bd
37 real(kind=rp), intent(in) :: dt
38 integer, intent(in) :: n
39 integer :: i
40
41 call copy(c_xh%h1, lambda%x, n)
42 do i = 1, n
43 c_xh%h2(i,1,1,1) = rho_cp%x(i,1,1,1) * bd / dt
44 end do
45 c_xh%ifh2 = .true.
46
47 call ax%compute(s_res%x, s%x, c_xh, msh, xh)
48
49 do i = 1, n
50 s_res%x(i,1,1,1) = (-s_res%x(i,1,1,1)) + f_xh%x(i,1,1,1)
51 end do
52
53 end subroutine scalar_residual_sx_compute
54
55end module scalar_residual_sx
Defines a Matrix-vector product.
Definition ax.f90:34
Coefficients.
Definition coef.f90:34
Defines a field.
Definition field.f90:34
Definition math.f90:60
subroutine, public copy(a, b, n)
Copy a vector .
Definition math.f90:291
Defines a mesh.
Definition mesh.f90:34
integer, parameter, public rp
Global precision used in computations.
Definition num_types.f90:12
Residuals in the Pn-Pn formulation (SX version)
subroutine scalar_residual_sx_compute(ax, s, s_res, f_xh, c_xh, msh, xh, lambda, rho_cp, bd, dt, n)
Defines the residual for the scalar transport equation.
Defines a function space.
Definition space.f90:34
Base type for a matrix-vector product providing .
Definition ax.f90:43
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
Definition coef.f90:63
Abstract type to compute scalar residual.
The function space for the SEM solution fields.
Definition space.f90:64