11#include "scaleFElib.h"
35 procedure(elementoperationbase_dx),
deferred,
public :: dx
36 procedure(elementoperationbase_dy),
deferred,
public :: dy
37 procedure(elementoperationbase_dz),
deferred,
public :: dz
38 procedure(elementoperationbase_lift),
deferred,
public :: lift
39 procedure(elementoperationbase_dxdydzlift),
deferred,
public :: dxdydzlift
40 procedure(elementoperationbase_div),
deferred,
public :: div
41 procedure(elementoperationbase_div_var5),
deferred,
public :: div_var5
42 procedure(elementoperationbase_vfilterpm1),
deferred,
public :: vfilterpm1
43 procedure(elementoperationbase_setup_modalfilter),
deferred,
public :: setup_modalfilter
44 procedure(elementoperationbase_setup_modalfilter_tracer),
deferred,
public :: setup_modalfilter_tracer
45 procedure(elementoperationbase_modalfilter_tracer),
deferred,
public :: modalfilter_tracer
46 procedure(elementoperationbase_modalfilter_var5),
deferred,
public :: modalfilter_var5
54 subroutine elementoperationbase_dx( this, vec_in, vec_out )
58 real(RP),
intent(in) :: vec_in(this%elem3D%Np)
59 real(RP),
intent(out) :: vec_out(this%elem3D%Np)
60 end subroutine elementoperationbase_dx
62 subroutine elementoperationbase_dy( this, vec_in, vec_out )
66 real(RP),
intent(in) :: vec_in(this%elem3D%Np)
67 real(RP),
intent(out) :: vec_out(this%elem3D%Np)
68 end subroutine elementoperationbase_dy
70 subroutine elementoperationbase_dz( this, vec_in, vec_out )
74 real(RP),
intent(in) :: vec_in(this%elem3D%Np)
75 real(RP),
intent(out) :: vec_out(this%elem3D%Np)
76 end subroutine elementoperationbase_dz
78 subroutine elementoperationbase_lift( this, vec_in, vec_out )
82 real(RP),
intent(in) :: vec_in(this%elem3D%NfpTot)
83 real(RP),
intent(out) :: vec_out(this%elem3D%Np)
84 end subroutine elementoperationbase_lift
86 subroutine elementoperationbase_dxdydzlift( this, vec_in, vec_in_lift, vec_out_dx, vec_out_dy, vec_out_dz, vec_out_lift )
90 real(RP),
intent(in) :: vec_in(this%elem3D%Np)
91 real(RP),
intent(in) :: vec_in_lift(this%elem3D%NfpTot)
92 real(RP),
intent(out) :: vec_out_dx(this%elem3D%Np)
93 real(RP),
intent(out) :: vec_out_dy(this%elem3D%Np)
94 real(RP),
intent(out) :: vec_out_dz(this%elem3D%Np)
95 real(RP),
intent(out) :: vec_out_lift(this%elem3D%Np)
96 end subroutine elementoperationbase_dxdydzlift
98 subroutine elementoperationbase_div( this, vec_in_x, vec_in_y, vec_in_z, vec_in_lift, &
99 vec_out_dx, vec_out_dy, vec_out_dz, vec_out_lift )
103 real(RP),
intent(in) :: vec_in_x(this%elem3D%Np)
104 real(RP),
intent(in) :: vec_in_y(this%elem3D%Np)
105 real(RP),
intent(in) :: vec_in_z(this%elem3D%Np)
106 real(RP),
intent(in) :: vec_in_lift(this%elem3D%NfpTot)
107 real(RP),
intent(out) :: vec_out_dx(this%elem3D%Np)
108 real(RP),
intent(out) :: vec_out_dy(this%elem3D%Np)
109 real(RP),
intent(out) :: vec_out_dz(this%elem3D%Np)
110 real(RP),
intent(out) :: vec_out_lift(this%elem3D%Np)
111 end subroutine elementoperationbase_div
113 subroutine elementoperationbase_div_var5( this, vec_in, vec_in_lift, &
118 real(RP),
intent(in) :: vec_in(this%elem3D%Np,3,5)
119 real(RP),
intent(in) :: vec_in_lift(this%elem3D%NfpTot,5)
120 real(RP),
intent(out) :: vec_out_d(this%elem3D%Np,4,5)
121 end subroutine elementoperationbase_div_var5
123 subroutine elementoperationbase_vfilterpm1( this, vec_in, vec_out )
127 real(RP),
intent(in) :: vec_in(this%elem3D%Np)
128 real(RP),
intent(out) :: vec_out(this%elem3D%Np)
129 end subroutine elementoperationbase_vfilterpm1
131 subroutine elementoperationbase_setup_modalfilter( this, &
132 MF_ETAC_h, MF_ALPHA_h, MF_ORDER_h, &
133 MF_ETAC_v, MF_ALPHA_v, MF_ORDER_v )
137 real(RP),
intent(in) :: MF_ETAC_h
138 real(RP),
intent(in) :: MF_ALPHA_h
139 integer,
intent(in) :: MF_ORDER_h
140 real(RP),
intent(in) :: MF_ETAC_v
141 real(RP),
intent(in) :: MF_ALPHA_v
142 integer,
intent(in) :: MF_ORDER_v
143 end subroutine elementoperationbase_setup_modalfilter
145 subroutine elementoperationbase_setup_modalfilter_tracer( this, &
146 MF_ETAC_h, MF_ALPHA_h, MF_ORDER_h, &
147 MF_ETAC_v, MF_ALPHA_v, MF_ORDER_v )
151 real(RP),
intent(in) :: MF_ETAC_h
152 real(RP),
intent(in) :: MF_ALPHA_h
153 integer,
intent(in) :: MF_ORDER_h
154 real(RP),
intent(in) :: MF_ETAC_v
155 real(RP),
intent(in) :: MF_ALPHA_v
156 integer,
intent(in) :: MF_ORDER_v
157 end subroutine elementoperationbase_setup_modalfilter_tracer
159 subroutine elementoperationbase_modalfilter_tracer( this, vec_in, vec_work, vec_out )
163 real(RP),
intent(in) :: vec_in(this%elem3D%Np)
164 real(RP),
intent(out) :: vec_work(this%elem3D%Np)
165 real(RP),
intent(out) :: vec_out(this%elem3D%Np)
166 end subroutine elementoperationbase_modalfilter_tracer
168 subroutine elementoperationbase_modalfilter_var5( this, vec_in, vec_work, vec_out )
172 real(RP),
intent(in) :: vec_in(this%elem3D%Np,5)
173 real(RP),
intent(out) :: vec_work(this%elem3D%Np)
174 real(RP),
intent(out) :: vec_out(this%elem3D%Np,5)
175 end subroutine elementoperationbase_modalfilter_var5
179end module scale_element_operation_base
module FElib / Element / Base
subroutine, public elementbase3d_init(elem, lumpedmat_flag)
subroutine, public elementbase3d_final(elem)
module FElib / Element / Operation / Base