Neko 1.99.6
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
elementwise_filter::elementwise_filter_t Type Referenceabstract

Implements the elementwise filter for SEM. More...

Inheritance diagram for elementwise_filter::elementwise_filter_t:
Collaboration diagram for elementwise_filter::elementwise_filter_t:

Public Member Functions

procedure, pass(thisinit (this, json, coef)
 Constructor.
 
procedure, pass(thisinit_from_components (this, coef, filter_type, transfer)
 Actual constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisbuild_1d (this)
 Set up 1D filter inside an element.
 
procedure, pass(thisapply (this, f_out, f_in)
 Filter a 3D field.
 
procedure, pass(thisinit_base (this, coef)
 Constructor for the filter_t class.
 
procedure, pass(thisfree_base (this)
 Destructor for the filter_t (base) class.
 
procedure(filter_init), deferred, pass init (this, json, coef)
 The common constructor using a JSON dictionary.
 
procedure(filter_free), deferred, pass free (this)
 Destructor.
 
procedure(filter_apply), deferred, pass apply (this, f_out, f_in)
 The main function to be executed during the run.
 

Public Attributes

character(len=:), allocatable filter_type
 filter type: possible options: "Boyd", "nonBoyd"
 
integer nx
 dimension
 
integer nt
 filtered wavenumber
 
real(kind=rp), dimension(:,:), allocatable fh
 matrix for 1d elementwise filtering
 
real(kind=rp), dimension(:,:), allocatable fht
 
type(c_ptr) fh_d = C_NULL_PTR
 
type(c_ptr) fht_d = C_NULL_PTR
 
real(kind=rp), dimension(:), allocatable transfer
 transfer function
 
type(coef_t), pointer coef => null()
 Coefficients for the SEM.
 

Detailed Description

Definition at line 56 of file elementwise_filter.f90.

Member Function/Subroutine Documentation

◆ apply() [1/2]

procedure, pass(this) elementwise_filter::elementwise_filter_t::apply ( class(elementwise_filter_t), intent(inout this,
type(field_t), intent(inout f_out,
type(field_t), intent(in f_in 
)

Definition at line 81 of file elementwise_filter.f90.

◆ apply() [2/2]

procedure(filter_apply), deferred, pass filter::filter_t::apply ( class(filter_t), intent(inout this,
type(field_t), intent(inout f_out,
type(field_t), intent(in f_in 
)
pure virtualinherited

Definition at line 61 of file filter.f90.

◆ build_1d()

procedure, pass(this) elementwise_filter::elementwise_filter_t::build_1d ( class(elementwise_filter_t), intent(inout this)

Definition at line 79 of file elementwise_filter.f90.

◆ free() [1/2]

procedure, pass(this) elementwise_filter::elementwise_filter_t::free ( class(elementwise_filter_t), intent(inout this)

Definition at line 77 of file elementwise_filter.f90.

◆ free() [2/2]

procedure(filter_free), deferred, pass filter::filter_t::free ( class(filter_t), intent(inout this)
pure virtualinherited

Definition at line 59 of file filter.f90.

◆ free_base()

procedure, pass(this) filter::filter_t::free_base ( class(filter_t), intent(inout this)
inherited

Definition at line 55 of file filter.f90.

◆ init() [1/2]

procedure, pass(this) elementwise_filter::elementwise_filter_t::init ( class(elementwise_filter_t), intent(inout this,
type(json_file), intent(inout json,
type(coef_t), intent(in), target  coef 
)

Definition at line 72 of file elementwise_filter.f90.

◆ init() [2/2]

procedure(filter_init), deferred, pass filter::filter_t::init ( class(filter_t), intent(inout this,
type(json_file), intent(inout json,
type(coef_t), intent(in), target  coef 
)
pure virtualinherited

Definition at line 57 of file filter.f90.

◆ init_base()

procedure, pass(this) filter::filter_t::init_base ( class(filter_t), intent(inout this,
type(coef_t), intent(in), target  coef 
)
inherited
Parameters
objectThe object to be allocated.
type_nameThe name of the filter.
jsonA dictionary with parameters.
coefSEM coefficients. Constructor for the filter_t (base) class.

Definition at line 53 of file filter.f90.

◆ init_from_components()

procedure, pass(this) elementwise_filter::elementwise_filter_t::init_from_components ( class(elementwise_filter_t), intent(inout this,
type(coef_t), intent(in), target  coef,
character(len=*), intent(in filter_type,
real(kind=rp), dimension(:), intent(in), optional  transfer 
)
Parameters
coefSEM coefficients.
filter_typeType of modal basis used by the filter.
transferOptional transfer function.

Definition at line 74 of file elementwise_filter.f90.

Member Data Documentation

◆ coef

type(coef_t), pointer filter::filter_t::coef => null()
inherited

Definition at line 49 of file filter.f90.

◆ fh

real(kind=rp), dimension(:,:), allocatable elementwise_filter::elementwise_filter_t::fh

Definition at line 65 of file elementwise_filter.f90.

◆ fh_d

type(c_ptr) elementwise_filter::elementwise_filter_t::fh_d = C_NULL_PTR

Definition at line 66 of file elementwise_filter.f90.

◆ fht

real(kind=rp), dimension(:,:), allocatable elementwise_filter::elementwise_filter_t::fht

Definition at line 65 of file elementwise_filter.f90.

◆ fht_d

type(c_ptr) elementwise_filter::elementwise_filter_t::fht_d = C_NULL_PTR

Definition at line 67 of file elementwise_filter.f90.

◆ filter_type

character(len=:), allocatable elementwise_filter::elementwise_filter_t::filter_type

Definition at line 59 of file elementwise_filter.f90.

◆ nt

integer elementwise_filter::elementwise_filter_t::nt

Definition at line 63 of file elementwise_filter.f90.

◆ nx

integer elementwise_filter::elementwise_filter_t::nx

Definition at line 61 of file elementwise_filter.f90.

◆ transfer

real(kind=rp), dimension(:), allocatable elementwise_filter::elementwise_filter_t::transfer

Definition at line 69 of file elementwise_filter.f90.


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