|
|
template<class TDataType , class TValueGetterFunction > |
void | AddVariablesListNamesToVector (std::vector< std::string > &rNamesList, const NodeType &rNode, const std::vector< const Variable< TDataType > * > &rVariablesList, const IndicesVector &rVariableValuesStartIndex, TValueGetterFunction *pValueGetterFunction) |
| Modifies names from list of variables. More...
|
|
template<class TDataType > |
TDataType | GetHistoricalValue (const NodeType &rNode, const Variable< TDataType > &rVariable) |
| Get the Historical Value. More...
|
|
template<class TDataType > |
TDataType | GetNonHistoricalValue (const NodeType &rNode, const Variable< TDataType > &rVariable) |
| Get the Historical Value. More...
|
|
template<class TDataType , class TValueGetterFunction > |
IndicesVector | GetVariableDataStartIndices (const NodeType &rNode, const std::vector< const Variable< TDataType > * > &rVariablesList, TValueGetterFunction *pValueGetterFunction, SizeType &Offset) |
| Calculates variable start indices. More...
|
|
template<class TDataType , class TValueGetterFunction > |
void | AddInterpolationContributions (std::vector< double > &rValuesList, const ModelPart::NodeType &rNode, const double ShapeFunctionValue, TValueGetterFunction *pValueGetterFunction, const IndicesVector &rVariableValuesStartIndex, const std::vector< const Variable< TDataType > * > &rVariablesList, const SizeType StartIndexOffset) |
| Adds interpolation contributions for given variables list. More...
|
|
template<class... TVariableInfoTuplesList> |
void | InterpolateVariables (std::vector< double > &rValuesList, const GeometryType &rGeometry, const Vector &rSamplingPointShapeFunctions, const SizeType LocalSamplePointValuesOffset, const TVariableInfoTuplesList &... rVariableInfoTuplesList) |
| Interpolates variables for given variable list tuples. More...
|
|
template<class TDataType , class TValueGetterFunction >
void Kratos::LineOutputProcessUtilities::AddInterpolationContributions |
( |
std::vector< double > & |
rValuesList, |
|
|
const ModelPart::NodeType & |
rNode, |
|
|
const double |
ShapeFunctionValue, |
|
|
TValueGetterFunction * |
pValueGetterFunction, |
|
|
const IndicesVector & |
rVariableValuesStartIndex, |
|
|
const std::vector< const Variable< TDataType > * > & |
rVariablesList, |
|
|
const SizeType |
StartIndexOffset |
|
) |
| |
|
inline |
Adds interpolation contributions for given variables list.
This method adds interpolation contributions from the given node for list of variables to a flat double vector which is already sized correctly.
The signature of TValueGetterFunction should accept const ModelPart::NodeType&, and const Variable<TDataType>&.
The size of rValuesList should be able to carry all the values coming from rVariablesList for all TDataType for all nodes. Example: In the case of 3 node model part with DENSITY and VELOCITY variables, this size should be 12.
The size of rVariableValuesStartIndex should be one greater than the size of rVariablesList, last position holding the total size of rSamplePointVariableValuesList.
- Template Parameters
-
TDataType | Data type of variables |
TValueGetterFunction | Function prototype to retrive nodal values from. |
- Parameters
-
rValuesList | Correctly sized double values vector |
rNode | Node from where nodal values are retrieved from |
ShapeFunctionValue | Shape function value for sampling point |
pValueGetterFunction | Function pointer to retrieve nodal values from |
rVariableValuesStartIndex | List of indices to indicate where corresponding variable should start to write. |
rVariablesList | List of variables |
StartIndexOffset | Start array offset index |
template<class... TVariableInfoTuplesList>
void Kratos::LineOutputProcessUtilities::InterpolateVariables |
( |
std::vector< double > & |
rValuesList, |
|
|
const GeometryType & |
rGeometry, |
|
|
const Vector & |
rSamplingPointShapeFunctions, |
|
|
const SizeType |
LocalSamplePointValuesOffset, |
|
|
const TVariableInfoTuplesList &... |
rVariableInfoTuplesList |
|
) |
| |
Interpolates variables for given variable list tuples.
This method interpolates different types of variables given in the rVariableInfoTuplesList, using getter function and shape function.
TVariableInfoTuplesList is a tuple, which should contain 3 tuple_elements.
- IndicesVector to hold start indices of each variable.
- std::vector<const Variable<TDataType>*> to hold list of variable pointers.
- Value getter function pointer returning TDataType and accepts const ModelPart::NodeType&, and const Variable<TDataType>& input args
- Template Parameters
-
TValueGetterFunction | Function prototype to retrive nodal values from. |
TVariableInfoTuplesList | List of tuple argument prototype |
- Parameters
-
rGeometry | Geometry where sample point is inside of |
rSamplingPointShapeFunctions | Shape function values of the sampling point |
LocalSamplePointValuesOffset | Sample point value offset based on local_index of sample point |
rVariableInfoTuplesList | List of tuple_elements |