|
| constexpr size_t | Max (size_t a, size_t b) |
| | Constexpr version of max.
|
| |
| template<size_t nDim, class ForwardIterator , class T > |
| auto | dot (ForwardIterator iterator, const T *ptr) -> typename std::decay< decltype(*ptr)>::type |
| | Dot product.
|
| |
| template<size_t nDim, class Double , class ForwardIterator > |
| Double | dot (ForwardIterator iterator, const Vector< Double, nDim > &vector) |
| |
| template<size_t nDim, class Double > |
| Double | dot (const Vector< Double, nDim > &a, const Vector< Double, nDim > &b) |
| |
| template<size_t nDim, class ForwardIterator > |
| auto | squaredNorm (ForwardIterator iterator) -> typename std::decay< decltype(*iterator)>::type |
| | Squared norm.
|
| |
| template<size_t nDim, class Double > |
| Double | squaredNorm (const Vector< Double, nDim > &vector) |
| |
| template<size_t nDim, class Double > |
| Vector< Double, nDim > | tangentProjection (const Matrix< Double, nDim, nDim > &tensor, const Vector< Double, nDim > &unitVector) |
| | Tangential projection.
|
| |
| template<size_t nDim, class Double > |
| Double | norm (const Vector< Double, nDim > &vector) |
| | Vector norm.
|
| |
| template<class Int , class Container , class Double = typename CValueTraits<Int>::Double> |
| Double | gatherVariables (Int iPoint, const Container &vars, size_t iVar=0) |
| | Gather a single variable, from column iVar (0 by default) of row iPoint of a 2D container, or from index iPoint of a 1D container.
|
| |
| template<size_t nVar, class Int , class Container , class Double = typename CValueTraits<Int>::Double> |
| Vector< Double, nVar > | gatherVariables (Int iPoint, const Container &vars, size_t iVar=0) |
| | Gather nVar contiguous variables starting at column iVar (0 by default) of row iPoint of a 2D container.
|
| |
| template<size_t nRows, size_t nCols, class Int , class Container , class Double = typename CValueTraits<Int>::Double> |
| Matrix< Double, nRows, nCols > | gatherVariables (Int iPoint, const Container &vars, size_t iRow=0) |
| | Gather an nRows x nCols block of a 3D container, from outer index iPoint and starting at middle index iRow.
|
| |
| template<class Double , size_t Size> |
| void | setPreaccOut (Vector< Double, Size > &x, size_t nVar) |
| | Register the leading nVar entries of a static vector as preaccumulation outputs.
|
| |
| template<class Double , size_t nVar> |
| void | stopPreacc (Vector< Double, nVar > &x) |
| | Stop the AD preaccumulation.
|
| |
| template<size_t nDim, class Int , class Container , class Double = typename CValueTraits<Int>::Double> |
| Vector< Double, nDim > | distanceVector (Int iPoint, Int jPoint, const Container &coords) |
| | Distance vector, from point i to point j of one container.
|
| |
| template<size_t nDim, class Int , class Container , class Double = typename CValueTraits<Int>::Double> |
| Vector< Double, nDim > | distanceVector (Int iPoint, const Container &coords_i, Int jPoint, const Container &coords_j) |
| | Distance vector, from point i of one container to point j of another.
|
| |
| template<class Double > |
| Double | umusclProjection (const Double &gradProj, const Double &delta, const CNonDeduced< Double > &kappa) |
| | Blended difference for U-MUSCL reconstruction.
|
| |
| template<size_t nVarGrad_, size_t nDim, class Double , class Gradient_t > |
| auto | gradientReader (typename CLaneTraits< Double >::Int iPoint, const Gradient_t &gradient, size_t iRow) |
| | Gradient reader of one point, blocked or row by row according to nVarGrad_.
|
| |
| template<MusclLimiter limiterKind, size_t nVarGrad_ = 0, size_t nDim, class Double , class VarType , class Limiter_t , class Gradient_t > |
| void | muscl (typename CLaneTraits< Double >::Int iPoint, typename CLaneTraits< Double >::Int jPoint, const Vector< Double, nDim > &vector_ij, const Gradient_t &gradient, const Limiter_t &limiter, size_t iRow, CPair< VarType > &V, const CNonDeduced< Double > &kappa, const CNonDeduced< Double > &umusclRamp, size_t nVarGradRuntime) |
| | U-MUSCL reconstruction of nVarGrad variables, from the gradient rows starting at iRow.
|
| |
| template<size_t nVarGrad_ = 0, size_t nDim, class Double , class VarType , class Limiter_t , class Gradient_t > |
| void | reconstruct (typename CLaneTraits< Double >::Int iPoint, typename CLaneTraits< Double >::Int jPoint, const Vector< Double, nDim > &vector_ij, const Gradient_t &gradient, const Limiter_t &limiter, LIMITER limiterType, size_t iRow, CPair< VarType > &V, const CNonDeduced< Double > &kappa, const CNonDeduced< Double > &umusclRamp, size_t nVarGradRuntime=0) |
| | Reconstruct a slice of nVarGrad variables starting at column iRow, dispatching on the limiter type; shared by the flow and the scalar reconstructions so both call one body.
|
| |
| template<size_t nVar, class Double , class Int = typename CLaneTraits<Double>::Int> |
| void | updateLinearSystem (Int iEdge, Int iPoint, Int jPoint, bool implicit, UpdateType updateType, Double updateMask, const Vector< Double, nVar > &flux, const Matrix< Double, nVar, nVar > &jac_i, const Matrix< Double, nVar, nVar > &jac_j, CSysVector< su2double > &vector, SparseMatrixType &matrix) |
| | Update the matrix and right-hand-side of a linear system with one conservative flux.
|
| |
| template<size_t nVar, class Double , class Int = typename CLaneTraits<Double>::Int> |
| void | updateLinearSystem (Int iEdge, Int iPoint, Int jPoint, bool implicit, UpdateType updateType, Double updateMask, const EdgeResidual< Double, nVar > &res, CSysVector< su2double > &vector, CSysVector< su2double > &vectorDiff, SparseMatrixType &matrix) |
| | Update the matrix and right-hand-side of a linear system with two independent row contributions and four independent Jacobian blocks.
|
| |
| template<class Double , class Int = typename CLaneTraits<Double>::Int> |
| void | updateEdgeMassFlux (Int iEdge, const Double &massFlux, su2activevector *target) |
| | Store the (scalar) mass flux of an edge, e.g. for "bounded scalar" transport equations.
|
| |
Generic auxiliary functions.
- Author
- P. Gomes
- Version
- 8.5.0 "Harrier"
SU2 Project Website: https://su2code.github.io
The SU2 Project is maintained by the SU2 Foundation (http://su2foundation.org)
Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
SU2 is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
SU2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with SU2. If not, see http://www.gnu.org/licenses/.