#include <NekBinnedSideAverage.h>
|
const std::vector< int > & | _boundary |
| Boundaries over which to evaluate the user object, on the NekRS mesh.
|
|
const unsigned int & | _interval |
| Interval with which to evaluate the user object.
|
|
bool | _fixed_mesh |
| Whether the mesh this userobject operates on is fixed, allowing caching of volumes and areas.
|
|
const std::vector< UserObjectName > & | _bin_names |
| Names of the userobjects providing the bins.
|
|
const bool & | _map_space_by_qp |
|
const bool & | _check_zero_contributions |
|
std::vector< const SpatialBinUserObject * > | _bins |
| Userobjects providing the bins.
|
|
std::vector< bool > | _has_direction |
| For each x, y, z direction, whether the combined distribution covers that direction.
|
|
std::vector< unsigned int > | _bin_providing_direction |
| For each x, y, z direction, which bin provides that direction.
|
|
unsigned int | _n_bins |
| total number of bins
|
|
std::vector< Point > | _points |
| points at which to output the user object to give unique values
|
|
std::vector< Point > | _velocity_bin_directions |
| velocity direction to use for each bin
|
|
double * | _bin_values |
| values of the userobject in each bin
|
|
double * | _bin_values_x |
| temporary storage space to hold the results of component-wise evaluations
|
|
double * | _bin_values_y |
|
double * | _bin_values_z |
|
double * | _bin_volumes |
| Volumes of each bin.
|
|
int * | _bin_counts |
|
double * | _bin_partial_values |
| Partial-sum of bin value per Nek rank.
|
|
int * | _bin_partial_counts |
| Partial-sum of bin count per Nek rank.
|
|
const NekRSProblemBase * | _nek_problem |
| The NekRSProblemBase required by all objects which inherit from NekBase.
|
|
const NekRSMesh * | _nek_mesh |
| Underlying NekRSMesh, if present.
|
|
const field::NekFieldEnum | _field |
| NekRS solution field.
|
|
component::BinnedVelocityComponentEnum | _velocity_component |
|
Point | _velocity_direction |
| Direction in which to evaluate velocity, when field = velocity_component.
|
|
Compute an average of the NekRS solution in spatial bins on a sideset
◆ NekBinnedSideAverage()
NekBinnedSideAverage::NekBinnedSideAverage |
( |
const InputParameters & |
parameters | ) |
|
◆ bin()
virtual const unsigned int NekSpatialBinUserObject::bin |
( |
const Point & |
p | ) |
const |
|
virtualinherited |
◆ binnedSideIntegral()
virtual void NekBinnedSideIntegral::binnedSideIntegral |
( |
const field::NekFieldEnum & |
integrand, |
|
|
double * |
total_integral |
|
) |
| |
|
virtualinherited |
Compute the integral over the side bins
- Parameters
-
[in] | integrand | field to integrate |
[out] | total_integral | integral over each bin |
◆ computeBinVolumes()
virtual void NekSpatialBinUserObject::computeBinVolumes |
( |
| ) |
|
|
finalvirtualinherited |
Compute the volume of each bin and check for zero contributions.
◆ computeIntegral()
virtual void NekBinnedSideIntegral::computeIntegral |
( |
| ) |
|
|
virtualinherited |
◆ computePoints1D()
void NekSpatialBinUserObject::computePoints1D |
( |
| ) |
|
|
protectedinherited |
Get the output points for a single bin.
◆ computePoints2D()
void NekSpatialBinUserObject::computePoints2D |
( |
| ) |
|
|
protectedinherited |
Get the output points for two combined bins.
◆ computePoints3D()
void NekSpatialBinUserObject::computePoints3D |
( |
| ) |
|
|
protectedinherited |
Get the output points for three combined bins.
◆ execute()
virtual void NekSpatialBinUserObject::execute |
( |
| ) |
|
|
overridevirtualinherited |
◆ executeUserObject()
virtual void NekBinnedSideAverage::executeUserObject |
( |
| ) |
|
|
overridevirtual |
Execute the user object; separating this call from execute() allows all derived classes to leverage this base class's 'interval' parameter to decide when to call the user object
Reimplemented from NekBinnedSideIntegral.
◆ field()
Get the field
- Returns
- field
◆ fillCoordinates()
void NekSpatialBinUserObject::fillCoordinates |
( |
const std::vector< unsigned int > & |
indices, |
|
|
Point & |
p |
|
) |
| const |
|
protectedinherited |
Get the coordinates for a point at the given indices for the bins
- Parameters
-
[in] | indices | indices of the bin distributions to combine |
[out] | p | point at the (i, j, k) indices of the combined bins |
◆ finalize()
virtual void NekSpatialBinUserObject::finalize |
( |
| ) |
|
|
inlinevirtualinherited |
◆ getBinVolumes()
virtual void NekBinnedSideIntegral::getBinVolumes |
( |
| ) |
|
|
overridevirtualinherited |
◆ initialize()
virtual void NekSpatialBinUserObject::initialize |
( |
| ) |
|
|
inlinevirtualinherited |
◆ nekPoint() [1/2]
Point NekSideSpatialBinUserObject::nekPoint |
( |
const int & |
local_elem_id, |
|
|
const int & |
local_face_id, |
|
|
const int & |
local_node_id |
|
) |
| const |
|
inherited |
Get the point at which to evaluate the user object
- Parameters
-
[in] | local_elem_id | local element ID on the Nek rank |
[in] | local_face_id | local face ID on the element |
[in] | local_node_id | local node ID on the element |
- Returns
- point, in dimensional form
◆ nekPoint() [2/2]
Point NekSpatialBinUserObject::nekPoint |
( |
const int & |
local_elem_id, |
|
|
const int & |
local_node_id |
|
) |
| const |
|
inherited |
Get the point at which to evaluate the user object
- Parameters
-
[in] | local_elem_id | local element ID on the Nek rank |
[in] | local_node_id | local node ID on the element |
- Returns
- point, in dimensional form
◆ num_bins()
virtual const unsigned int NekSpatialBinUserObject::num_bins |
( |
| ) |
const |
|
virtualinherited |
◆ resetPartialStorage()
void NekSpatialBinUserObject::resetPartialStorage |
( |
| ) |
|
|
protectedinherited |
Reset the scratch space storage to zero values.
◆ spatialPoints()
virtual const std::vector< Point > NekSpatialBinUserObject::spatialPoints |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ spatialValue() [1/2]
virtual Real NekSpatialBinUserObject::spatialValue |
( |
const Point & |
p | ) |
const |
|
finaloverridevirtualinherited |
◆ spatialValue() [2/2]
Real NekBinnedSideIntegral::spatialValue |
( |
const Point & |
p, |
|
|
const unsigned int & |
component |
|
) |
| const |
|
overridevirtualinherited |
When using 'field = velocity_component', get the spatial value for a particular component
- Parameters
-
[in] | p | point |
[in] | component | component |
- Returns
- value along direction of component
Implements NekSpatialBinUserObject.
◆ unrolledBin()
const std::vector< unsigned int > NekSpatialBinUserObject::unrolledBin |
( |
const unsigned int & |
total_bin_index | ) |
const |
|
inherited |
Get the individual bin indices given a total combined bin
- Parameters
-
[in] | total_bin_index | total combined bin index |
- Returns
- indices into each of the individual bin distributions
◆ validParams()
static InputParameters NekBinnedSideAverage::validParams |
( |
| ) |
|
|
static |
◆ _bin_counts
int* NekSpatialBinUserObject::_bin_counts |
|
protectedinherited |
Number of GLL points (for 'map_space_by_qp = true') or elements (for 'map_space_by_qp = false') that contribute to each bin, for error checking
◆ _bin_names
const std::vector<UserObjectName>& NekSpatialBinUserObject::_bin_names |
|
protectedinherited |
Names of the userobjects providing the bins.
◆ _bin_partial_counts
int* NekSpatialBinUserObject::_bin_partial_counts |
|
protectedinherited |
Partial-sum of bin count per Nek rank.
◆ _bin_partial_values
double* NekSpatialBinUserObject::_bin_partial_values |
|
protectedinherited |
Partial-sum of bin value per Nek rank.
◆ _bin_providing_direction
std::vector<unsigned int> NekSpatialBinUserObject::_bin_providing_direction |
|
protectedinherited |
For each x, y, z direction, which bin provides that direction.
◆ _bin_values
double* NekSpatialBinUserObject::_bin_values |
|
protectedinherited |
values of the userobject in each bin
◆ _bin_values_x
double* NekSpatialBinUserObject::_bin_values_x |
|
protectedinherited |
temporary storage space to hold the results of component-wise evaluations
◆ _bin_values_y
double* NekSpatialBinUserObject::_bin_values_y |
|
protectedinherited |
◆ _bin_values_z
double* NekSpatialBinUserObject::_bin_values_z |
|
protectedinherited |
◆ _bin_volumes
double* NekSpatialBinUserObject::_bin_volumes |
|
protectedinherited |
◆ _bins
Userobjects providing the bins.
◆ _boundary
const std::vector<int>& NekSideSpatialBinUserObject::_boundary |
|
protectedinherited |
Boundaries over which to evaluate the user object, on the NekRS mesh.
◆ _check_zero_contributions
const bool& NekSpatialBinUserObject::_check_zero_contributions |
|
protectedinherited |
Whether to throw an error if no GLL points or elements map to each bin (which would indicate that the binning is probably way too fine relative to the NekRS solution)
◆ _field
◆ _fixed_mesh
bool NekSpatialBinUserObject::_fixed_mesh |
|
protectedinherited |
Whether the mesh this userobject operates on is fixed, allowing caching of volumes and areas.
◆ _has_direction
std::vector<bool> NekSpatialBinUserObject::_has_direction |
|
protectedinherited |
For each x, y, z direction, whether the combined distribution covers that direction.
◆ _interval
const unsigned int& NekSpatialBinUserObject::_interval |
|
protectedinherited |
Interval with which to evaluate the user object.
◆ _map_space_by_qp
const bool& NekSpatialBinUserObject::_map_space_by_qp |
|
protectedinherited |
Whether to map the NekRS space to bins by element centroid (false) or quadrature point (true).
◆ _n_bins
unsigned int NekSpatialBinUserObject::_n_bins |
|
protectedinherited |
◆ _nek_mesh
◆ _nek_problem
◆ _points
std::vector<Point> NekSpatialBinUserObject::_points |
|
protectedinherited |
points at which to output the user object to give unique values
◆ _velocity_bin_directions
std::vector<Point> NekSpatialBinUserObject::_velocity_bin_directions |
|
protectedinherited |
velocity direction to use for each bin
◆ _velocity_component
Direction in which to evaluate velocity, if using 'field = velocity_component'. Options: user (then provide a general vector direction with the 'velocity_direction' parameter normal (normal to an interface, context dependent on daughter class)
◆ _velocity_direction
Point NekFieldInterface::_velocity_direction |
|
protectedinherited |
Direction in which to evaluate velocity, when field = velocity_component.
The documentation for this class was generated from the following file: