38 type(
field_t),
intent(inout) :: u,v, w
39 type(
field_t),
intent(inout) :: uu, vv, ww
41 real(kind=
rp),
dimension(3),
intent(in) :: ab
42 integer,
intent(in) :: nab
48 u%x(i,1,1,1) = ab(1) * uu%x(i,1,1,1) + ab(2) * uulag%lf(1)%x(i,1,1,1)
49 v%x(i,1,1,1) = ab(1) * vv%x(i,1,1,1) + ab(2) * vvlag%lf(1)%x(i,1,1,1)
50 w%x(i,1,1,1) = ab(1) * ww%x(i,1,1,1) + ab(2) * wwlag%lf(1)%x(i,1,1,1)
55 u%x(i,1,1,1) = u%x(i,1,1,1) + ab(3) * uulag%lf(2)%x(i,1,1,1)
56 v%x(i,1,1,1) = v%x(i,1,1,1) + ab(3) * vvlag%lf(2)%x(i,1,1,1)
57 w%x(i,1,1,1) = w%x(i,1,1,1) + ab(3) * wwlag%lf(2)%x(i,1,1,1)
64 fx_laglag, fy_laglag, fz_laglag, fx, fy, fz, &
66 type(
field_t),
intent(inout) :: fx_lag, fy_lag, fz_lag
67 type(
field_t),
intent(inout) :: fx_laglag, fy_laglag, fz_laglag
68 real(kind=
rp),
intent(in) :: rho, ext_coeffs(4)
69 integer,
intent(in) :: n
70 real(kind=
rp),
intent(inout) :: fx(n), fy(n), fz(n)
72 type(
field_t),
pointer :: temp1, temp2, temp3
73 integer :: temp_indices(3)
80 temp1%x(i,1,1,1) = ext_coeffs(2) * fx_lag%x(i,1,1,1) + &
81 ext_coeffs(3) * fx_laglag%x(i,1,1,1)
82 temp2%x(i,1,1,1) = ext_coeffs(2) * fy_lag%x(i,1,1,1) + &
83 ext_coeffs(3) * fy_laglag%x(i,1,1,1)
84 temp3%x(i,1,1,1) = ext_coeffs(2) * fz_lag%x(i,1,1,1) + &
85 ext_coeffs(3) * fz_laglag%x(i,1,1,1)
89 fx_laglag%x(i,1,1,1) = fx_lag%x(i,1,1,1)
90 fy_laglag%x(i,1,1,1) = fy_lag%x(i,1,1,1)
91 fz_laglag%x(i,1,1,1) = fz_lag%x(i,1,1,1)
92 fx_lag%x(i,1,1,1) = fx(i)
93 fy_lag%x(i,1,1,1) = fy(i)
94 fz_lag%x(i,1,1,1) = fz(i)
98 fx(i) = (ext_coeffs(1) * fx(i) + temp1%x(i,1,1,1)) * rho
99 fy(i) = (ext_coeffs(1) * fy(i) + temp2%x(i,1,1,1)) * rho
100 fz(i) = (ext_coeffs(1) * fz(i) + temp3%x(i,1,1,1)) * rho
108 type(
field_t),
intent(inout) :: fs_lag
109 type(
field_t),
intent(inout) :: fs_laglag
110 real(kind=
rp),
intent(in) :: ext_coeffs(4)
111 integer,
intent(in) :: n
112 real(kind=
rp),
intent(inout) :: fs(n)
114 type(
field_t),
pointer :: temp1
115 integer :: temp_index
120 temp1%x(i,1,1,1) = ext_coeffs(2) * fs_lag%x(i,1,1,1) + &
121 ext_coeffs(3) * fs_laglag%x(i,1,1,1)
125 fs_laglag%x(i,1,1,1) = fs_lag%x(i,1,1,1)
126 fs_lag%x(i,1,1,1) = fs(i)
130 fs(i) = ext_coeffs(1) * fs(i) + temp1%x(i,1,1,1)
137 u, v, w, B, Blag, Blaglag, rho, dt, bd, nbd, n)
138 integer,
intent(in) :: n, nbd
139 type(
field_t),
intent(in) :: u, v, w
141 real(kind=
rp),
intent(inout) :: bfx(n), bfy(n), bfz(n)
142 real(kind=
rp),
intent(in) :: b(n), blag(n), blaglag(n)
143 real(kind=
rp),
intent(in) :: dt, rho, bd(4)
144 type(
field_t),
pointer :: tb1, tb2, tb3
145 type(
field_t),
pointer :: ta1, ta2, ta3
146 integer :: temp_indices(6)
157 tb1%x(i,1,1,1) = u%x(i,1,1,1) * b(i) * bd(2)
158 tb2%x(i,1,1,1) = v%x(i,1,1,1) * b(i) * bd(2)
159 tb3%x(i,1,1,1) = w%x(i,1,1,1) * b(i) * bd(2)
164 ta1%x(i,1,1,1) = ulag%lf(ilag-1)%x(i,1,1,1) * b(i) * bd(ilag+1)
165 ta2%x(i,1,1,1) = vlag%lf(ilag-1)%x(i,1,1,1) * b(i) * bd(ilag+1)
166 ta3%x(i,1,1,1) = wlag%lf(ilag-1)%x(i,1,1,1) * b(i) * bd(ilag+1)
170 tb1%x(i,1,1,1) = tb1%x(i,1,1,1) + ta1%x(i,1,1,1)
171 tb2%x(i,1,1,1) = tb2%x(i,1,1,1) + ta2%x(i,1,1,1)
172 tb3%x(i,1,1,1) = tb3%x(i,1,1,1) + ta3%x(i,1,1,1)
177 bfx(i) = bfx(i) + tb1%x(i,1,1,1) * (rho / dt)
178 bfy(i) = bfy(i) + tb2%x(i,1,1,1) * (rho / dt)
179 bfz(i) = bfz(i) + tb3%x(i,1,1,1) * (rho / dt)
187 integer,
intent(in) :: n, nbd
188 type(
field_t),
intent(in) :: s, rho_cp
190 real(kind=
rp),
intent(inout) :: fs(n)
191 real(kind=
rp),
intent(in) :: b(n)
192 real(kind=
rp),
intent(in) :: dt, bd(4)
194 type(
field_t),
pointer :: temp1, temp2
195 integer :: temp_indices(2)
201 temp2%x(i,1,1,1) = s%x(i,1,1,1) * b(i) * bd(2)
206 temp1%x(i,1,1,1) = s_lag%lf(ilag-1)%x(i,1,1,1) * b(i) * bd(ilag+1)
210 temp2%x(i,1,1,1) = temp2%x(i,1,1,1) + temp1%x(i,1,1,1)
215 fs(i) = fs(i) + temp2%x(i,1,1,1) * &
216 (rho_cp%x(i,1,1,1) / dt)
224 real(kind=
rp),
intent(in) :: rho, dt
225 integer,
intent(in) :: n
226 real(kind=
rp),
intent(inout) :: bf_x(n), bf_y(n), bf_z(n)
227 real(kind=
rp),
intent(inout) :: phi_x(n), phi_y(n), phi_z(n)
231 bf_x(i) = bf_x(i) + phi_x(i) * (rho / dt)
232 bf_y(i) = bf_y(i) + phi_y(i) * (rho / dt)
233 bf_z(i) = bf_z(i) + phi_z(i) * (rho / dt)
subroutine rhs_maker_bdf_sx(ulag, vlag, wlag, bfx, bfy, bfz, u, v, w, b, blag, blaglag, rho, dt, bd, nbd, n)