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

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

Inheritance diagram for scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5:
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(6, 6) d1d
real(rp), dimension(6, 6) d1d_tr
real(rp), dimension(6, 6, 6, 6) lift_mat
real(rp), dimension(6, 6, 6, 6) lift_mat_tr
real(rp), dimension(6, 6) intrpmat_vpordm1_tr
real(rp), dimension(6, 6) mfilter_h1d
real(rp), dimension(6, 6) mfilter_h1d_tr
real(rp), dimension(6, 6) mfilter_v1d_tr
real(rp), dimension(6, 6) mfilter_tracer_h1d
real(rp), dimension(6, 6) mfilter_tracer_h1d_tr
real(rp), dimension(6, 6) 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=5.

Definition at line 201 of file scale_element_operation_tensorprod3D.F90.

Member Function/Subroutine Documentation

◆ init()

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

Initialization.

Definition at line 216 of file scale_element_operation_tensorprod3D.F90.

◆ final()

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

Finalization.

Definition at line 217 of file scale_element_operation_tensorprod3D.F90.

◆ dx()

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

◆ dy()

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

◆ dz()

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

◆ lift()

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

◆ dxdydzlift()

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

◆ div()

procedure, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::div ( class(elementoperationtensorprod3d_p5), 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 223 of file scale_element_operation_tensorprod3D.F90.

◆ div_var5()

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

◆ div_var5_2()

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

◆ lift_var5()

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

◆ vfilterpm1()

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

◆ setup_modalfilter()

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

◆ setup_modalfilter_tracer()

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

◆ modalfilter_tracer()

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

◆ modalfilter_var5()

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

Member Data Documentation

◆ d1d

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::d1d

Definition at line 202 of file scale_element_operation_tensorprod3D.F90.

202 real(RP) :: D1D(6,6)

◆ d1d_tr

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::d1d_tr

Definition at line 203 of file scale_element_operation_tensorprod3D.F90.

203 real(RP) :: D1D_tr(6,6)

◆ lift_mat

real(rp), dimension(6,6,6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::lift_mat

Definition at line 204 of file scale_element_operation_tensorprod3D.F90.

204 real(RP) :: Lift_mat(6,6,6,6)

◆ lift_mat_tr

real(rp), dimension(6,6,6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::lift_mat_tr

Definition at line 205 of file scale_element_operation_tensorprod3D.F90.

205 real(RP) :: Lift_mat_tr(6,6,6,6)

◆ intrpmat_vpordm1_tr

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::intrpmat_vpordm1_tr

Definition at line 206 of file scale_element_operation_tensorprod3D.F90.

206 real(RP) :: IntrpMat_VPOrdM1_tr(6,6)

◆ mfilter_h1d

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::mfilter_h1d

Definition at line 208 of file scale_element_operation_tensorprod3D.F90.

208 real(RP) :: MFilter_h1D(6,6)

◆ mfilter_h1d_tr

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::mfilter_h1d_tr

Definition at line 209 of file scale_element_operation_tensorprod3D.F90.

209 real(RP) :: MFilter_h1D_tr(6,6)

◆ mfilter_v1d_tr

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::mfilter_v1d_tr

Definition at line 210 of file scale_element_operation_tensorprod3D.F90.

210 real(RP) :: MFilter_v1D_tr(6,6)

◆ mfilter_tracer_h1d

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::mfilter_tracer_h1d

Definition at line 212 of file scale_element_operation_tensorprod3D.F90.

212 real(RP) :: MFilter_tracer_h1D(6,6)

◆ mfilter_tracer_h1d_tr

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::mfilter_tracer_h1d_tr

Definition at line 213 of file scale_element_operation_tensorprod3D.F90.

213 real(RP) :: MFilter_tracer_h1D_tr(6,6)

◆ mfilter_tracer_v1d_tr

real(rp), dimension(6,6) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p5::mfilter_tracer_v1d_tr

Definition at line 214 of file scale_element_operation_tensorprod3D.F90.

214 real(RP) :: MFilter_tracer_v1D_tr(6,6)

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