|
FE-Project
|
Derived type for elementwise operations with 3D tensor product elements with polynomial order p=6. More...
Public Member Functions | |
| procedure, public | init (this, elem3d) |
| Initialization. | |
| procedure, public | final (this) |
| Finalization. | |
| procedure, public | dx (this, vec_in, vec_out) |
| Calculate the differential in x-direction. | |
| procedure, public | dy (this, vec_in, vec_out) |
| Calculate the differential in y-direction. | |
| procedure, public | dz (this, vec_in, vec_out) |
| Calculate the differential in z-direction. | |
| procedure, public | lift (this, vec_in, vec_out) |
| Calculate the lifting term. | |
| procedure, public | dxdydzlift (this, vec_in, vec_in_lift, vec_out_dx, vec_out_dy, vec_out_dz, vec_out_lift) |
| Calculate the 3D gradient. | |
| procedure, public | div (this, vec_in, vec_in_lift, vec_out) |
| Calculate the 3D divergence. | |
| procedure, public | div_var5 (this, vec_in, vec_in_lift, vec_out_d) |
| Calculate the 3D gradient applied for five variables. | |
| procedure, public | div_var5_2 (this, vec_in, vec_out_d) |
| Calculate the 3D divergence applied for five variables. | |
| procedure, public | lift_var5 (this, vec_in, vec_out) |
| Calculate the lifting term applied for five variables. | |
| procedure, public | vfilterpm1 (this, vec_in, vec_out) |
| Apply a vertical modal filter which a coefficient with the highest vertical mode is set to zero. | |
| procedure, public | setup_modalfilter (this, mf_etac_h, mf_alpha_h, mf_order_h, mf_etac_v, mf_alpha_v, mf_order_v) |
| Setup modal filter. | |
| procedure, public | setup_modalfilter_tracer (this, mf_etac_h, mf_alpha_h, mf_order_h, mf_etac_v, mf_alpha_v, mf_order_v) |
| Setup modal filter for tracer. | |
| procedure, public | modalfilter_tracer (this, vec_in, vec_work, vec_out) |
| Apply a modal filter for tracer variables. | |
| procedure, public | modalfilter_var5 (this, vec_in, vec_work, vec_out) |
| Apply a modal filter for five variables. | |
| Public Member Functions inherited from scale_element_operation_tensorprod3d::elementoperationtensorprod3d | |
| procedure(elementoperationtensorprod3d_init), deferred, public | init elementoperationtensorprod3d_init |
| procedure(elementoperationtensorprod3d_final), deferred, public | final elementoperationtensorprod3d_final |
| Public Member Functions inherited from scale_element_operation_base::elementoperationbase3d | |
| procedure(elementoperationbase_dx), deferred, public | dx elementoperationbase_dx |
| procedure(elementoperationbase_dy), deferred, public | dy elementoperationbase_dy |
| procedure(elementoperationbase_dz), deferred, public | dz elementoperationbase_dz |
| procedure(elementoperationbase_lift), deferred, public | lift elementoperationbase_lift |
| procedure(elementoperationbase_dxdydzlift), deferred, public | dxdydzlift elementoperationbase_dxdydzlift |
| procedure(elementoperationbase_div), deferred, public | div elementoperationbase_div |
| procedure(elementoperationbase_div_var5), deferred, public | div_var5 elementoperationbase_div_var5 |
| procedure(elementoperationbase_div_var5_2), deferred, public | div_var5_2 elementoperationbase_div_var5_2 |
| procedure(elementoperationbase_lift_var5), deferred, public | lift_var5 elementoperationbase_lift_var5 |
| procedure(elementoperationbase_vfilterpm1), deferred, public | vfilterpm1 elementoperationbase_vfilterpm1 |
| procedure(elementoperationbase_setup_modalfilter), deferred, public | setup_modalfilter elementoperationbase_setup_modalfilter |
| procedure(elementoperationbase_setup_modalfilter_tracer), deferred, public | setup_modalfilter_tracer elementoperationbase_setup_modalfilter_tracer |
| procedure(elementoperationbase_modalfilter_tracer), deferred, public | modalfilter_tracer elementoperationbase_modalfilter_tracer |
| procedure(elementoperationbase_modalfilter_var5), deferred, public | modalfilter_var5 elementoperationbase_modalfilter_var5 |
Public Attributes | |
| real(rp), dimension(7, 7) | d1d |
| real(rp), dimension(7, 7) | d1d_tr |
| real(rp), dimension(7, 7, 7, 6) | lift_mat |
| real(rp), dimension(7, 7, 7, 6) | lift_mat_tr |
| real(rp), dimension(7, 7) | intrpmat_vpordm1_tr |
| real(rp), dimension(7, 7) | mfilter_h1d |
| real(rp), dimension(7, 7) | mfilter_h1d_tr |
| real(rp), dimension(7, 7) | mfilter_v1d_tr |
| real(rp), dimension(7, 7) | mfilter_tracer_h1d |
| real(rp), dimension(7, 7) | mfilter_tracer_h1d_tr |
| real(rp), dimension(7, 7) | mfilter_tracer_v1d_tr |
| Public Attributes inherited from scale_element_operation_base::elementoperationbase3d | |
| class(elementbase3d), pointer | elem3d |
| Pointer to an object of 3D element. | |
| integer | operator_type |
| Type of operator (e.g., general, tensor-product) | |
Derived type for elementwise operations with 3D tensor product elements with polynomial order p=6.
Definition at line 235 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::init | ( | class(elementoperationtensorprod3d_p6), intent(inout) | this, |
| class(elementbase3d), intent(in), target | elem3d ) |
Initialization.
Definition at line 250 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::final | ( | class(elementoperationtensorprod3d_p6), intent(inout) | this | ) |
Finalization.
Definition at line 251 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::dx | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out ) |
Calculate the differential in x-direction.
Definition at line 252 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::dy | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out ) |
Calculate the differential in y-direction.
Definition at line 253 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::dz | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out ) |
Calculate the differential in z-direction.
Definition at line 254 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::lift | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%nfptot), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out ) |
Calculate the lifting term.
Definition at line 255 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::dxdydzlift | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%nfptot), intent(in) | vec_in_lift, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out_dx, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out_dy, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out_dz, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out_lift ) |
Calculate the 3D gradient.
Definition at line 256 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::div | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np,3), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%nfptot), intent(in) | vec_in_lift, | ||
| real(rp), dimension(this%elem3d%np,4), intent(out) | vec_out ) |
Calculate the 3D divergence.
| vec_in | Array storing flux data (Fx,Fy,Fz) at nodes that we apply the differential matrices Dx, Dy, and Dz, respectively |
| vec_in_lift | Array storing surface flux data (Fs) at nodes that we apply the lifting operator |
| vec_out | Array storing the resulting data (Dx Fx, Dy Fy, Dz Fz, Lift Fs) |
Definition at line 257 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::div_var5 | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np,3,5), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%nfptot,5), intent(in) | vec_in_lift, | ||
| real(rp), dimension(this%elem3d%np,4,5), intent(out) | vec_out_d ) |
Calculate the 3D gradient applied for five variables.
Definition at line 258 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::div_var5_2 | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np,3,5), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np,3,5), intent(out) | vec_out_d ) |
Calculate the 3D divergence applied for five variables.
Definition at line 259 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::lift_var5 | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%nfptot,5), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np,5), intent(out) | vec_out ) |
Calculate the lifting term applied for five variables.
Definition at line 260 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::vfilterpm1 | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out ) |
Apply a vertical modal filter which a coefficient with the highest vertical mode is set to zero.
Definition at line 261 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::setup_modalfilter | ( | class(elementoperationtensorprod3d_p6), intent(inout) | this, |
| real(rp), intent(in) | mf_etac_h, | ||
| real(rp), intent(in) | mf_alpha_h, | ||
| integer, intent(in) | mf_order_h, | ||
| real(rp), intent(in) | mf_etac_v, | ||
| real(rp), intent(in) | mf_alpha_v, | ||
| integer, intent(in) | mf_order_v ) |
Setup modal filter.
Definition at line 263 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::setup_modalfilter_tracer | ( | class(elementoperationtensorprod3d_p6), intent(inout) | this, |
| real(rp), intent(in) | mf_etac_h, | ||
| real(rp), intent(in) | mf_alpha_h, | ||
| integer, intent(in) | mf_order_h, | ||
| real(rp), intent(in) | mf_etac_v, | ||
| real(rp), intent(in) | mf_alpha_v, | ||
| integer, intent(in) | mf_order_v ) |
Setup modal filter for tracer.
Definition at line 264 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::modalfilter_tracer | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_work, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_out ) |
Apply a modal filter for tracer variables.
Definition at line 265 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::modalfilter_var5 | ( | class(elementoperationtensorprod3d_p6), intent(in) | this, |
| real(rp), dimension(this%elem3d%np,5), intent(in) | vec_in, | ||
| real(rp), dimension(this%elem3d%np), intent(out) | vec_work, | ||
| real(rp), dimension(this%elem3d%np,5), intent(out) | vec_out ) |
Apply a modal filter for five variables.
Definition at line 266 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::d1d |
Definition at line 236 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::d1d_tr |
Definition at line 237 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7,7,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::lift_mat |
Definition at line 238 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7,7,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::lift_mat_tr |
Definition at line 239 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::intrpmat_vpordm1_tr |
Definition at line 240 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_h1d |
Definition at line 242 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_h1d_tr |
Definition at line 243 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_v1d_tr |
Definition at line 244 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_tracer_h1d |
Definition at line 246 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_tracer_h1d_tr |
Definition at line 247 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_tracer_v1d_tr |
Definition at line 248 of file scale_element_operation_tensorprod3D.F90.