laminarModels::lambdaThixotropic: Reformulated lambda equation in conservative form
to support standard fvModel sources.
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2020-2024 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -75,7 +75,16 @@ lambdaThixotropic<BasicMomentumTransportModel>::lambdaThixotropic
|
|||||||
? dimensionedScalar("sigmay", dimPressure/dimDensity, this->coeffDict_)
|
? dimensionedScalar("sigmay", dimPressure/dimDensity, this->coeffDict_)
|
||||||
: dimensionedScalar("sigmay", dimPressure/dimDensity, 0)
|
: dimensionedScalar("sigmay", dimPressure/dimDensity, 0)
|
||||||
),
|
),
|
||||||
|
residualAlpha_
|
||||||
|
(
|
||||||
|
dimensioned<scalar>::lookupOrAddToDict
|
||||||
|
(
|
||||||
|
"residualAlpha",
|
||||||
|
this->coeffDict_,
|
||||||
|
dimless,
|
||||||
|
1e-6
|
||||||
|
)
|
||||||
|
),
|
||||||
lambda_
|
lambda_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
@ -210,7 +219,9 @@ template<class BasicMomentumTransportModel>
|
|||||||
void lambdaThixotropic<BasicMomentumTransportModel>::correct()
|
void lambdaThixotropic<BasicMomentumTransportModel>::correct()
|
||||||
{
|
{
|
||||||
// Local references
|
// Local references
|
||||||
const surfaceScalarField& phi = this->phi_;
|
const alphaField& alpha = this->alpha_;
|
||||||
|
const rhoField& rho = this->rho_;
|
||||||
|
const surfaceScalarField& alphaRhoPhi = this->alphaRhoPhi_;
|
||||||
const Foam::fvModels& fvModels(Foam::fvModels::New(this->mesh_));
|
const Foam::fvModels& fvModels(Foam::fvModels::New(this->mesh_));
|
||||||
const Foam::fvConstraints& fvConstraints
|
const Foam::fvConstraints& fvConstraints
|
||||||
(
|
(
|
||||||
@ -221,12 +232,20 @@ void lambdaThixotropic<BasicMomentumTransportModel>::correct()
|
|||||||
|
|
||||||
tmp<fvScalarMatrix> lambdaEqn
|
tmp<fvScalarMatrix> lambdaEqn
|
||||||
(
|
(
|
||||||
fvm::ddt(lambda_) + fvm::div(phi, lambda_)
|
fvm::ddt(alpha, rho, lambda_)
|
||||||
- fvm::Sp(fvc::div(phi), lambda_)
|
+ fvm::div(alphaRhoPhi, lambda_)
|
||||||
==
|
==
|
||||||
a_*pow(1 - lambda_(), b_)
|
alpha()*rho()*a_*pow(1 - lambda_(), b_)
|
||||||
- fvm::Sp(c_*pow(strainRate(), d_), lambda_)
|
- fvm::Sp
|
||||||
+ fvModels.source(lambda_)
|
(
|
||||||
|
rho()
|
||||||
|
*(
|
||||||
|
alpha()*c_*pow(strainRate(), d_)
|
||||||
|
+ max(residualAlpha_ - alpha(), dimensionedScalar(dimless, 0))*a_
|
||||||
|
),
|
||||||
|
lambda_
|
||||||
|
)
|
||||||
|
+ fvModels.source(alpha, rho, lambda_)
|
||||||
);
|
);
|
||||||
|
|
||||||
lambdaEqn.ref().relax();
|
lambdaEqn.ref().relax();
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2020-2024 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -119,6 +119,12 @@ class lambdaThixotropic
|
|||||||
//- Optional Bingham plastic yield stress [m^2/s^2]
|
//- Optional Bingham plastic yield stress [m^2/s^2]
|
||||||
dimensionedScalar sigmay_;
|
dimensionedScalar sigmay_;
|
||||||
|
|
||||||
|
//- Residual alpha
|
||||||
|
// Used to stabilise the solution of the lambda equation
|
||||||
|
// where the phase-fraction is below this value
|
||||||
|
// Defaults to 1e-6
|
||||||
|
dimensionedScalar residualAlpha_;
|
||||||
|
|
||||||
//- Structural parameter
|
//- Structural parameter
|
||||||
// 0 = freestream value (most liquid)
|
// 0 = freestream value (most liquid)
|
||||||
// 1 = fully built (most solid)
|
// 1 = fully built (most solid)
|
||||||
|
|||||||
Reference in New Issue
Block a user