Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
wall_sampler::wall_sampler_t Type Referenceabstract

Base type for sampling solution fields at points associated with wall nodes. Samples belonging to one wall node are stored contiguously. More...

Inheritance diagram for wall_sampler::wall_sampler_t:
Collaboration diagram for wall_sampler::wall_sampler_t:

Public Member Functions

procedure, pass(thisinit_base (this, n_nodes, n_samples, h, output_h)
 Initialise state common to all fully constructed wall samplers.
 
procedure, pass(thisoutput_h (this, coef, msk, bc_name)
 Write the wall-normal sampling distance as a field file.
 
procedure(wall_sampler_init), deferred, pass init (this, json)
 Parse sampler-specific configuration from JSON.
 
procedure(wall_sampler_finalize), deferred, pass finalize (this, coef, msk, facet, n_x, n_y, n_z, bc_name, user)
 Complete sampler setup after geometric and wall-node data are known.
 
procedure(wall_sampler_sample), deferred, pass sample (this, field, values)
 Sample the solution field at the sampling points.
 
procedure(wall_sampler_free), deferred, pass free (this)
 Release sampler resources.
 

Public Attributes

integer n_nodes = 0
 Number of wall nodes local to this rank.
 
integer n_samples = 0
 Number of sampling points associated with each wall node.
 
logical user_values = .false.
 True when sampling values are supplied by a user callback.
 
logical output_h_enabled = .true.
 True when the wall-normal sampling distance is written to a field.
 
type(vector_th
 Wall-normal distance of every sampling point. The layout is (node - 1) * n_samples + sample.
 

Detailed Description

The design supports multiple sampling points per wall node.

Definition at line 53 of file wall_sampler.f90.

Member Function/Subroutine Documentation

◆ finalize()

procedure(wall_sampler_finalize), deferred, pass wall_sampler::wall_sampler_t::finalize ( class(wall_sampler_t), intent(inout this,
type(coef_t), intent(in coef,
integer, dimension(0:), intent(in msk,
integer, dimension(0:), intent(in facet,
type(vector_t), intent(in n_x,
type(vector_t), intent(in n_y,
type(vector_t), intent(in n_z,
character(len=*), intent(in), optional  bc_name,
type(user_t), intent(in), optional, target  user 
)
pure virtual

Definition at line 73 of file wall_sampler.f90.

◆ free()

procedure(wall_sampler_free), deferred, pass wall_sampler::wall_sampler_t::free ( class(wall_sampler_t), intent(inout this)
pure virtual

Definition at line 77 of file wall_sampler.f90.

◆ init()

procedure(wall_sampler_init), deferred, pass wall_sampler::wall_sampler_t::init ( class(wall_sampler_t), intent(inout this,
type(json_file), intent(inout json 
)
pure virtual

Definition at line 71 of file wall_sampler.f90.

◆ init_base()

procedure, pass(this) wall_sampler::wall_sampler_t::init_base ( class(wall_sampler_t), intent(inout this,
integer, intent(in n_nodes,
integer, intent(in n_samples,
type(vector_t), intent(in h,
logical, intent(in output_h 
)
Parameters
n_nodesNumber of local wall nodes.
n_samplesNumber of samples at each wall node.
hWall-normal distances in sampler ordering.
output_hWhether to write the sampling-distance diagnostic.

Definition at line 67 of file wall_sampler.f90.

◆ output_h()

procedure, pass(this) wall_sampler::wall_sampler_t::output_h ( class(wall_sampler_t), intent(inout this,
type(coef_t), intent(in coef,
integer, dimension(0:), intent(in msk,
character(len=*), intent(in bc_name 
)

The first sample is written to retain a scalar diagnostic field when samplers support multiple points per wall node.

Parameters
coefSEM coefficients defining the output field.
mskMask selecting local wall nodes.
bc_nameName of the owning boundary condition.

Definition at line 69 of file wall_sampler.f90.

◆ sample()

procedure(wall_sampler_sample), deferred, pass wall_sampler::wall_sampler_t::sample ( class(wall_sampler_t), intent(inout this,
type(field_t), intent(inout field,
type(vector_t), intent(inout values 
)
pure virtual

Definition at line 75 of file wall_sampler.f90.

Member Data Documentation

◆ h

type(vector_t) wall_sampler::wall_sampler_t::h

Definition at line 64 of file wall_sampler.f90.

◆ n_nodes

integer wall_sampler::wall_sampler_t::n_nodes = 0

Definition at line 55 of file wall_sampler.f90.

◆ n_samples

integer wall_sampler::wall_sampler_t::n_samples = 0

Definition at line 57 of file wall_sampler.f90.

◆ output_h_enabled

logical wall_sampler::wall_sampler_t::output_h_enabled = .true.

Definition at line 61 of file wall_sampler.f90.

◆ user_values

logical wall_sampler::wall_sampler_t::user_values = .false.

Definition at line 59 of file wall_sampler.f90.


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