FE-Project
Loading...
Searching...
No Matches
scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11 Type Reference

Derived type for elementwise operations with 3D tensor product elements with polynomial order p=11. More...

Inheritance diagram for scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11:
scale_element_operation_tensorprod3d::elementoperationtensorprod3d scale_element_operation_base::elementoperationbase3d

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(12, 12) d1d
real(rp), dimension(12, 12) d1d_tr
real(rp), dimension(12, 12, 12, 6) lift_mat
real(rp), dimension(12, 12, 12, 6) lift_mat_tr
real(rp), dimension(12, 12) intrpmat_vpordm1_tr
real(rp), dimension(12, 12) mfilter_h1d
real(rp), dimension(12, 12) mfilter_h1d_tr
real(rp), dimension(12, 12) mfilter_v1d_tr
real(rp), dimension(12, 12) mfilter_tracer_h1d
real(rp), dimension(12, 12) mfilter_tracer_h1d_tr
real(rp), dimension(12, 12) 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)

Detailed Description

Derived type for elementwise operations with 3D tensor product elements with polynomial order p=11.

Definition at line 405 of file scale_element_operation_tensorprod3D.F90.

Member Function/Subroutine Documentation

◆ init()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::init ( class(elementoperationtensorprod3d_p11), intent(inout) this,
class(elementbase3d), intent(in), target elem3d )

Initialization.

Definition at line 420 of file scale_element_operation_tensorprod3D.F90.

◆ final()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::final ( class(elementoperationtensorprod3d_p11), intent(inout) this)

Finalization.

Definition at line 421 of file scale_element_operation_tensorprod3D.F90.

◆ dx()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::dx ( class(elementoperationtensorprod3d_p11), 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 422 of file scale_element_operation_tensorprod3D.F90.

◆ dy()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::dy ( class(elementoperationtensorprod3d_p11), 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 423 of file scale_element_operation_tensorprod3D.F90.

◆ dz()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::dz ( class(elementoperationtensorprod3d_p11), 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 424 of file scale_element_operation_tensorprod3D.F90.

◆ lift()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::lift ( class(elementoperationtensorprod3d_p11), 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 425 of file scale_element_operation_tensorprod3D.F90.

◆ dxdydzlift()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::dxdydzlift ( class(elementoperationtensorprod3d_p11), 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 426 of file scale_element_operation_tensorprod3D.F90.

◆ div()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::div ( class(elementoperationtensorprod3d_p11), 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.

Parameters
vec_inArray storing flux data (Fx,Fy,Fz) at nodes that we apply the differential matrices Dx, Dy, and Dz, respectively
vec_in_liftArray storing surface flux data (Fs) at nodes that we apply the lifting operator
vec_outArray storing the resulting data (Dx Fx, Dy Fy, Dz Fz, Lift Fs)

Definition at line 427 of file scale_element_operation_tensorprod3D.F90.

◆ div_var5()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::div_var5 ( class(elementoperationtensorprod3d_p11), 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 428 of file scale_element_operation_tensorprod3D.F90.

◆ div_var5_2()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::div_var5_2 ( class(elementoperationtensorprod3d_p11), 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 429 of file scale_element_operation_tensorprod3D.F90.

◆ lift_var5()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::lift_var5 ( class(elementoperationtensorprod3d_p11), 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 430 of file scale_element_operation_tensorprod3D.F90.

◆ vfilterpm1()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::vfilterpm1 ( class(elementoperationtensorprod3d_p11), 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 431 of file scale_element_operation_tensorprod3D.F90.

◆ setup_modalfilter()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::setup_modalfilter ( class(elementoperationtensorprod3d_p11), 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 433 of file scale_element_operation_tensorprod3D.F90.

◆ setup_modalfilter_tracer()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::setup_modalfilter_tracer ( class(elementoperationtensorprod3d_p11), 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 434 of file scale_element_operation_tensorprod3D.F90.

◆ modalfilter_tracer()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::modalfilter_tracer ( class(elementoperationtensorprod3d_p11), 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 435 of file scale_element_operation_tensorprod3D.F90.

◆ modalfilter_var5()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::modalfilter_var5 ( class(elementoperationtensorprod3d_p11), 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 436 of file scale_element_operation_tensorprod3D.F90.

Member Data Documentation

◆ d1d

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::d1d

Definition at line 406 of file scale_element_operation_tensorprod3D.F90.

406 real(RP) :: D1D(12,12)

◆ d1d_tr

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::d1d_tr

Definition at line 407 of file scale_element_operation_tensorprod3D.F90.

407 real(RP) :: D1D_tr(12,12)

◆ lift_mat

real(rp), dimension(12,12,12,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::lift_mat

Definition at line 408 of file scale_element_operation_tensorprod3D.F90.

408 real(RP) :: Lift_mat(12,12,12,6)

◆ lift_mat_tr

real(rp), dimension(12,12,12,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::lift_mat_tr

Definition at line 409 of file scale_element_operation_tensorprod3D.F90.

409 real(RP) :: Lift_mat_tr(12,12,12,6)

◆ intrpmat_vpordm1_tr

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::intrpmat_vpordm1_tr

Definition at line 410 of file scale_element_operation_tensorprod3D.F90.

410 real(RP) :: IntrpMat_VPOrdM1_tr(12,12)

◆ mfilter_h1d

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::mfilter_h1d

Definition at line 412 of file scale_element_operation_tensorprod3D.F90.

412 real(RP) :: MFilter_h1D(12,12)

◆ mfilter_h1d_tr

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::mfilter_h1d_tr

Definition at line 413 of file scale_element_operation_tensorprod3D.F90.

413 real(RP) :: MFilter_h1D_tr(12,12)

◆ mfilter_v1d_tr

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::mfilter_v1d_tr

Definition at line 414 of file scale_element_operation_tensorprod3D.F90.

414 real(RP) :: MFilter_v1D_tr(12,12)

◆ mfilter_tracer_h1d

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::mfilter_tracer_h1d

Definition at line 416 of file scale_element_operation_tensorprod3D.F90.

416 real(RP) :: MFilter_tracer_h1D(12,12)

◆ mfilter_tracer_h1d_tr

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::mfilter_tracer_h1d_tr

Definition at line 417 of file scale_element_operation_tensorprod3D.F90.

417 real(RP) :: MFilter_tracer_h1D_tr(12,12)

◆ mfilter_tracer_v1d_tr

real(rp), dimension(12,12) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p11::mfilter_tracer_v1d_tr

Definition at line 418 of file scale_element_operation_tensorprod3D.F90.

418 real(RP) :: MFilter_tracer_v1D_tr(12,12)

The documentation for this type was generated from the following file: