Clean-up and reorganisation of solid models

This commit is contained in:
Hrvoje Jasak 2013-10-29 13:27:25 +00:00
parent 0b4174e6b6
commit 583df8e97c
18 changed files with 578 additions and 704 deletions

View file

@ -31,7 +31,7 @@ Description
element access using xxxx(), xxyy() etc. member functions
and double dot product with a second order tensor.
It is assumed that the 4th order tensor takes the form (in 6x6 matrix form):
It is assumed that the 4th order tensor takes the form (6x6 matrix form):
/ xxxx xxyy xxzz \
| yyyy yyzz |
| zzzz |
@ -40,11 +40,16 @@ Description
\ zxzx /
where the tensor is symmetric and unspecified entries are zero.
Note:
Order is currently hacked due to missing operations on symmetry planes
HJ, 29/Oct/2013
SourceFiles
SymmTensor4thOrderI.H
Author
Philip Cardiff UCD
\*---------------------------------------------------------------------------*/
#ifndef SymmTensor4thOrder_H
@ -59,7 +64,7 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class SymmTensor4thOrder Declaration
Class SymmTensor4thOrder Declaration
\*---------------------------------------------------------------------------*/
template <class Cmpt>
@ -78,7 +83,7 @@ public:
enum
{
rank = 2 // check: Rank of SymmTensor4thOrder is 4
rank = 2 // Hacked by PC: Actual rank of SymmTensor4thOrder is 4
};
@ -93,8 +98,19 @@ public:
static const SymmTensor4thOrder min;
//- Component labeling enumeration
enum components { XXXX, XXYY, XXZZ, YYYY, YYZZ, ZZZZ, XYXY, YZYZ, ZXZX };
//- Component labeling enumeration
enum components
{
XXXX,
XXYY,
XXZZ,
YYYY,
YYZZ,
ZZZZ,
XYXY,
YZYZ,
ZXZX
};
// Constructors
@ -103,7 +119,10 @@ public:
inline SymmTensor4thOrder();
//- Construct given VectorSpace
inline SymmTensor4thOrder(const VectorSpace<SymmTensor4thOrder<Cmpt>, Cmpt, 9>&);
inline SymmTensor4thOrder
(
const VectorSpace<SymmTensor4thOrder<Cmpt>, Cmpt, 9>&
);
//- Construct given SymmTensor (for compilation)
inline SymmTensor4thOrder(const SymmTensor<Cmpt>&);
@ -112,11 +131,11 @@ public:
inline SymmTensor4thOrder
(
const Cmpt txxxx, const Cmpt txxyy, const Cmpt txxzz,
const Cmpt tyyyy, const Cmpt tyyzz,
const Cmpt tzzzz,
const Cmpt txyxy,
const Cmpt tyzyz,
const Cmpt tzxzx
const Cmpt tyyyy, const Cmpt tyyzz,
const Cmpt tzzzz,
const Cmpt txyxy,
const Cmpt tyzyz,
const Cmpt tzxzx
);
//- Construct from Istream

View file

@ -63,12 +63,12 @@ inline SymmTensor4thOrder<Cmpt>::SymmTensor4thOrder
const Cmpt tzxzx
)
{
this->v_[XXXX] = txxxx; this->v_[XXYY] = txxyy; this->v_[XXZZ] = txxzz;
this->v_[YYYY] = tyyyy; this->v_[YYZZ] = tyyzz;
this->v_[ZZZZ] = tzzzz;
this->v_[XYXY] = txyxy;
this->v_[YZYZ] = tyzyz;
this->v_[ZXZX] = tzxzx;
this->v_[XXXX] = txxxx; this->v_[XXYY] = txxyy; this->v_[XXZZ] = txxzz;
this->v_[YYYY] = tyyyy; this->v_[YYZZ] = tyyzz;
this->v_[ZZZZ] = tzzzz;
this->v_[XYXY] = txyxy;
this->v_[YZYZ] = tyzyz;
this->v_[ZXZX] = tzxzx;
}
@ -195,7 +195,8 @@ inline Cmpt& SymmTensor4thOrder<Cmpt>::zxzx()
// * * * * * * * * * * * * * * * Global Operators * * * * * * * * * * * * * //
//- Double-dot-product between a fourth order symmetric tensor and a symmetric tensor
//- Double-dot-product between a fourth order symmetric tensor and
// a symmetric tensor
template <class Cmpt>
inline SymmTensor<Cmpt>
operator&&(const SymmTensor4thOrder<Cmpt>& t4th, const SymmTensor<Cmpt>& st)
@ -203,18 +204,19 @@ operator&&(const SymmTensor4thOrder<Cmpt>& t4th, const SymmTensor<Cmpt>& st)
//- s_ij = C_ijkl E_kl
return SymmTensor<Cmpt>
(
t4th.xxxx()*st.xx() + t4th.xxyy()*st.yy() + t4th.xxzz()*st.zz(),
t4th.xyxy()*st.xy(),
t4th.zxzx()*st.xz(),
t4th.xxxx()*st.xx() + t4th.xxyy()*st.yy() + t4th.xxzz()*st.zz(),
t4th.xyxy()*st.xy(),
t4th.zxzx()*st.xz(),
t4th.xxyy()*st.xx() + t4th.yyyy()*st.yy() + t4th.yyzz()*st.zz(),
t4th.yzyz()*st.yz(),
t4th.xxyy()*st.xx() + t4th.yyyy()*st.yy() + t4th.yyzz()*st.zz(),
t4th.yzyz()*st.yz(),
t4th.xxzz()*st.xx() + t4th.yyzz()*st.yy() + t4th.zzzz()*st.zz()
t4th.xxzz()*st.xx() + t4th.yyzz()*st.yy() + t4th.zzzz()*st.zz()
);
}
//- Double-dot-product between a symmetric tensor and a symmetric fourth order tensor
//- Double-dot-product between a symmetric tensor and a symmetric
// fourth order tensor
template <class Cmpt>
inline SymmTensor<Cmpt>
operator&&(const SymmTensor<Cmpt>& st, const SymmTensor4thOrder<Cmpt>& t4th)
@ -224,19 +226,19 @@ operator&&(const SymmTensor<Cmpt>& st, const SymmTensor4thOrder<Cmpt>& t4th)
//- then s_ij = C_ijkl E_kl
return SymmTensor<Cmpt>
(
t4th.xxxx()*st.xx() + t4th.xxyy()*st.yy() + t4th.xxzz()*st.zz(),
t4th.xyxy()*st.xy(),
t4th.zxzx()*st.xz(),
t4th.xxxx()*st.xx() + t4th.xxyy()*st.yy() + t4th.xxzz()*st.zz(),
t4th.xyxy()*st.xy(),
t4th.zxzx()*st.xz(),
t4th.xxyy()*st.xx() + t4th.yyyy()*st.yy() + t4th.yyzz()*st.zz(),
t4th.yzyz()*st.yz(),
t4th.xxyy()*st.xx() + t4th.yyyy()*st.yy() + t4th.yyzz()*st.zz(),
t4th.yzyz()*st.yz(),
t4th.xxzz()*st.xx() + t4th.yyzz()*st.yy() + t4th.zzzz()*st.zz()
);
t4th.xxzz()*st.xx() + t4th.yyzz()*st.yy() + t4th.zzzz()*st.zz()
);
}
//- Inner-product between a symmTensor4thOrder and a vector
//- this is not implemented
// this is not implemented
template <class Cmpt>
inline Vector<Cmpt>
operator&(const SymmTensor4thOrder<Cmpt>& st, const Vector<Cmpt>& v)
@ -257,7 +259,7 @@ operator&(const SymmTensor4thOrder<Cmpt>& st, const Vector<Cmpt>& v)
//- Inner-product between a vector and a symmTensor4thOrder
//- this is not implemented
// this is not implemented
template <class Cmpt>
inline Vector<Cmpt>
operator&(const Vector<Cmpt>& v, const SymmTensor4thOrder<Cmpt>& st)

View file

@ -212,6 +212,7 @@ $(interpolation)/interpolationCellPointWallModified/makeInterpolationCellPointWa
volPointInterpolation = interpolation/volPointInterpolation
$(volPointInterpolation)/pointPatchInterpolation/pointPatchInterpolation.C
$(volPointInterpolation)/volPointInterpolation.C
$(volPointInterpolation)/leastSquaresVolPointInterpolation/leastSquaresVolPointInterpolation.C
pointVolInterpolation = interpolation/pointVolInterpolation
$(pointVolInterpolation)/pointVolInterpolation.C
@ -306,6 +307,7 @@ d2dt2Schemes = finiteVolume/d2dt2Schemes
$(d2dt2Schemes)/d2dt2Scheme/d2dt2Schemes.C
$(d2dt2Schemes)/steadyStateD2dt2Scheme/steadyStateD2dt2Schemes.C
$(d2dt2Schemes)/EulerD2dt2Scheme/EulerD2dt2Schemes.C
$(d2dt2Schemes)/backwardD2dt2Scheme/backwardD2dt2Schemes.C
divSchemes = finiteVolume/divSchemes
$(divSchemes)/divScheme/divSchemes.C
@ -332,6 +334,7 @@ $(snGradSchemes)/snGradScheme/snGradSchemes.C
$(snGradSchemes)/correctedSnGrad/correctedSnGrads.C
$(snGradSchemes)/limitedSnGrad/limitedSnGrads.C
$(snGradSchemes)/uncorrectedSnGrad/uncorrectedSnGrads.C
$(snGradSchemes)/skewCorrectedSnGrad/skewCorrectedSnGrads.C
$(snGradSchemes)/fourthSnGrad/fourthSnGrads.C
/*
$(snGradSchemes)/quadraticFitSnGrad/quadraticFitSnGradData.C

View file

@ -29,11 +29,11 @@ Description
Interpolate volVectorField to mesh points using least squares best fit
planes.
Please cite:
Please cite:
Cardiff P, Karac A & Ivankovic A, A Large Strain Finite Volume Method for
Orthotropic Bodies with General Material Orientations, Computer Methods
in Applied Mechanics & Engineering, 2013,
http://dx.doi.org/10.1016/j.cma.2013.09.008.
http://dx.doi.org/10.1016/j.cma.2013.09.008.
SourceFiles
leastSquaresVolPointInterpolation.C
@ -47,7 +47,6 @@ Author
#define leastSquaresVolPointInterpolation_H
#include "MeshObject.H"
//#include "fvMesh.H"
#include "volFields.H"
#include "pointFields.H"
#include "simpleMatrix.H"
@ -61,7 +60,7 @@ class fvMesh;
class pointMesh;
/*---------------------------------------------------------------------------*\
Class leastSquaresVolPointInterpolation Declaration
Class leastSquaresVolPointInterpolation Declaration
\*---------------------------------------------------------------------------*/
class leastSquaresVolPointInterpolation
:

View file

@ -1,139 +0,0 @@
Making dependency list for source file cfdTools/general/MRF/MRFZone.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/linearPureUpwindFit/linearPureUpwindFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/cubicUpwindFit/cubicUpwindFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/quadraticUpwindFit/quadraticUpwindFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/quadraticLinearUpwindFit/quadraticLinearUpwindFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/quadraticFit/quadraticFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/quadraticLinearFit/quadraticLinearFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/biLinearFit/biLinearFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/linearFit/linearFit.C
Making dependency list for source file interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.C
Making dependency list for source file interpolation/volPointInterpolation/volPointInterpolation.C
Making dependency list for source file interpolation/volPointInterpolation/pointPatchInterpolation/pointPatchInterpolation.C
Making dependency list for source file interpolation/interpolation/interpolationCellPointWallModified/makeInterpolationCellPointWallModified.C
Making dependency list for source file interpolation/interpolation/interpolationCellPointFace/makeInterpolationCellPointFace.C
Making dependency list for source file interpolation/interpolation/interpolationCellPoint/makeInterpolationCellPoint.C
Making dependency list for source file fvMatrices/solvers/MULES/MULES.C
Making dependency list for source file fields/fvsPatchFields/constraint/regionCoupling/regionCouplingFvsPatchFields.C
Making dependency list for source file fields/fvsPatchFields/constraint/mixingPlane/mixingPlaneFvsPatchFields.C
Making dependency list for source file fields/fvsPatchFields/constraint/overlapGgi/overlapGgiFvsPatchFields.C
Making dependency list for source file fields/fvsPatchFields/constraint/cyclicGgi/cyclicGgiFvsPatchFields.C
Making dependency list for source file fields/fvsPatchFields/constraint/ggi/ggiFvsPatchFields.C
Making dependency list for source file fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchFields.C
Making dependency list for source file fields/fvPatchFields/derived/slip/slipFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C
Making dependency list for source file fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.C
Making dependency list for source file fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/derived/fan/fanFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/regionCoupling/regionCouplingFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/mixingPlane/mixingPlaneFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/overlapGgi/overlapGgiFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/cyclicGgi/cyclicGgiFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/ggi/ggiFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/wedge/wedgeFvPatchScalarField.C
Making dependency list for source file fields/fvPatchFields/constraint/wedge/wedgeFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/symmetry/symmetryFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/processor/processorFvPatchScalarField.C
Making dependency list for source file fields/fvPatchFields/constraint/processor/processorFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/constraint/cyclic/cyclicFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/basic/transform/transformFvPatchScalarField.C
Making dependency list for source file fields/fvPatchFields/basic/transform/transformFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchFields.C
Making dependency list for source file fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C
Making dependency list for source file fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchFields.C
Making dependency list for source file fvMesh/extendedStencil/faceToCell/fullStencils/CFCFaceToCellStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToFace/fullStencils/FECCellToFaceStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToFace/fullStencils/cellToFaceStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToCell/fullStencils/CECCellToCellStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToCell/fullStencils/CPCCellToCellStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToCell/fullStencils/CFCCellToCellStencil.C
Making dependency list for source file fvMesh/extendedStencil/cellToCell/fullStencils/cellToCellStencil.C
Making dependency list for source file fvMesh/wallDist/wallDistReflection.C
Making dependency list for source file fvMesh/wallDist/nearWallDistNoSearch.C
Making dependency list for source file fvMesh/wallDist/wallPointYPlus/wallPointYPlus.C
Making dependency list for source file fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/regionCouple/regionCoupleFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/mixingPlane/mixingPlaneFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/cyclicGgi/cyclicGgiFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/ggi/ggiFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/processor/processorFvPatch.C
Making dependency list for source file fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C
Making dependency list for source file fvMesh/fvMeshSubset/fvMeshSubset.C
Making dependency list for source file fvMesh/singleCellFvMesh/singleCellFvMesh.C
Making dependency list for source file fvMesh/fvMesh.C
Making dependency list for source file fvMesh/fvMeshGeometry.C
SOURCE=fvMesh/fvMeshGeometry.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/fvMeshGeometry.o
SOURCE=fvMesh/fvMesh.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/fvMesh.o
SOURCE=fvMesh/fvMeshSubset/fvMeshSubset.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/fvMeshSubset.o
SOURCE=fvMesh/singleCellFvMesh/singleCellFvMesh.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/singleCellFvMesh.o
SOURCE=fvMesh/fvPatches/constraint/cyclic/cyclicFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cyclicFvPatch.o
SOURCE=fvMesh/fvPatches/constraint/processor/processorFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/processorFvPatch.o
SOURCE=fvMesh/fvPatches/constraint/ggi/ggiFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/ggiFvPatch.o
SOURCE=fvMesh/fvPatches/constraint/cyclicGgi/cyclicGgiFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cyclicGgiFvPatch.o
SOURCE=fvMesh/fvPatches/constraint/overlapGgi/overlapGgiFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/overlapGgiFvPatch.o
SOURCE=fvMesh/fvPatches/constraint/mixingPlane/mixingPlaneFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/mixingPlaneFvPatch.o
SOURCE=fvMesh/fvPatches/constraint/regionCouple/regionCoupleFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/regionCoupleFvPatch.o
SOURCE=fvMesh/fvPatches/derived/cohesive/cohesiveFvPatch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cohesiveFvPatch.o
SOURCE=fvMesh/wallDist/wallPointYPlus/wallPointYPlus.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/wallPointYPlus.o
SOURCE=fvMesh/wallDist/nearWallDistNoSearch.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/nearWallDistNoSearch.o
SOURCE=fvMesh/wallDist/wallDistReflection.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/wallDistReflection.o
SOURCE=fvMesh/extendedStencil/cellToCell/fullStencils/cellToCellStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cellToCellStencil.o
SOURCE=fvMesh/extendedStencil/cellToCell/fullStencils/CFCCellToCellStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/CFCCellToCellStencil.o
SOURCE=fvMesh/extendedStencil/cellToCell/fullStencils/CPCCellToCellStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/CPCCellToCellStencil.o
SOURCE=fvMesh/extendedStencil/cellToCell/fullStencils/CECCellToCellStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/CECCellToCellStencil.o
SOURCE=fvMesh/extendedStencil/cellToFace/fullStencils/cellToFaceStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cellToFaceStencil.o
SOURCE=fvMesh/extendedStencil/cellToFace/fullStencils/FECCellToFaceStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/FECCellToFaceStencil.o
SOURCE=fvMesh/extendedStencil/cellToFace/extendedCellToFaceStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/extendedCellToFaceStencil.o
SOURCE=fvMesh/extendedStencil/cellToFace/extendedUpwindCellToFaceStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/extendedUpwindCellToFaceStencil.o
SOURCE=fvMesh/extendedStencil/faceToCell/fullStencils/CFCFaceToCellStencil.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/CFCFaceToCellStencil.o
SOURCE=fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/basicSymmetryFvPatchFields.o
SOURCE=fields/fvPatchFields/basic/basicSymmetry/basicSymmetryFvPatchScalarField.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/basicSymmetryFvPatchScalarField.o
SOURCE=fields/fvPatchFields/basic/directionMixed/directionMixedFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/directionMixedFvPatchFields.o
SOURCE=fields/fvPatchFields/basic/transform/transformFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/transformFvPatchFields.o
SOURCE=fields/fvPatchFields/basic/transform/transformFvPatchScalarField.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/transformFvPatchScalarField.o
SOURCE=fields/fvPatchFields/constraint/cyclic/cyclicFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cyclicFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/jumpCyclic/jumpCyclicFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/jumpCyclicFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/processor/processorFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/processorFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/processor/processorFvPatchScalarField.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/processorFvPatchScalarField.o
SOURCE=fields/fvPatchFields/constraint/symmetry/symmetryFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/symmetryFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/wedge/wedgeFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/wedgeFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/wedge/wedgeFvPatchScalarField.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/wedgeFvPatchScalarField.o
SOURCE=fields/fvPatchFields/constraint/ggi/ggiFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/ggiFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/cyclicGgi/cyclicGgiFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cyclicGgiFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/overlapGgi/overlapGgiFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/overlapGgiFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/mixingPlane/mixingPlaneFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/mixingPlaneFvPatchFields.o
SOURCE=fields/fvPatchFields/constraint/regionCoupling/regionCouplingFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/regionCouplingFvPatchFields.o
SOURCE=fields/fvPatchFields/derived/fan/fanFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/fanFvPatchFields.o
SOURCE=fields/fvPatchFields/derived/fixedNormalSlip/fixedNormalSlipFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/fixedNormalSlipFvPatchFields.o
SOURCE=fields/fvPatchFields/derived/partialSlip/partialSlipFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/partialSlipFvPatchFields.o
SOURCE=fields/fvPatchFields/derived/pressureInletOutletVelocity/pressureInletOutletVelocityFvPatchVectorField.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/pressureInletOutletVelocityFvPatchVectorField.o
SOURCE=fields/fvPatchFields/derived/rotatingPressureInletOutletVelocity/rotatingPressureInletOutletVelocityFvPatchVectorField.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/rotatingPressureInletOutletVelocityFvPatchVectorField.o
SOURCE=fields/fvPatchFields/derived/slip/slipFvPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/slipFvPatchFields.o
SOURCE=fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cyclicFvsPatchFields.o
SOURCE=fields/fvsPatchFields/constraint/ggi/ggiFvsPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/ggiFvsPatchFields.o
SOURCE=fields/fvsPatchFields/constraint/cyclicGgi/cyclicGgiFvsPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cyclicGgiFvsPatchFields.o
SOURCE=fields/fvsPatchFields/constraint/overlapGgi/overlapGgiFvsPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/overlapGgiFvsPatchFields.o
SOURCE=fields/fvsPatchFields/constraint/mixingPlane/mixingPlaneFvsPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/mixingPlaneFvsPatchFields.o
SOURCE=fields/fvsPatchFields/constraint/regionCoupling/regionCouplingFvsPatchFields.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/regionCouplingFvsPatchFields.o
SOURCE=fvMatrices/solvers/MULES/MULES.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/MULES.o
SOURCE=interpolation/interpolation/interpolationCellPoint/makeInterpolationCellPoint.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/makeInterpolationCellPoint.o
SOURCE=interpolation/interpolation/interpolationCellPointFace/makeInterpolationCellPointFace.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/makeInterpolationCellPointFace.o
SOURCE=interpolation/interpolation/interpolationCellPointWallModified/makeInterpolationCellPointWallModified.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/makeInterpolationCellPointWallModified.o
SOURCE=interpolation/volPointInterpolation/pointPatchInterpolation/pointPatchInterpolation.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/pointPatchInterpolation.o
SOURCE=interpolation/volPointInterpolation/volPointInterpolation.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/volPointInterpolation.o
SOURCE=interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/outletStabilised.o
SOURCE=interpolation/surfaceInterpolation/schemes/linearFit/linearFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/linearFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/biLinearFit/biLinearFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/biLinearFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/quadraticLinearFit/quadraticLinearFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/quadraticLinearFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/quadraticFit/quadraticFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/quadraticFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/quadraticLinearUpwindFit/quadraticLinearUpwindFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/quadraticLinearUpwindFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/quadraticUpwindFit/quadraticUpwindFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/quadraticUpwindFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/cubicUpwindFit/cubicUpwindFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/cubicUpwindFit.o
SOURCE=interpolation/surfaceInterpolation/schemes/linearPureUpwindFit/linearPureUpwindFit.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/linearPureUpwindFit.o
SOURCE=cfdTools/general/MRF/MRFZone.C ; ccache g++ -m64 -fPIC -DdarwinIntel64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-200 -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/triSurface/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/meshTools/lnInclude -IlnInclude -I. -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude -I/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/src/OSspecific/POSIX/lnInclude -fPIC -Ddarwin -c $SOURCE -o Make/darwinIntel64GccDPOpt/MRFZone.o
'/Users/philipc/OpenFOAM/OpenFOAM-1.6-ext/lib/darwinIntel64GccDPOpt/libfiniteVolume.dylib' is up to date.

View file

@ -64,11 +64,8 @@ $(constitutiveModel)/solidInterfaces/none/noneSolidInterface.C
$(constitutiveModel)/tractionBoundaryGradient/tractionBoundaryGradient.C
finiteVolume = finiteVolume
$(finiteVolume)/d2dt2Schemes/backwardD2dt2Scheme/backwardD2dt2Schemes.C
$(finiteVolume)/snGradSchemes/skewCorrectedSnGrad/skewCorrectedSnGrads.C
$(finiteVolume)/gradSchemes/leastSquaresSolidInterfaceGrad/leastSquaresSolidInterfaceGrads.C
$(finiteVolume)/gradSchemes/leastSquaresSolidInterfaceGrad/leastSquaresSolidInterfaceVectors.C
$(finiteVolume)/interpolation/leastSquaresVolPointInterpolation/leastSquaresVolPointInterpolation.C
rheologyLaws = $(constitutiveModel)/rheologyLaws
$(rheologyLaws)/rheologyLaw/rheologyLaw.C

View file

@ -87,8 +87,8 @@ class constitutiveModel
autoPtr<solidInterface> solidInterfacePtr_;
// we use IOReferencer to allow lookup of solidInterface object in
// the objectRegistry, for instance to be used by leastSquaresSolidInterface
// gradScheme
// the objectRegistry, for instance to be used by
// leastSquaresSolidInterface gradScheme
IOReferencer<solidInterface>* solidInterfaceRefPtr_;
// if solidInterface is on/off

View file

@ -30,7 +30,7 @@ Description
interfaces between cells of differing material properties.
Tukovic et al. Int. J. Numer. Meth. Engng (2012) DOI: 10.1002/nme.4390
This is the abstract base class and there are different specific
implmentations depending on if there are thermal terms, nonlinear terms,
non-orthogonal correction, orthotropic solver, etc.
@ -82,6 +82,7 @@ class solidInterface
const constitutiveModel& rheology_;
// Demand-driven data
//- Interface fvMeshSubMesh
@ -135,10 +136,11 @@ class solidInterface
// -1 for non-interface faces
mutable labelListList* processorPatchFacesMapPtr_;
// Private Member Functions
// Make demand-driven data
//- Make sub-mesh
void makeSubMesh() const;
@ -196,9 +198,9 @@ public:
solidInterface,
dictionary,
(
const word& name,
const fvMesh& mesh,
const constitutiveModel& rheology
const word& name,
const fvMesh& mesh,
const constitutiveModel& rheology
),
(name, mesh, rheology)
);
@ -209,9 +211,9 @@ public:
//- Return a reference to the selected rheology model
static autoPtr<solidInterface> New
(
const word& name,
const fvMesh& mesh,
const constitutiveModel& rheology
const word& name,
const fvMesh& mesh,
const constitutiveModel& rheology
);
@ -220,9 +222,9 @@ public:
//- Construct from dictionary
solidInterface
(
const word& name,
const fvMesh& mesh,
const constitutiveModel& rheology
const word& name,
const fvMesh& mesh,
const constitutiveModel& rheology
);
@ -245,82 +247,70 @@ public:
return mesh_;
}
const fvMeshSubset& subMesh() const;
const labelList& globalInterFaces() const;
const fvMeshSubset& subMesh() const;
const labelList& localInterFaces() const;
const labelList& globalInterFaces() const;
vectorField& interfaceDisplacement();
const labelList& localInterFaces() const;
const vectorField& interfaceDisplacement() const;
vectorField& interfaceDisplacement();
const labelList& processorPatches() const;
const vectorField& interfaceDisplacement() const;
const labelListList& processorPatchFaces() const;
const labelList& processorPatches() const;
const FieldField<Field, vector>& processorInterfaceDisplacement() const;
const labelListList& processorPatchFaces() const;
FieldField<Field, vector>& processorInterfaceDisplacement();
const FieldField<Field, vector>&
processorInterfaceDisplacement() const;
virtual void correct(fvVectorMatrix& UEqn) = 0;
FieldField<Field, vector>& processorInterfaceDisplacement();
// things get messy with a template so we will define all three options here
// modify property field (ie mu, lambda or K, C for orthotropic)
// virtual void modifyProperties
// (
// GeometricField<Type, fvsPatchField, surfaceMesh>& A,
// GeometricField<Type, fvsPatchField, surfaceMesh>& B
// ) const = 0;
virtual void correct(fvVectorMatrix& UEqn) = 0;
virtual void modifyProperties
(
surfaceScalarField& s
) const;
virtual void modifyProperties
(
surfaceScalarField& s
) const;
virtual void modifyProperties
(
surfaceSymmTensor4thOrderField& st
) const;
virtual void modifyProperties
(
surfaceSymmTensor4thOrderField& st
) const;
virtual void modifyProperties
(
surfaceDiagTensorField& dt
) const;
virtual void modifyProperties
(
surfaceDiagTensorField& dt
) const;
virtual void modifyProperties
(
surfaceScalarField& mu,
surfaceScalarField& lambda
) const;
virtual void modifyProperties
(
surfaceScalarField& mu,
surfaceScalarField& lambda
) const;
virtual void modifyProperties
(
surfaceScalarField& mu,
surfaceScalarField& lambda,
surfaceScalarField& threeKalpha
) const;
virtual void modifyProperties
(
surfaceScalarField& mu,
surfaceScalarField& lambda,
surfaceScalarField& threeKalpha
) const;
virtual void modifyProperties
(
surfaceSymmTensor4thOrderField& C,
surfaceDiagTensorField& K
) const;
virtual void modifyProperties
(
surfaceSymmTensor4thOrderField& C,
surfaceDiagTensorField& K
) const;
// leastSquaresSolidInterface gradScheme should now be used
// instead of this gauss grad
//tmp<volTensorField> grad(volVectorField& U) const;
const List<labelPair>& indicator() const;
const List<labelPair>& indicator() const;
const labelList& indicatorFieldMap() const;
const labelList& indicatorFieldMap() const;
const labelList& processorPatchMap() const;
const labelList& processorPatchMap() const;
const labelListList& processorPatchFacesMap() const;
virtual void clearOut();
const labelListList& processorPatchFacesMap() const;
virtual void clearOut();
};

View file

@ -47,152 +47,155 @@ namespace Foam
defineTypeNameAndDebug(tractionBoundaryGradient, 0);
// * * * * * * * * * * * * * * * * Member functions * * * * * * * * * * * * * * //
tmp<vectorField> tractionBoundaryGradient::traction
(
const tensorField& gradField,
const word fieldName,
const fvPatch& patch,
Switch orthotropic,
word nonLinear
) const
{
// * * * * * * * * * * * * * * Member functions * * * * * * * * * * * * * * //
tmp<vectorField> tractionBoundaryGradient::traction
(
const tensorField& gradField,
const word fieldName,
const fvPatch& patch,
Switch orthotropic,
word nonLinear
) const
{
// create tmp
tmp<vectorField> ttraction(new vectorField(gradField.size(), vector::zero));
tmp<vectorField> ttraction
(
new vectorField(gradField.size(), vector::zero)
);
vectorField& traction = ttraction();
if(orthotropic)
{
// for now, turn off orthotropic
FatalError << "tractionBoundaryGradient::traction is not written for orthotropic yet" << nl
<< "you are probably trying to use solidContact boundaries with orthotropic solver" << nl
<< "it should be straight-forward but I have not done it yet!"
<< exit(FatalError);
{
// for now, turn off orthotropic
FatalError << "tractionBoundaryGradient::traction is not written for orthotropic yet" << nl
<< "you are probably trying to use solidContact boundaries with orthotropic solver" << nl
<< "it should be straight-forward but I have not done it yet!"
<< exit(FatalError);
}
else
{
// lookup material properties
// const constitutiveModel& rheology =
// patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
// scalarField mu =
// rheology.mu()().boundaryField()[patch.index()];
// scalarField lambda =
// rheology.lambda()().boundaryField()[patch.index()];
// lookup material properties from the solver
const fvPatchField<scalar>& mu =
patch.lookupPatchField<volScalarField, scalar>("mu");
const fvPatchField<scalar>& lambda =
patch.lookupPatchField<volScalarField, scalar>("lambda");
// only for nonlinear elastic properties
// if(rheology.type() == plasticityModel::typeName)
// {
// const plasticityModel& plasticity =
// refCast<const plasticityModel>(rheology);
// mu = plasticity.newMu().boundaryField()[patch.index()];
// lambda = plasticity.newLambda().boundaryField()[patch.index()];
// }
// lookup material properties
// const constitutiveModel& rheology =
// patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
// scalarField mu =
// rheology.mu()().boundaryField()[patch.index()];
// scalarField lambda =
// rheology.lambda()().boundaryField()[patch.index()];
// lookup material properties from the solver
const fvPatchField<scalar>& mu =
patch.lookupPatchField<volScalarField, scalar>("mu");
const fvPatchField<scalar>& lambda =
patch.lookupPatchField<volScalarField, scalar>("lambda");
// required fields
vectorField n = patch.nf();
// only for nonlinear elastic properties
// if(rheology.type() == plasticityModel::typeName)
// {
// const plasticityModel& plasticity =
// refCast<const plasticityModel>(rheology);
// mu = plasticity.newMu().boundaryField()[patch.index()];
// lambda = plasticity.newLambda().boundaryField()[patch.index()];
// }
// required fields
vectorField n = patch.nf();
// calculate traction
traction = 2*mu*(n&symm(gradField)) + lambda*tr(gradField)*n;
// calculate traction
traction = 2*mu*(n&symm(gradField)) + lambda*tr(gradField)*n;
//- if there is plasticity
const constitutiveModel& rheology =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
if(rheology.plasticityActive())
{
traction -=
2*mu*(n & rheology.DEpsilonP().boundaryField()[patch.index()]);
}
//- if there are thermal effects
if(patch.boundaryMesh().mesh().objectRegistry::foundObject<thermalModel>("thermalProperties"))
{
const thermalModel& thermo =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<thermalModel>("thermalProperties");
const fvPatchField<scalar>& threeKalpha =
patch.lookupPatchField<volScalarField, scalar>("((threeK*rho)*alpha)");
if(fieldName == "DU")
{
const fvPatchField<scalar>& DT =
patch.lookupPatchField<volScalarField, scalar>("DT");
traction -= (n*threeKalpha*DT);
}
else
{
const fvPatchField<scalar>& T =
patch.lookupPatchField<volScalarField, scalar>("T");
const scalarField T0 = thermo.T0()().boundaryField()[patch.index()];
traction -= (n*threeKalpha*(T - T0));
}
}
//- if there is plasticity
const constitutiveModel& rheology =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
if(rheology.plasticityActive())
{
traction -=
2*mu*(n & rheology.DEpsilonP().boundaryField()[patch.index()]);
}
// non linear terms
if (nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
traction +=
(n & (mu*(gradField & gradField.T())))
+ 0.5*n*lambda*(gradField && gradField);
//- if there are thermal effects
if(patch.boundaryMesh().mesh().objectRegistry::foundObject<thermalModel>("thermalProperties"))
{
const thermalModel& thermo =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<thermalModel>("thermalProperties");
if(fieldName == "DU" && nonLinear == "totalLagrangian")
{
// incremental total Lagrangian
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
const fvPatchField<scalar>& threeKalpha =
patch.lookupPatchField<volScalarField, scalar>("((threeK*rho)*alpha)");
traction +=
(n & (mu*( (gradU & gradField.T()) + (gradField & gradU.T()))))
+ 0.5*n*lambda*tr((gradU & gradField.T()) + (gradField & gradU.T()));
}
}
if(fieldName == "DU")
{
const fvPatchField<scalar>& DT =
patch.lookupPatchField<volScalarField, scalar>("DT");
traction -= (n*threeKalpha*DT);
}
else
{
const fvPatchField<scalar>& T =
patch.lookupPatchField<volScalarField, scalar>("T");
const scalarField T0 = thermo.T0()().boundaryField()[patch.index()];
traction -= (n*threeKalpha*(T - T0));
}
}
// non linear terms
if (nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
traction +=
(n & (mu*(gradField & gradField.T())))
+ 0.5*n*lambda*(gradField && gradField);
if(fieldName == "DU" && nonLinear == "totalLagrangian")
{
// incremental total Lagrangian
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
traction +=
(n & (mu*( (gradU & gradField.T()) + (gradField & gradU.T()))))
+ 0.5*n*lambda*tr((gradU & gradField.T()) + (gradField & gradU.T()));
}
}
//- add old stress for incremental approaches
if(fieldName == "DU")
{
// add on old traction
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
traction += (n & sigma);
}
//- add old stress for incremental approaches
if(fieldName == "DU")
{
// add on old traction
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
traction += (n & sigma);
}
//- visco-elastic
if(rheology.viscoActive())
{
const fvPatchField<symmTensor>& DSigmaCorr =
patch.lookupPatchField<volSymmTensorField, symmTensor>("DSigmaCorr");
traction += (n & DSigmaCorr);
}
//- visco-elastic
if(rheology.viscoActive())
{
const fvPatchField<symmTensor>& DSigmaCorr =
patch.lookupPatchField<volSymmTensorField, symmTensor>("DSigmaCorr");
//- updated Lagrangian or total Lagrangian large strain
if (nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
tensorField F = I + gradField;
if(fieldName == "DU" && nonLinear == "totalLagrangian")
{
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
F += gradU;
}
tensorField Finv = inv(F);
scalarField J = det(F);
traction += (n & DSigmaCorr);
}
//- rotate second Piola Kirchhoff traction to be Cauchy traction
traction = (traction & F)/(mag(J * Finv & n));
}
//- updated Lagrangian or total Lagrangian large strain
if (nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
tensorField F = I + gradField;
if(fieldName == "DU" && nonLinear == "totalLagrangian")
{
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
F += gradU;
}
tensorField Finv = inv(F);
scalarField J = det(F);
//- rotate second Piola Kirchhoff traction to be Cauchy traction
traction = (traction & F)/(mag(J * Finv & n));
}
}
return ttraction;
@ -219,350 +222,350 @@ defineTypeNameAndDebug(tractionBoundaryGradient, 0);
// orthotropic solvers
if(orthotropic)
{
// mechanical properties
const constitutiveModel& rheology =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
// these lookups return zero fields - must be a bug somewhere!
// const fvPatchField<diagTensor>& K =
// patch.lookupPatchField<volDiagTensorField, tensor>("K");
// const fvPatchField<symmTensor4thOrder>& C =
// patch.lookupPatchField<volSymmTensor4thOrderField, symmTensor4thOrder>("C");
const diagTensorField K = rheology.K()().boundaryField()[patch.index()];
const symmTensor4thOrderField C = rheology.C()().boundaryField()[patch.index()];
// mechanical properties
const constitutiveModel& rheology =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
// these lookups return zero fields - must be a bug somewhere!
// const fvPatchField<diagTensor>& K =
// patch.lookupPatchField<volDiagTensorField, tensor>("K");
// const fvPatchField<symmTensor4thOrder>& C =
// patch.lookupPatchField<volSymmTensor4thOrderField, symmTensor4thOrder>("C");
const diagTensorField K = rheology.K()().boundaryField()[patch.index()];
const symmTensor4thOrderField C = rheology.C()().boundaryField()[patch.index()];
// required fields
vectorField n = patch.nf();
const diagTensorField Kinv = inv(K);
const fvPatchField<tensor>& gradField =
patch.lookupPatchField<volTensorField, tensor>("grad(" + fieldName + ")");
// required fields
vectorField n = patch.nf();
const diagTensorField Kinv = inv(K);
const fvPatchField<tensor>& gradField =
patch.lookupPatchField<volTensorField, tensor>("grad(" + fieldName + ")");
// calculate the traction to apply
vectorField Traction(n.size(), vector::zero);
tensorField sigmaExp(n.size(), tensor::zero);
//- total Lagrangian small strain
if(fieldName == "U" && nonLinear == "off")
{
//- total traction
Traction = (traction - n*pressure);
sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
}
//- incremental total Lagrangian small strain
else if(fieldName == "DU" && nonLinear == "off") //- incremental small strain
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
//- increment of traction
Traction = (traction - n*pressure) - (n & sigma);
sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
}
//- updated Lagrangian large strain
else if (nonLinear == "updatedLagrangian")
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
tensorField F = I + gradField;
tensorField Finv = inv(F);
scalarField J = det(F);
vectorField nCurrent = Finv & n;
nCurrent /= mag(nCurrent);
vectorField tractionCauchy = traction - nCurrent*pressure;
//- increment of 2nd Piola-Kirchhoff traction
Traction = (mag(J * Finv & n) * tractionCauchy & Finv) - (n & sigma);
sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
}
else
{
FatalError << "solidTractionOrtho boundary condition not suitable for "
<< " field " << fieldName << " and " << nonLinear << abort(FatalError);
}
gradient =
n &
(
Kinv & ( n*(Traction) - sigmaExp )
);
// calculate the traction to apply
vectorField Traction(n.size(), vector::zero);
tensorField sigmaExp(n.size(), tensor::zero);
//- total Lagrangian small strain
if(fieldName == "U" && nonLinear == "off")
{
//- total traction
Traction = (traction - n*pressure);
sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
}
//- incremental total Lagrangian small strain
else if(fieldName == "DU" && nonLinear == "off") //- incremental small strain
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
//- increment of traction
Traction = (traction - n*pressure) - (n & sigma);
sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
}
//- updated Lagrangian large strain
else if (nonLinear == "updatedLagrangian")
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
tensorField F = I + gradField;
tensorField Finv = inv(F);
scalarField J = det(F);
vectorField nCurrent = Finv & n;
nCurrent /= mag(nCurrent);
vectorField tractionCauchy = traction - nCurrent*pressure;
//- increment of 2nd Piola-Kirchhoff traction
Traction = (mag(J * Finv & n) * tractionCauchy & Finv) - (n & sigma);
sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
}
else
{
FatalError << "solidTractionOrtho boundary condition not suitable for "
<< " field " << fieldName << " and " << nonLinear << abort(FatalError);
}
gradient =
n &
(
Kinv & ( n*(Traction) - sigmaExp )
);
}
// standard isotropic solvers
else
{
// lookup material properties
// const constitutiveModel& rheology =
// patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
//scalarField mu =
//rheology.mu()().boundaryField()[patch.index()];
//scalarField lambda =
//rheology.lambda()().boundaryField()[patch.index()];
// lookup material properties from the solver
const fvPatchField<scalar>& mu =
patch.lookupPatchField<volScalarField, scalar>("mu");
const fvPatchField<scalar>& lambda =
patch.lookupPatchField<volScalarField, scalar>("lambda");
// only for nonlinear elastic properties
// if(rheology.type() == plasticityModel::typeName)
// {
// const plasticityModel& plasticity =
// refCast<const plasticityModel>(rheology);
// mu = plasticity.newMu().boundaryField()[patch.index()];
// lambda = plasticity.newLambda().boundaryField()[patch.index()];
// }
// lookup material properties
// const constitutiveModel& rheology =
// patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
//scalarField mu =
//rheology.mu()().boundaryField()[patch.index()];
//scalarField lambda =
//rheology.lambda()().boundaryField()[patch.index()];
// lookup material properties from the solver
const fvPatchField<scalar>& mu =
patch.lookupPatchField<volScalarField, scalar>("mu");
const fvPatchField<scalar>& lambda =
patch.lookupPatchField<volScalarField, scalar>("lambda");
// only for nonlinear elastic properties
// if(rheology.type() == plasticityModel::typeName)
// {
// const plasticityModel& plasticity =
// refCast<const plasticityModel>(rheology);
// mu = plasticity.newMu().boundaryField()[patch.index()];
// lambda = plasticity.newLambda().boundaryField()[patch.index()];
// }
// required fields
vectorField n = patch.nf();
// required fields
vectorField n = patch.nf();
// gradient of the field
const fvPatchField<tensor>& gradField =
patch.lookupPatchField<volTensorField, tensor>("grad(" + fieldName + ")");
// gradient of the field
const fvPatchField<tensor>& gradField =
patch.lookupPatchField<volTensorField, tensor>("grad(" + fieldName + ")");
//---------------------------//
//- calculate the actual traction to apply
//---------------------------//
vectorField Traction(n.size(),vector::zero);
//---------------------------//
//- calculate the actual traction to apply
//---------------------------//
vectorField Traction(n.size(),vector::zero);
//- total Lagrangian small strain
if(fieldName == "U" && nonLinear == "off")
{
//- total traction
Traction = (traction - n*pressure);
}
//- incremental total Lagrangian small strain
else if(fieldName == "DU" && nonLinear == "off") //- incremental small strain
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
//- increment of traction
Traction = (traction - n*pressure) - (n & sigma);
}
//- updated Lagrangian or total Lagrangian large strain
else if (nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
tensorField F = I + gradField;
if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
{
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
F += gradU;
}
tensorField Finv = hinv(F);
scalarField J = det(F);
vectorField nCurrent = Finv & n;
nCurrent /= mag(nCurrent);
vectorField tractionCauchy = traction - nCurrent*pressure;
Traction = (mag(J * Finv & n) * tractionCauchy & Finv);
if(fieldName == "DU")
{
//- increment of 2nd Piola-Kirchhoff traction
Traction -= (n & sigma);
}
}
else
{
FatalError << "Field " << fieldName << " and " << nonLinear << " nonLinear are not compatible!"
<< exit(FatalError);
}
//- visco-elastic
const constitutiveModel& rheology =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
if(rheology.viscoActive())
{
//Info << "visco active" << endl;
const fvPatchField<symmTensor>& DSigmaCorr =
patch.lookupPatchField<volSymmTensorField, symmTensor>("DSigmaCorr");
Traction -= (n & DSigmaCorr);
}
//---------------------------//
//- calculate the normal gradient based on the traction
//---------------------------//
gradient =
Traction
- (n & (mu*gradField.T() - (mu + lambda)*gradField))
- n*lambda*tr(gradField);
//- if there is plasticity
if(rheology.plasticityActive())
{
//Info << "plasticity is active" << endl;
gradient +=
2*mu*(n & rheology.DEpsilonP().boundaryField()[patch.index()]);
}
//- if there are thermal effects
if(patch.boundaryMesh().mesh().objectRegistry::foundObject<thermalModel>("thermalProperties"))
{
const thermalModel& thermo =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<thermalModel>("thermalProperties");
const fvPatchField<scalar>& threeKalpha =
patch.lookupPatchField<volScalarField, scalar>("((threeK*rho)*alpha)");
if(fieldName == "DU")
{
const fvPatchField<scalar>& DT =
patch.lookupPatchField<volScalarField, scalar>("DT");
gradient += (n*threeKalpha*DT);
}
else
{
const fvPatchField<scalar>& T =
patch.lookupPatchField<volScalarField, scalar>("T");
const scalarField T0 = thermo.T0()().boundaryField()[patch.index()];
gradient += (n*threeKalpha*(T - T0));
}
}
//- higher order non-linear terms
if(nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
// apply further under-relation to non-higher order terms
const fvMesh& mesh = patch.boundaryMesh().mesh();
// lookup gradUPrevIter
// NOTE: grad(DU/U).storePrevIter() must be present in the solver
// if(mesh.relax("divDSigmaNonLinExp"))
// {
// const tensorField& gradFieldPrevIter =
// mesh.objectRegistry::lookupObject<volTensorField>("grad("+fieldName+")PrevIter").boundaryField()[patch.index()];
// // lookup relaxation factor
// //scalar relaxFactorNonLin = 1.0;
// //if(mesh.relax("divDSigmaNonLinExp"))
// //{
// scalar relaxFactorNonLin = mesh.relaxationFactor("divDSigmaNonLinExp");
// //Info << "relaxFactorNonLin is " << relaxFactorNonLin << endl;
// // }
// vectorField newHigherOrderTerm =
// -(n & (mu*(gradField & gradField.T())))
// - 0.5*n*lambda*(gradField && gradField);
// vectorField prevHigherOrderTerm =
// -(n & (mu*(gradFieldPrevIter & gradFieldPrevIter.T())))
// - 0.5*n*lambda*(gradFieldPrevIter && gradFieldPrevIter);
// if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
// {
// // gradU is const in a time step
// const fvPatchField<tensor>& gradU =
// patch.lookupPatchField<volTensorField, tensor>("grad(U)");
// // gradient -=
// // (n &
// // (mu*( (gradField & gradU.T())
// // + (gradU & gradField.T()) ))
// // )
// // + 0.5*n*lambda*tr( (gradField & gradU.T())
// // + (gradU & gradField.T()) );
// newHigherOrderTerm -=
// (n &
// (mu*( (gradField & gradU.T())
// + (gradU & gradField.T()) ))
// )
// + 0.5*n*lambda*tr( (gradField & gradU.T())
// + (gradU & gradField.T()) );
// prevHigherOrderTerm -=
// (n &
// (mu*( (gradFieldPrevIter & gradU.T())
// + (gradU & gradFieldPrevIter.T()) ))
// )
// + 0.5*n*lambda*tr( (gradFieldPrevIter & gradU.T())
// + (gradU & gradFieldPrevIter.T()) );
// }
// gradient += relaxFactorNonLin*newHigherOrderTerm + (1.0-relaxFactorNonLin)*prevHigherOrderTerm;
// }
// else
{
// no extra relaxation
gradient -=
(n & (mu*(gradField & gradField.T())))
// + 0.5*n*lambda*(gradField && gradField);
+ 0.5*n*lambda*tr(gradField & gradField.T());
//- tensorial identity
//- tr(gradField & gradField.T())*I == (gradField && gradField)*I
if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
{
// gradU is const in a time step
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
gradient -=
(n &
(mu*( (gradField & gradU.T())
+ (gradU & gradField.T()) ))
)
+ 0.5*n*lambda*tr( (gradField & gradU.T())
+ (gradU & gradField.T()) );
}
}
}
gradient /= (2.0*mu + lambda);
/*if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
{
// hmnn diffusivity is a tensor for incrTL
// so we could set the gradient using a similar method to
// the orthotropic solver i.e.
// symmTensorField sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
// or it should also work using the standard isotropic approach.
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
// tensorial diffusivity
tensorField K = (2*mu + lambda)*I + (2*mu + lambda)*gradU;
tensorField Kinv = hinv(K);
// explicit component of sigma
// this should be symmetric so maybe get symm of it
// to reduce calculations: OK for now
tensorField sigmaExp =
mu*( gradField.T()
+ (gradU & gradField.T())
+ (gradField & gradField.T()) )
+ lambda*I*tr( gradField + 0.5*( (gradField & gradU.T()) + (gradU & gradField.T()) + (gradField & gradField.T()) ) )
- (mu + lambda)*gradField
- (mu + lambda)*(gradU & gradField);
gradient = n & ( Kinv & ( n*(Traction) - sigmaExp ) );
// use standard isotropic approach
gradient /= (2.0*mu + lambda);
}
else
{
gradient /= (2.0*mu + lambda);
}*/
//- total Lagrangian small strain
if(fieldName == "U" && nonLinear == "off")
{
//- total traction
Traction = (traction - n*pressure);
}
//- incremental total Lagrangian small strain
else if(fieldName == "DU" && nonLinear == "off") //- incremental small strain
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
//- increment of traction
Traction = (traction - n*pressure) - (n & sigma);
}
//- updated Lagrangian or total Lagrangian large strain
else if (nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
const fvPatchField<symmTensor>& sigma =
patch.lookupPatchField<volSymmTensorField, symmTensor>("sigma");
tensorField F = I + gradField;
if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
{
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
F += gradU;
}
tensorField Finv = hinv(F);
scalarField J = det(F);
vectorField nCurrent = Finv & n;
nCurrent /= mag(nCurrent);
vectorField tractionCauchy = traction - nCurrent*pressure;
Traction = (mag(J * Finv & n) * tractionCauchy & Finv);
if(fieldName == "DU")
{
//- increment of 2nd Piola-Kirchhoff traction
Traction -= (n & sigma);
}
}
else
{
FatalError << "Field " << fieldName << " and " << nonLinear << " nonLinear are not compatible!"
<< exit(FatalError);
}
//- visco-elastic
const constitutiveModel& rheology =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<constitutiveModel>("rheologyProperties");
if(rheology.viscoActive())
{
//Info << "visco active" << endl;
const fvPatchField<symmTensor>& DSigmaCorr =
patch.lookupPatchField<volSymmTensorField, symmTensor>("DSigmaCorr");
Traction -= (n & DSigmaCorr);
}
//---------------------------//
//- calculate the normal gradient based on the traction
//---------------------------//
gradient =
Traction
- (n & (mu*gradField.T() - (mu + lambda)*gradField))
- n*lambda*tr(gradField);
//- if there is plasticity
if(rheology.plasticityActive())
{
//Info << "plasticity is active" << endl;
gradient +=
2*mu*(n & rheology.DEpsilonP().boundaryField()[patch.index()]);
}
//- if there are thermal effects
if(patch.boundaryMesh().mesh().objectRegistry::foundObject<thermalModel>("thermalProperties"))
{
const thermalModel& thermo =
patch.boundaryMesh().mesh().objectRegistry::lookupObject<thermalModel>("thermalProperties");
const fvPatchField<scalar>& threeKalpha =
patch.lookupPatchField<volScalarField, scalar>("((threeK*rho)*alpha)");
if(fieldName == "DU")
{
const fvPatchField<scalar>& DT =
patch.lookupPatchField<volScalarField, scalar>("DT");
gradient += (n*threeKalpha*DT);
}
else
{
const fvPatchField<scalar>& T =
patch.lookupPatchField<volScalarField, scalar>("T");
const scalarField T0 = thermo.T0()().boundaryField()[patch.index()];
gradient += (n*threeKalpha*(T - T0));
}
}
//- higher order non-linear terms
if(nonLinear == "updatedLagrangian" || nonLinear == "totalLagrangian")
{
// apply further under-relation to non-higher order terms
// const fvMesh& mesh = patch.boundaryMesh().mesh();
// lookup gradUPrevIter
// NOTE: grad(DU/U).storePrevIter() must be present in the solver
// if(mesh.relax("divDSigmaNonLinExp"))
// {
// const tensorField& gradFieldPrevIter =
// mesh.objectRegistry::lookupObject<volTensorField>("grad("+fieldName+")PrevIter").boundaryField()[patch.index()];
// // lookup relaxation factor
// //scalar relaxFactorNonLin = 1.0;
// //if(mesh.relax("divDSigmaNonLinExp"))
// //{
// scalar relaxFactorNonLin = mesh.relaxationFactor("divDSigmaNonLinExp");
// //Info << "relaxFactorNonLin is " << relaxFactorNonLin << endl;
// // }
// vectorField newHigherOrderTerm =
// -(n & (mu*(gradField & gradField.T())))
// - 0.5*n*lambda*(gradField && gradField);
// vectorField prevHigherOrderTerm =
// -(n & (mu*(gradFieldPrevIter & gradFieldPrevIter.T())))
// - 0.5*n*lambda*(gradFieldPrevIter && gradFieldPrevIter);
// if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
// {
// // gradU is const in a time step
// const fvPatchField<tensor>& gradU =
// patch.lookupPatchField<volTensorField, tensor>("grad(U)");
// // gradient -=
// // (n &
// // (mu*( (gradField & gradU.T())
// // + (gradU & gradField.T()) ))
// // )
// // + 0.5*n*lambda*tr( (gradField & gradU.T())
// // + (gradU & gradField.T()) );
// newHigherOrderTerm -=
// (n &
// (mu*( (gradField & gradU.T())
// + (gradU & gradField.T()) ))
// )
// + 0.5*n*lambda*tr( (gradField & gradU.T())
// + (gradU & gradField.T()) );
// prevHigherOrderTerm -=
// (n &
// (mu*( (gradFieldPrevIter & gradU.T())
// + (gradU & gradFieldPrevIter.T()) ))
// )
// + 0.5*n*lambda*tr( (gradFieldPrevIter & gradU.T())
// + (gradU & gradFieldPrevIter.T()) );
// }
// gradient += relaxFactorNonLin*newHigherOrderTerm + (1.0-relaxFactorNonLin)*prevHigherOrderTerm;
// }
// else
{
// no extra relaxation
gradient -=
(n & (mu*(gradField & gradField.T())))
// + 0.5*n*lambda*(gradField && gradField);
+ 0.5*n*lambda*tr(gradField & gradField.T());
//- tensorial identity
//- tr(gradField & gradField.T())*I == (gradField && gradField)*I
if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
{
// gradU is const in a time step
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
gradient -=
(n &
(mu*( (gradField & gradU.T())
+ (gradU & gradField.T()) ))
)
+ 0.5*n*lambda*tr( (gradField & gradU.T())
+ (gradU & gradField.T()) );
}
}
}
gradient /= (2.0*mu + lambda);
/*if(fieldName == "DU" && nonLinear == "totalLagrangian") // for incr TL
{
// hmnn diffusivity is a tensor for incrTL
// so we could set the gradient using a similar method to
// the orthotropic solver i.e.
// symmTensorField sigmaExp = (n*(n&(C && symm(gradField)))) - (K & gradField);
// or it should also work using the standard isotropic approach.
const fvPatchField<tensor>& gradU =
patch.lookupPatchField<volTensorField, tensor>("grad(U)");
// tensorial diffusivity
tensorField K = (2*mu + lambda)*I + (2*mu + lambda)*gradU;
tensorField Kinv = hinv(K);
// explicit component of sigma
// this should be symmetric so maybe get symm of it
// to reduce calculations: OK for now
tensorField sigmaExp =
mu*( gradField.T()
+ (gradU & gradField.T())
+ (gradField & gradField.T()) )
+ lambda*I*tr( gradField + 0.5*( (gradField & gradU.T()) + (gradU & gradField.T()) + (gradField & gradField.T()) ) )
- (mu + lambda)*gradField
- (mu + lambda)*(gradU & gradField);
gradient = n & ( Kinv & ( n*(Traction) - sigmaExp ) );
// use standard isotropic approach
gradient /= (2.0*mu + lambda);
}
else
{
gradient /= (2.0*mu + lambda);
}*/
}
return tgradient;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //