|
Neko 1.99.9
A portable framework for high-order spectral element flow simulations
|
Base type for sampling solution fields at points associated with wall nodes. Samples belonging to one wall node are stored contiguously. More...


Public Member Functions | |
| procedure, pass(this) | init_base (this, n_nodes, n_samples, h, output_h) |
| Initialise state common to all fully constructed wall samplers. | |
| procedure, pass(this) | output_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_t) | h |
Wall-normal distance of every sampling point. The layout is (node - 1) * n_samples + sample. | |
The design supports multiple sampling points per wall node.
Definition at line 53 of file wall_sampler.f90.
|
pure virtual |
Definition at line 73 of file wall_sampler.f90.
|
pure virtual |
Definition at line 77 of file wall_sampler.f90.
|
pure virtual |
Definition at line 71 of file wall_sampler.f90.
| 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 | ||
| ) |
| n_nodes | Number of local wall nodes. |
| n_samples | Number of samples at each wall node. |
| h | Wall-normal distances in sampler ordering. |
| output_h | Whether to write the sampling-distance diagnostic. |
Definition at line 67 of file wall_sampler.f90.
| 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.
| coef | SEM coefficients defining the output field. |
| msk | Mask selecting local wall nodes. |
| bc_name | Name of the owning boundary condition. |
Definition at line 69 of file wall_sampler.f90.
|
pure virtual |
Definition at line 75 of file wall_sampler.f90.
| type(vector_t) wall_sampler::wall_sampler_t::h |
Definition at line 64 of file wall_sampler.f90.
| integer wall_sampler::wall_sampler_t::n_nodes = 0 |
Definition at line 55 of file wall_sampler.f90.
| integer wall_sampler::wall_sampler_t::n_samples = 0 |
Definition at line 57 of file wall_sampler.f90.
| logical wall_sampler::wall_sampler_t::output_h_enabled = .true. |
Definition at line 61 of file wall_sampler.f90.
| logical wall_sampler::wall_sampler_t::user_values = .false. |
Definition at line 59 of file wall_sampler.f90.