|
FE-Project
|
Derived type for elementwise operations with 3D tensor product elements with polynomial order p=7. 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(8, 8) | d1d |
| real(rp), dimension(8, 8) | d1d_tr |
| real(rp), dimension(8, 8, 8, 6) | lift_mat |
| real(rp), dimension(8, 8, 8, 6) | lift_mat_tr |
| real(rp), dimension(8, 8) | intrpmat_vpordm1_tr |
| real(rp), dimension(8, 8) | mfilter_h1d |
| real(rp), dimension(8, 8) | mfilter_h1d_tr |
| real(rp), dimension(8, 8) | mfilter_v1d_tr |
| real(rp), dimension(8, 8) | mfilter_tracer_h1d |
| real(rp), dimension(8, 8) | mfilter_tracer_h1d_tr |
| real(rp), dimension(8, 8) | 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=7.
Definition at line 269 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::init | ( | class(elementoperationtensorprod3d_p7), intent(inout) | this, |
| class(elementbase3d), intent(in), target | elem3d ) |
Initialization.
Definition at line 284 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::final | ( | class(elementoperationtensorprod3d_p7), intent(inout) | this | ) |
Finalization.
Definition at line 285 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::dx | ( | class(elementoperationtensorprod3d_p7), 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 286 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::dy | ( | class(elementoperationtensorprod3d_p7), 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 287 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::dz | ( | class(elementoperationtensorprod3d_p7), 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 288 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::lift | ( | class(elementoperationtensorprod3d_p7), 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 289 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::dxdydzlift | ( | class(elementoperationtensorprod3d_p7), 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 290 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::div | ( | class(elementoperationtensorprod3d_p7), 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 291 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::div_var5 | ( | class(elementoperationtensorprod3d_p7), 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 292 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::div_var5_2 | ( | class(elementoperationtensorprod3d_p7), 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 293 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::lift_var5 | ( | class(elementoperationtensorprod3d_p7), 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 294 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::vfilterpm1 | ( | class(elementoperationtensorprod3d_p7), 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 295 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::setup_modalfilter | ( | class(elementoperationtensorprod3d_p7), 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 297 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::setup_modalfilter_tracer | ( | class(elementoperationtensorprod3d_p7), 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 298 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::modalfilter_tracer | ( | class(elementoperationtensorprod3d_p7), 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 299 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::modalfilter_var5 | ( | class(elementoperationtensorprod3d_p7), 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 300 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::d1d |
Definition at line 270 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::d1d_tr |
Definition at line 271 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8,8,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::lift_mat |
Definition at line 272 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8,8,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::lift_mat_tr |
Definition at line 273 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::intrpmat_vpordm1_tr |
Definition at line 274 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::mfilter_h1d |
Definition at line 276 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::mfilter_h1d_tr |
Definition at line 277 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::mfilter_v1d_tr |
Definition at line 278 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::mfilter_tracer_h1d |
Definition at line 280 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::mfilter_tracer_h1d_tr |
Definition at line 281 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(8,8) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p7::mfilter_tracer_v1d_tr |
Definition at line 282 of file scale_element_operation_tensorprod3D.F90.