|
FE-Project
|
Derived type for elementwise operations with 3D tensor product elements with polynomial order p=12. 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(13, 13) | d1d |
| real(rp), dimension(13, 13) | d1d_tr |
| real(rp), dimension(13, 13, 13, 6) | lift_mat |
| real(rp), dimension(13, 13, 13, 6) | lift_mat_tr |
| real(rp), dimension(13, 13) | intrpmat_vpordm1_tr |
| real(rp), dimension(13, 13) | mfilter_h1d |
| real(rp), dimension(13, 13) | mfilter_h1d_tr |
| real(rp), dimension(13, 13) | mfilter_v1d_tr |
| real(rp), dimension(13, 13) | mfilter_tracer_h1d |
| real(rp), dimension(13, 13) | mfilter_tracer_h1d_tr |
| real(rp), dimension(13, 13) | 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=12.
Definition at line 439 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::init | ( | class(elementoperationtensorprod3d_p12), intent(inout) | this, |
| class(elementbase3d), intent(in), target | elem3d ) |
Initialization.
Definition at line 454 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::final | ( | class(elementoperationtensorprod3d_p12), intent(inout) | this | ) |
Finalization.
Definition at line 455 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::dx | ( | class(elementoperationtensorprod3d_p12), 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 456 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::dy | ( | class(elementoperationtensorprod3d_p12), 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 457 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::dz | ( | class(elementoperationtensorprod3d_p12), 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 458 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::lift | ( | class(elementoperationtensorprod3d_p12), 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 459 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::dxdydzlift | ( | class(elementoperationtensorprod3d_p12), 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 460 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::div | ( | class(elementoperationtensorprod3d_p12), 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 461 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::div_var5 | ( | class(elementoperationtensorprod3d_p12), 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 462 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::div_var5_2 | ( | class(elementoperationtensorprod3d_p12), 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 463 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::lift_var5 | ( | class(elementoperationtensorprod3d_p12), 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 464 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::vfilterpm1 | ( | class(elementoperationtensorprod3d_p12), 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 465 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::setup_modalfilter | ( | class(elementoperationtensorprod3d_p12), 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 467 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::setup_modalfilter_tracer | ( | class(elementoperationtensorprod3d_p12), 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 468 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::modalfilter_tracer | ( | class(elementoperationtensorprod3d_p12), 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 469 of file scale_element_operation_tensorprod3D.F90.
| procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::modalfilter_var5 | ( | class(elementoperationtensorprod3d_p12), 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 470 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::d1d |
Definition at line 440 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::d1d_tr |
Definition at line 441 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13,13,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::lift_mat |
Definition at line 442 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13,13,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::lift_mat_tr |
Definition at line 443 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::intrpmat_vpordm1_tr |
Definition at line 444 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::mfilter_h1d |
Definition at line 446 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::mfilter_h1d_tr |
Definition at line 447 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::mfilter_v1d_tr |
Definition at line 448 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::mfilter_tracer_h1d |
Definition at line 450 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::mfilter_tracer_h1d_tr |
Definition at line 451 of file scale_element_operation_tensorprod3D.F90.
| real(rp), dimension(13,13) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p12::mfilter_tracer_v1d_tr |
Definition at line 452 of file scale_element_operation_tensorprod3D.F90.