FE-Project
Loading...
Searching...
No Matches
scale_meshfield_filter_operation_base Module Reference

module FElib / Data / Filter operation base More...

Data Types

type  meshfieldfilteroperationbase
 Base type to represent filter operation. More...

Functions/Subroutines

subroutine, public meshfieldfilteroperationbase_init (this, nnode_h1d, filteroptrtype, filtershape, filterwidthfac, nnode_h1d_reconst, nnode_h1d_gl, if_r)
subroutine, public meshfieldfilteroperationbase_final (this)
subroutine, public meshfieldfilteroperationbase_apply_filter1d_x (q, q0, filter1d, npx, npy, npz, ne, nea, nnode_h1d)
subroutine, public meshfieldfilteroperationbase_apply_reconst1d_x (q, q0, minv_ml_tr, minv_mc_tr, minv_mr_tr, intrpmat, npx, npy, npz, ne, npx_reconst, lmesh)
subroutine, public meshfieldfilteroperationbase_apply_reconst1d_x_2 (q, q0, minv_ml_tr, minv_mc_tr, minv_mr_tr, npx, npy, npz, ne, npx_reconst, lmesh)
subroutine, public meshfieldfilteroperationbase_apply_interface_correction1d_x (q, q0, gl, gr, npx, npy, npz, ne, lmesh)
subroutine, public meshfieldfilteroperationbase_apply_filter1d_y (q, q0, filter1d, npx, npy, npz, ne, nea, nnode_h1d)
subroutine, public meshfieldfilteroperationbase_apply_reconst1d_y (q, q0, minv_ml_tr, minv_mc_tr, minv_mr_tr, intrpmat, npx, npy, npz, ne, npy_reconst, lmesh)
subroutine, public meshfieldfilteroperationbase_apply_reconst1d_y_2 (q, q0, minv_ml_tr, minv_mc_tr, minv_mr_tr, npx, npy, npz, ne, npy_reconst, lmesh)

Variables

integer, parameter, public filter_optrtype_convfilter = 1
integer, parameter, public filter_optrtype_reconstruct = 2
integer, parameter, public filter_optrtype_reconstruct2 = 3
integer, parameter, public filter_optrtype_reconstruct2_gl = 4
integer, parameter, public filter_optrtype_interface_correction = 5
integer, parameter, public filter_optrtype_modalfilter = 6

Detailed Description

module FElib / Data / Filter operation base

Description
This module provides a base class to apply filter operations to MeshField data
Author
Yuta Kawai, Team SCALE

Function/Subroutine Documentation

◆ meshfieldfilteroperationbase_init()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_init ( class(meshfieldfilteroperationbase), intent(inout) this,
integer, intent(in) nnode_h1d,
character(*), intent(in) filteroptrtype,
character(*), intent(in) filtershape,
real(rp), intent(in) filterwidthfac,
integer, intent(in) nnode_h1d_reconst,
integer, intent(in), optional nnode_h1d_gl,
integer, intent(in), optional if_r )

Definition at line 110 of file scale_meshfield_filter_operation_base.F90.

114 implicit none
115 class(MeshFieldFilterOperationBase), intent(inout) :: this
116 integer, intent(in) :: Nnode_h1D
117 character(*), intent(in) :: FilterOptrType
118 character(*), intent(in) :: FilterShape
119 real(RP), intent(in) :: FilterWidthFac
120 integer, intent(in) :: Nnode_h1D_reconst
121 integer, intent(in), optional :: Nnode_h1D_GL
122 integer, intent(in), optional :: IF_r
123 !------------------------------
124
125 select case(filteroptrtype)
126 case ('ConvolFilter')
127 call this%Prepair_FilterMat( nnode_h1d, filtershape, filterwidthfac )
128 this%operator_type = filter_optrtype_convfilter
129 case ('Reconstruction')
130 call this%Prepair_ReconstMat( nnode_h1d, nnode_h1d_reconst )
131 this%operator_type = filter_optrtype_reconstruct
132 this%Nnode_h1D_reconst = nnode_h1d_reconst
133 case ('Reconstruction2')
134 call this%Prepair_ReconstMat2( nnode_h1d, nnode_h1d_reconst )
135 this%operator_type = filter_optrtype_reconstruct2
136 this%Nnode_h1D_reconst = nnode_h1d_reconst
137 case ('Reconstruction2_GL')
138 call this%Prepair_ReconstMat2_GL( nnode_h1d, nnode_h1d_reconst, nnode_h1d_gl )
139 this%operator_type = filter_optrtype_reconstruct2_gl
140 this%Nnode_h1D_reconst = nnode_h1d_reconst
141 case ('InterfaceCorrection')
142 call this%Prepair_InterfaceCorrection( nnode_h1d, if_r )
143 this%operator_type = filter_optrtype_interface_correction
144 case default
145 log_info('MeshFieldFilterOperationBase_Init',*) "Unsupported filter operation is specified. Check!", trim(filteroptrtype)
146 call prc_abort
147 end select
148 return

References filter_optrtype_convfilter, filter_optrtype_interface_correction, filter_optrtype_reconstruct, filter_optrtype_reconstruct2, and filter_optrtype_reconstruct2_gl.

Referenced by scale_meshfield_filter_operation_1d::meshfieldfilteroperation1d_init(), scale_meshfield_filter_operation_2d::meshfieldfilteroperation2d_init(), and scale_meshfield_filter_operation_3d::meshfieldfilteroperation3d_init().

◆ meshfieldfilteroperationbase_final()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_final ( class(meshfieldfilteroperationbase), intent(inout) this)

Definition at line 151 of file scale_meshfield_filter_operation_base.F90.

152 implicit none
153 class(MeshFieldFilterOperationBase), intent(inout) :: this
154 !------------------------------
155
156 if ( allocated(this%FilterMat_h1D) ) then
157 deallocate( this%FilterMat_h1D )
158 end if
159 if ( allocated(this%Minv_Ml_tr) ) then
160 deallocate( this%Minv_Ml_tr, this%Minv_Mc_tr, this%Minv_Mr_tr, this%IntrpMat )
161 end if
162 if ( allocated(this%Ml_tr) ) then
163 deallocate( this%Ml_tr, this%Mc_tr, this%Mr_tr )
164 end if
165 if ( allocated(this%IF_gL) ) then
166 deallocate( this%IF_gL, this%IF_gR )
167 end if
168
169 return

Referenced by scale_meshfield_filter_operation_1d::meshfieldfilteroperation1d_init(), scale_meshfield_filter_operation_2d::meshfieldfilteroperation2d_init(), and scale_meshfield_filter_operation_3d::meshfieldfilteroperation3d_init().

◆ meshfieldfilteroperationbase_apply_filter1d_x()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_filter1d_x ( real(rp), dimension(npx,npy,npz,nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(nnode_h1d,-npx+1:2*npx), intent(in) filter1d,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
integer, intent(in) nea,
integer, intent(in) nnode_h1d )

Definition at line 173 of file scale_meshfield_filter_operation_base.F90.

174 implicit none
175 integer, intent(in) :: Npx, Npy, Npz, Ne
176 integer, intent(in) :: NeA
177 integer, intent(in) :: Nnode_h1D
178 real(RP), intent(out) :: q(Npx,Npy,Npz,NeA)
179 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
180 real(RP), intent(in) :: Filter1D(Nnode_h1D,-Npx+1:2*Npx)
181
182 integer :: ke, pz, py, px, p
183 real(RP) :: tmp
184 !-------------------------------------
185
186 !$omp parallel do private(ke,px,py,pz,p,tmp) collapse(2)
187 do ke=1, ne
188 do pz=1, npz
189 do py=1, npy
190 do px=1, npx
191 tmp = 0.0_rp
192 do p=-npx+1, npx+npx
193 tmp = tmp + filter1d(px,p) * q0(p,py,pz,ke)
194 end do
195 q(px,py,pz,ke) = tmp
196 end do
197 end do
198 end do
199 end do
200 return

◆ meshfieldfilteroperationbase_apply_reconst1d_x()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_reconst1d_x ( real(rp), dimension(npx,npy,npz,lmesh%nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(npx,npx_reconst), intent(in) minv_ml_tr,
real(rp), dimension(npx,npx_reconst), intent(in) minv_mc_tr,
real(rp), dimension(npx,npx_reconst), intent(in) minv_mr_tr,
real(rp), dimension(npx,npx_reconst), intent(in) intrpmat,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
integer, intent(in) npx_reconst,
class(localmeshbase), intent(in) lmesh )

Definition at line 204 of file scale_meshfield_filter_operation_base.F90.

206 implicit none
207 class(LocalMeshBase), intent(in) :: lmesh
208 integer, intent(in) :: Npx, Npy, Npz, Ne
209 integer, intent(in) :: Npx_reconst
210 real(RP), intent(out) :: q(Npx,Npy,Npz,lmesh%NeA)
211 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
212 real(RP), intent(in) :: Minv_Ml_tr(Npx,Npx_reconst)
213 real(RP), intent(in) :: Minv_Mc_tr(Npx,Npx_reconst)
214 real(RP), intent(in) :: Minv_Mr_tr(Npx,Npx_reconst)
215 real(RP), intent(in) :: IntrpMat(Npx,Npx_reconst)
216
217 integer :: ke, pz, py, px
218
219 integer :: i,j
220
221 real(RP) :: tmp(Npx_reconst)
222 real(RP) :: s
223 !-------------------------------------
224
225 !$omp parallel do private(ke,px,py,pz,i,j, tmp,s) collapse(2)
226 do ke=1, ne
227 do pz=1, npz
228 do py=1, npy
229 do i=1, npx_reconst
230 s = 0.0_rp
231 do j=1, npx
232 s = s &
233 + minv_ml_tr(j,i) * q0(j-npx,py,pz,ke) &
234 + minv_mc_tr(j,i) * q0( j,py,pz,ke) &
235 + minv_mr_tr(j,i) * q0(j+npx,py,pz,ke)
236 end do
237 tmp(i) = s
238 end do
239 q(:,py,pz,ke) = matmul(intrpmat, tmp)
240 end do
241 end do
242 end do
243 return

◆ meshfieldfilteroperationbase_apply_reconst1d_x_2()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_reconst1d_x_2 ( real(rp), dimension(npx,npy,npz,lmesh%nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(npx,npx), intent(in) minv_ml_tr,
real(rp), dimension(npx,npx), intent(in) minv_mc_tr,
real(rp), dimension(npx,npx), intent(in) minv_mr_tr,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
integer, intent(in) npx_reconst,
class(localmeshbase), intent(in) lmesh )

Definition at line 247 of file scale_meshfield_filter_operation_base.F90.

249 implicit none
250 class(LocalMeshBase), intent(in) :: lmesh
251 integer, intent(in) :: Npx, Npy, Npz, Ne
252 integer, intent(in) :: Npx_reconst
253 real(RP), intent(out) :: q(Npx,Npy,Npz,lmesh%NeA)
254 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
255 real(RP), intent(in) :: Minv_Ml_tr(Npx,Npx)
256 real(RP), intent(in) :: Minv_Mc_tr(Npx,Npx)
257 real(RP), intent(in) :: Minv_Mr_tr(Npx,Npx)
258
259 integer :: ke, pz, py, px
260
261 integer :: i,j
262
263 real(RP) :: tmp(Npx)
264 real(RP) :: s
265 !-------------------------------------
266
267 !$omp parallel do private(ke,px,py,pz,i,j, tmp,s) collapse(2)
268 do ke=1, ne
269 do pz=1, npz
270 do py=1, npy
271 do i=1, npx
272 s = 0.0_rp
273 do j=1, npx
274 s = s &
275 + minv_ml_tr(j,i) * q0(j-npx,py,pz,ke) &
276 + minv_mc_tr(j,i) * q0( j,py,pz,ke) &
277 + minv_mr_tr(j,i) * q0(j+npx,py,pz,ke)
278 end do
279 tmp(i) = s
280 end do
281 q(:,py,pz,ke) = tmp(:)
282 end do
283 end do
284 end do
285 return

◆ meshfieldfilteroperationbase_apply_interface_correction1d_x()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_interface_correction1d_x ( real(rp), dimension(npx,npy,npz,lmesh%nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(npx), intent(in) gl,
real(rp), dimension(npx), intent(in) gr,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
class(localmeshbase), intent(in) lmesh )

Definition at line 289 of file scale_meshfield_filter_operation_base.F90.

291 implicit none
292 class(LocalMeshBase), intent(in) :: lmesh
293 integer, intent(in) :: Npx, Npy, Npz, Ne
294 real(RP), intent(out) :: q(Npx,Npy,Npz,lmesh%NeA)
295 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
296 real(RP), intent(in) :: gL(Npx)
297 real(RP), intent(in) :: gR(Npx)
298
299 integer :: ke, px, py, pz
300
301 real(RP) :: qL, qR
302 real(RP) :: qPL, qPR
303 real(RP) :: qstarL, qstarR
304 real(RP) :: dqL, dqR
305 !-----------------------------------------------------
306
307 !$omp parallel do private(ke, px,py,pz,qL,qR,qPL,qPR,qstarL,qstarR,dqL,dqR) collapse(3)
308 do ke=1, ne
309 do pz=1, npz
310 do py=1, npy
311 ! Current-element traces
312 ql = q0(1, py,pz,ke)
313 qr = q0(npx, py,pz,ke)
314 ! Neighbor traces
315 qpl = q0(0, py,pz,ke)
316 qpr = q0(npx+1, py,pz,ke)
317
318 ! Common interface values
319 qstarl = 0.5_rp * ( ql + qpl )
320 qstarr = 0.5_rp * ( qr + qpr )
321
322 dql = qstarl - ql
323 dqr = qstarr - qr
324
325 do px=1, npx
326 q(px,py,pz,ke) = q0(px,py,pz,ke) &
327 + dql * gl(px) &
328 + dqr * gr(px)
329 end do
330
331 end do
332 end do
333 end do
334
335 return

◆ meshfieldfilteroperationbase_apply_filter1d_y()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_filter1d_y ( real(rp), dimension(npx,npy,npz,nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(nnode_h1d,-npy+1:2*npy), intent(in) filter1d,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
integer, intent(in) nea,
integer, intent(in) nnode_h1d )

Definition at line 339 of file scale_meshfield_filter_operation_base.F90.

340 implicit none
341 integer, intent(in) :: Npx, Npy, Npz, Ne
342 integer, intent(in) :: NeA
343 integer, intent(in) :: Nnode_h1D
344 real(RP), intent(out) :: q(Npx,Npy,Npz,NeA)
345 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
346 real(RP), intent(in) :: Filter1D(Nnode_h1D,-Npy+1:2*Npy)
347
348 integer :: ke, px, py, pz, p
349 real(RP) :: tmp
350 !-------------------------------------
351
352 !$omp parallel do private(ke,px,py,pz,p,tmp) collapse(2)
353 do ke=1, ne
354 do pz=1, npz
355 do py=1, npy
356 do px=1, npx
357 tmp = 0.0_rp
358 do p=-npy+1, npy+npy
359 tmp = tmp + filter1d(py,p) * q0(px,p,pz,ke)
360 end do
361 q(px,py,pz,ke) = tmp
362 end do
363 end do
364 end do
365 end do
366 return

◆ meshfieldfilteroperationbase_apply_reconst1d_y()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_reconst1d_y ( real(rp), dimension(npx,npy,npz,lmesh%nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(npy,npy_reconst), intent(in) minv_ml_tr,
real(rp), dimension(npy,npy_reconst), intent(in) minv_mc_tr,
real(rp), dimension(npy,npy_reconst), intent(in) minv_mr_tr,
real(rp), dimension(npy,npy_reconst), intent(in) intrpmat,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
integer, intent(in) npy_reconst,
class(localmeshbase), intent(in) lmesh )

Definition at line 371 of file scale_meshfield_filter_operation_base.F90.

373 implicit none
374 class(LocalMeshBase), intent(in) :: lmesh
375 integer, intent(in) :: Npx, Npy, Npz, Ne
376 integer, intent(in) :: Npy_reconst
377 real(RP), intent(out) :: q(Npx,Npy,Npz,lmesh%NeA)
378 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
379 real(RP), intent(in) :: Minv_Ml_tr(Npy,Npy_reconst)
380 real(RP), intent(in) :: Minv_Mc_tr(Npy,Npy_reconst)
381 real(RP), intent(in) :: Minv_Mr_tr(Npy,Npy_reconst)
382 real(RP), intent(in) :: IntrpMat(Npy,Npy_reconst)
383
384 integer :: ke, pz, py, px
385
386 integer :: i,j
387 real(RP) :: tmp(Npy_reconst)
388 real(RP) :: s
389 real(RP) :: q0_L(Npy), q0_C(Npy), q0_R(Npy)
390 !-------------------------------------
391
392 !$omp parallel do private(ke,px,py,pz,i,j, tmp,s, &
393 !$omp q0_L,q0_C,q0_R) collapse(2)
394 do ke=1, ne
395 do pz=1, npz
396 do px=1, npx
397 do j=1, npy
398 q0_l(j) = q0(px,j-npy,pz,ke)
399 q0_c(j) = q0(px,j ,pz,ke)
400 q0_r(j) = q0(px,j+npy,pz,ke)
401 end do
402 do i=1, npy_reconst
403 s = 0.0_rp
404 do j=1, npy
405 s = s &
406 + minv_ml_tr(j,i) * q0_l(j) &
407 + minv_mc_tr(j,i) * q0_c(j) &
408 + minv_mr_tr(j,i) * q0_r(j)
409 end do
410 tmp(i) = s
411 end do
412 q(px,:,pz,ke) = matmul(intrpmat, tmp)
413 end do
414 end do
415 end do
416 return

◆ meshfieldfilteroperationbase_apply_reconst1d_y_2()

subroutine, public scale_meshfield_filter_operation_base::meshfieldfilteroperationbase_apply_reconst1d_y_2 ( real(rp), dimension(npx,npy,npz,lmesh%nea), intent(out) q,
real(rp), dimension(-npx+1:2*npx,-npy+1:2*npy,npz,ne), intent(in) q0,
real(rp), dimension(npy,npy), intent(in) minv_ml_tr,
real(rp), dimension(npy,npy), intent(in) minv_mc_tr,
real(rp), dimension(npy,npy), intent(in) minv_mr_tr,
integer, intent(in) npx,
integer, intent(in) npy,
integer, intent(in) npz,
integer, intent(in) ne,
integer, intent(in) npy_reconst,
class(localmeshbase), intent(in) lmesh )

Definition at line 420 of file scale_meshfield_filter_operation_base.F90.

422 implicit none
423 class(LocalMeshBase), intent(in) :: lmesh
424 integer, intent(in) :: Npx, Npy, Npz, Ne
425 integer, intent(in) :: Npy_reconst
426 real(RP), intent(out) :: q(Npx,Npy,Npz,lmesh%NeA)
427 real(RP), intent(in) :: q0(-Npx+1:2*Npx,-Npy+1:2*Npy,Npz,Ne)
428 real(RP), intent(in) :: Minv_Ml_tr(Npy,Npy)
429 real(RP), intent(in) :: Minv_Mc_tr(Npy,Npy)
430 real(RP), intent(in) :: Minv_Mr_tr(Npy,Npy)
431
432 integer :: ke, pz, py, px
433
434 integer :: i,j
435 real(RP) :: tmp(Npy)
436 real(RP) :: s
437 real(RP) :: q0_L(Npy), q0_C(Npy), q0_R(Npy)
438 !-------------------------------------
439
440 !$omp parallel do private(ke,px,py,pz,i,j, tmp,s, &
441 !$omp q0_L,q0_C,q0_R) collapse(2)
442 do ke=1, ne
443 do pz=1, npz
444 do px=1, npx
445 do j=1, npy
446 q0_l(j) = q0(px,j-npy,pz,ke)
447 q0_c(j) = q0(px,j ,pz,ke)
448 q0_r(j) = q0(px,j+npy,pz,ke)
449 end do
450 do i=1, npy
451 s = 0.0_rp
452 do j=1, npy
453 s = s &
454 + minv_ml_tr(j,i) * q0_l(j) &
455 + minv_mc_tr(j,i) * q0_c(j) &
456 + minv_mr_tr(j,i) * q0_r(j)
457 end do
458 tmp(i) = s
459 end do
460 q(px,:,pz,ke) = tmp(:)
461 end do
462 end do
463 end do
464 return

References scale_polynomial::polynomial_gengausslegendrept(), scale_polynomial::polynomial_gengausslegendreptintweight(), and scale_polynomial::polynomial_genlagrangepoly().

Variable Documentation

◆ filter_optrtype_convfilter

integer, parameter, public scale_meshfield_filter_operation_base::filter_optrtype_convfilter = 1

◆ filter_optrtype_reconstruct

integer, parameter, public scale_meshfield_filter_operation_base::filter_optrtype_reconstruct = 2

◆ filter_optrtype_reconstruct2

integer, parameter, public scale_meshfield_filter_operation_base::filter_optrtype_reconstruct2 = 3

◆ filter_optrtype_reconstruct2_gl

integer, parameter, public scale_meshfield_filter_operation_base::filter_optrtype_reconstruct2_gl = 4

Definition at line 104 of file scale_meshfield_filter_operation_base.F90.

104 integer, parameter, public :: FILTER_OPTRTYPE_RECONSTRUCT2_GL = 4

Referenced by scale_meshfield_filter_operation_1d::meshfieldfilteroperation1d_init(), and meshfieldfilteroperationbase_init().

◆ filter_optrtype_interface_correction

integer, parameter, public scale_meshfield_filter_operation_base::filter_optrtype_interface_correction = 5

Definition at line 105 of file scale_meshfield_filter_operation_base.F90.

105 integer, public, parameter :: FILTER_OPTRTYPE_INTERFACE_CORRECTION = 5

Referenced by scale_meshfield_filter_operation_1d::meshfieldfilteroperation1d_init(), and meshfieldfilteroperationbase_init().

◆ filter_optrtype_modalfilter

integer, parameter, public scale_meshfield_filter_operation_base::filter_optrtype_modalfilter = 6

Definition at line 106 of file scale_meshfield_filter_operation_base.F90.

106 integer, parameter, public :: FILTER_OPTRTYPE_MODALFILTER = 6