Documentation 6b54b78464
Loading...
Searching...
No Matches
computeGradientsLeastSquares.hpp File Reference

Generic implementation of Least-Squares gradient computation. More...

Go to the source code of this file.

Namespaces

namespace  detail
 

Functions

void detail::computeSmatrix (su2double r11, su2double r12, su2double r13, su2double r22, su2double r23, su2double r33, su2double detR2, su2double Smatrix[][2])
 Prepare Smatrix for 2D.
 
void detail::computeSmatrix (su2double r11, su2double r12, su2double r13, su2double r22, su2double r23, su2double r33, su2double detR2, su2double Smatrix[][3])
 Prepare Smatrix for 3D.
 
template<size_t nDim, bool periodic, class GradientType , class RMatrixType >
void detail::solveLeastSquares (size_t iPoint, size_t varBegin, size_t varEnd, const RMatrixType &Rmatrix, GradientType &gradient)
 Solve the least-squares problem for one point.
 
template<size_t nDim, class FieldType , class GradientType , class RMatrixType >
void detail::computeGradientsLeastSquares (CSolver *solver, MPI_QUANTITIES kindMpiComm, PERIODIC_QUANTITIES kindPeriodicComm, CGeometry &geometry, const CConfig &config, bool weighted, const FieldType &field, const size_t varBegin, const size_t varEnd, const int idxVel, GradientType &gradient, RMatrixType &Rmatrix)
 Compute the gradient of a field using inverse-distance-weighted or unweighted Least-Squares approximation.
 
template<class FieldType , class GradientType , class RMatrixType >
void computeGradientsLeastSquares (CSolver *solver, MPI_QUANTITIES kindMpiComm, PERIODIC_QUANTITIES kindPeriodicComm, CGeometry &geometry, const CConfig &config, bool weighted, const FieldType &field, const size_t varBegin, const size_t varEnd, const int idxVel, GradientType &gradient, RMatrixType &Rmatrix)
 Instantiations for 2D and 3D.
 

Detailed Description

Generic implementation of Least-Squares gradient computation.

Note
This allows the same implementation to be used for conservative and primitive variables of any solver.
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/.