StabilizationUtils: remove pointless bool return values
use return values instead of out-params
This commit is contained in:
parent
e4e61a9b74
commit
32d7f01872
@ -43,51 +43,48 @@ double getTauPt (double dt, double mu, const Vector& U,
|
|||||||
{
|
{
|
||||||
double Gnorm2 = G.norm2();
|
double Gnorm2 = G.norm2();
|
||||||
Gnorm2 *= Gnorm2;
|
Gnorm2 *= Gnorm2;
|
||||||
return 1.0/ sqrt(Ct/pow(dt,2) + U.dot(G*U) + Cl*mu*mu*Gnorm2);
|
return 1.0 / sqrt(Ct/pow(dt,2) + U.dot(G*U) + Cl*mu*mu*Gnorm2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool getTauNSPt (double dt, double mu, const Vector& U,
|
std::pair<double,double>
|
||||||
const Matrix& G, double &tauM, double& tauC,
|
getTauNSPt (double dt, double mu, const Vector& U,
|
||||||
const double Ct, const double Cl)
|
const Matrix& G, const double Ct, const double Cl)
|
||||||
{
|
{
|
||||||
tauM = getTauPt(dt,mu,U,G,Ct,Cl);
|
double tauM = getTauPt(dt,mu,U,G,Ct,Cl);
|
||||||
tauC = 1.0/(tauM*G.trace());
|
double tauC = 1.0 / (tauM*G.trace());
|
||||||
return true;
|
|
||||||
|
return {tauM, tauC};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool getTauNSALEPt (double dt, double mu, const Vector& U,
|
std::pair<double,double>
|
||||||
const Matrix& G, double & tauM, double& tauC,
|
getTauNSALEPt (double dt, double mu, const Vector& U,
|
||||||
const double Ct, const double Cl)
|
const Matrix& G,
|
||||||
|
const double Ct, const double Cl)
|
||||||
{
|
{
|
||||||
tauM = getTauPt(dt,mu,U,G,Ct,Cl);
|
double tauM = getTauPt(dt,mu,U,G,Ct,Cl);
|
||||||
|
double tauC = tauM*(U.dot(U));
|
||||||
|
|
||||||
tauC = tauM*(U.dot(U));
|
return {tauM, tauC};
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool getTauPtJac (const Vector& U, const Matrix& G,
|
Vector getTauPtJac (const Vector& U, const Matrix& G,
|
||||||
const double tauM, Vector& tauMjac)
|
const double tauM)
|
||||||
{
|
{
|
||||||
tauMjac = -pow(tauM,3)*G*U;
|
return -pow(tauM,3)*G*U;
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool getTauNSPtJac (const Vector& U, const Matrix& G,
|
std::pair<Vector,Vector>
|
||||||
const double tauM, const double& tauC,
|
getTauNSPtJac (const Vector& U, const Matrix& G,
|
||||||
Vector& tauMjac, Vector& tauCjac)
|
const double tauM, const double& tauC)
|
||||||
{
|
{
|
||||||
if (!getTauPtJac(U, G, tauM, tauMjac))
|
Vector tauMjac = getTauPtJac(U, G, tauM);
|
||||||
return false;
|
Vector tauCjac = (-tauC/tauM) * tauMjac;
|
||||||
|
|
||||||
tauCjac = (-tauC/tauM) * tauMjac;
|
return {tauMjac, tauCjac};
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -40,45 +40,40 @@ namespace StabilizationUtils {
|
|||||||
//! \param[in] mu Diffusion/viscosity parameter
|
//! \param[in] mu Diffusion/viscosity parameter
|
||||||
//! \param[in] U Velocity vector
|
//! \param[in] U Velocity vector
|
||||||
//! \param[in] G The G matrix
|
//! \param[in] G The G matrix
|
||||||
//! \param[out] tauM Stabilization parameter for momentum
|
|
||||||
//! \param[out] tauC Stabilization parameter for continuity
|
|
||||||
//! \param[in] Ct VMS parameter
|
//! \param[in] Ct VMS parameter
|
||||||
//! \param[in] Cl VMS parameter
|
//! \param[in] Cl VMS parameter
|
||||||
//! \details Stabilization parameters in integration point
|
//! \return Stabilization parameters in integration point
|
||||||
bool getTauNSPt(double dt, double mu, const Vector& U, const Matrix& G,
|
std::pair<double,double>
|
||||||
double& tauM, double& tauC,
|
getTauNSPt(double dt, double mu, const Vector& U, const Matrix& G,
|
||||||
const double Ct = 2.0, const double Cl = 36.0);
|
const double Ct = 2.0, const double Cl = 36.0);
|
||||||
|
|
||||||
//! \brief Computes stabilization parameters for Navier-Stokes equations.
|
//! \brief Computes stabilization parameters for Navier-Stokes equations.
|
||||||
//! \param[in] dt The timestep size
|
//! \param[in] dt The timestep size
|
||||||
//! \param[in] mu Diffusion/viscosity parameter
|
//! \param[in] mu Diffusion/viscosity parameter
|
||||||
//! \param[in] U Velocity vector
|
//! \param[in] U Velocity vector
|
||||||
//! \param[in] G The G matrix
|
//! \param[in] G The G matrix
|
||||||
//! \param[out] tauM Stabilization parameter for momentum
|
|
||||||
//! \param[out] tauC Stabilization parameter for continuity
|
|
||||||
//! \param[in] Ct VMS parameter
|
//! \param[in] Ct VMS parameter
|
||||||
//! \param[in] Cl VMS parameter
|
//! \param[in] Cl VMS parameter
|
||||||
//! \details Stabilization parameters in integration point
|
//! \return Stabilization parameters in integration point
|
||||||
bool getTauNSALEPt(double dt, double mu, const Vector& U, const Matrix& G,
|
std::pair<double,double>
|
||||||
double& tauM, double& tauC,
|
getTauNSALEPt(double dt, double mu, const Vector& U, const Matrix& G,
|
||||||
const double Ct = 2.0, const double Cl = 36.0);
|
const double Ct = 2.0, const double Cl = 36.0);
|
||||||
|
|
||||||
//! \brief Computes variation of stability parameters with respect to velocity.
|
//! \brief Computes variation of stability parameters with respect to velocity.
|
||||||
//! \param[in] U Velocity vector
|
//! \param[in] U Velocity vector
|
||||||
//! \param[in] G The G matrix
|
//! \param[in] G The G matrix
|
||||||
//! \param[in] tauM Stabilization parameter for momentum
|
//! \param[in] tauM Stabilization parameter for momentum
|
||||||
//! \param[out] tauMjac Variation of tauM with respect to U
|
Vector getTauPtJac(const Vector& U, const Matrix& G,
|
||||||
bool getTauPtJac(const Vector& U, const Matrix& G, const double tauM, Vector& tauMjac);
|
const double tauM);
|
||||||
|
|
||||||
//! \brief Computes variation of stability parameters with respect to velocity.
|
//! \brief Computes variation of stability parameters with respect to velocity.
|
||||||
//! \param[in] U Velocity vector
|
//! \param[in] U Velocity vector
|
||||||
//! \param[in] G The G matrix
|
//! \param[in] G The G matrix
|
||||||
//! \param[in] tauM Stabilization parameter for momentum
|
//! \param[in] tauM Stabilization parameter for momentum
|
||||||
//! \param[in] tauC Stabilization parameter for continuity
|
//! \param[in] tauC Stabilization parameter for continuity
|
||||||
//! \param[out] tauMjac Variation of tauM with respect to U
|
std::pair<Vector,Vector>
|
||||||
//! \param[out] tauCjac Variation of tauC with respect to U
|
getTauNSPtJac(const Vector& U, const Matrix& G,
|
||||||
bool getTauNSPtJac(const Vector& U, const Matrix& G, const double tauM,
|
const double tauM, const double& tauC);
|
||||||
const double& tauC, Vector& tauMjac, Vector& tauCjac);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -67,7 +67,7 @@ TEST(TestStabilizationUtils, GetTauNSPt)
|
|||||||
utl::getGmat(J, &du[0], G);
|
utl::getGmat(J, &du[0], G);
|
||||||
|
|
||||||
double tauM, tauC;
|
double tauM, tauC;
|
||||||
ASSERT_TRUE(StabilizationUtils::getTauNSPt(0.1, 0.3, U, G, tauM, tauC));
|
std::tie(tauM,tauC) = StabilizationUtils::getTauNSPt(0.1, 0.3, U, G);
|
||||||
ASSERT_FLOAT_EQ(tauM, 0.016634906);
|
ASSERT_FLOAT_EQ(tauM, 0.016634906);
|
||||||
ASSERT_FLOAT_EQ(tauC, 1.87858);
|
ASSERT_FLOAT_EQ(tauC, 1.87858);
|
||||||
}
|
}
|
||||||
@ -85,7 +85,7 @@ TEST(TestStabilizationUtils, GetTauNSALEPt)
|
|||||||
utl::getGmat(J, &du[0], G);
|
utl::getGmat(J, &du[0], G);
|
||||||
|
|
||||||
double tauM, tauC;
|
double tauM, tauC;
|
||||||
ASSERT_TRUE(StabilizationUtils::getTauNSALEPt(0.1, 0.3, U, G, tauM, tauC));
|
std::tie(tauM,tauC) = StabilizationUtils::getTauNSALEPt(0.1, 0.3, U, G);
|
||||||
ASSERT_FLOAT_EQ(tauM, 0.016634906);
|
ASSERT_FLOAT_EQ(tauM, 0.016634906);
|
||||||
ASSERT_FLOAT_EQ(tauC, 0.049904719);
|
ASSERT_FLOAT_EQ(tauC, 0.049904719);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user