This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/applications/solvers/solidMechanics/elasticNonLinULSolidFoam/calculateDivDSigmaLargeStrainExp.H

30 lines
921 B
C++
Raw Permalink Normal View History

2012-09-11 15:42:55 +00:00
//----------------------------------------------------//
//- sigma explicit non linear explicit terms
2012-09-11 15:42:55 +00:00
//----------------------------------------------------//
if(divDSigmaLargeStrainExpMethod == "standard")
{
divDSigmaLargeStrainExp = fvc::div
(
mu*(gradDU & gradDU.T())
//+ 0.5*lambda*(gradDU && gradDU)*I //- equivalent to 0.5*lambda*(I*tr(gradDU & gradDU.T()))
+ 0.5*lambda*tr(gradDU & gradDU.T())*I
+ ((sigma + DSigma) & gradDU),
"div(sigma)"
);
}
else if(divDSigmaLargeStrainExpMethod == "surface")
{
divDSigmaLargeStrainExp = fvc::div
(
muf * (mesh.Sf() & fvc::interpolate(gradDU & gradDU.T()))
+ 0.5*lambdaf * (mesh.Sf() & (fvc::interpolate(gradDU && gradDU)*I))
+ (mesh.Sf() & fvc::interpolate( (sigma + DSigma) & gradDU ))
);
}
else
{
FatalError
<< "divDSigmaLargeStrainMethod not found!"
<< exit(FatalError);
}