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

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

Inheritance diagram for scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6:
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(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)

Detailed Description

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.

Member Function/Subroutine Documentation

◆ init()

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.

◆ final()

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.

◆ dx()

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.

◆ dy()

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.

◆ dz()

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.

◆ lift()

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.

◆ dxdydzlift()

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.

◆ div()

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.

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 257 of file scale_element_operation_tensorprod3D.F90.

◆ div_var5()

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.

◆ div_var5_2()

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.

◆ lift_var5()

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.

◆ vfilterpm1()

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.

◆ setup_modalfilter()

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.

◆ setup_modalfilter_tracer()

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.

◆ modalfilter_tracer()

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.

◆ modalfilter_var5()

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.

Member Data Documentation

◆ d1d

real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::d1d

Definition at line 236 of file scale_element_operation_tensorprod3D.F90.

236 real(RP) :: D1D(7,7)

◆ d1d_tr

real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::d1d_tr

Definition at line 237 of file scale_element_operation_tensorprod3D.F90.

237 real(RP) :: D1D_tr(7,7)

◆ lift_mat

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.

238 real(RP) :: Lift_mat(7,7,7,6)

◆ lift_mat_tr

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.

239 real(RP) :: Lift_mat_tr(7,7,7,6)

◆ intrpmat_vpordm1_tr

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.

240 real(RP) :: IntrpMat_VPOrdM1_tr(7,7)

◆ mfilter_h1d

real(rp), dimension(7,7) scale_element_operation_tensorprod3d::elementoperationtensorprod3d_p6::mfilter_h1d

Definition at line 242 of file scale_element_operation_tensorprod3D.F90.

242 real(RP) :: MFilter_h1D(7,7)

◆ mfilter_h1d_tr

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.

243 real(RP) :: MFilter_h1D_tr(7,7)

◆ mfilter_v1d_tr

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.

244 real(RP) :: MFilter_v1D_tr(7,7)

◆ mfilter_tracer_h1d

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.

246 real(RP) :: MFilter_tracer_h1D(7,7)

◆ mfilter_tracer_h1d_tr

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.

247 real(RP) :: MFilter_tracer_h1D_tr(7,7)

◆ mfilter_tracer_v1d_tr

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.

248 real(RP) :: MFilter_tracer_v1D_tr(7,7)

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