Porting changes: Intel
This commit is contained in:
parent
b357f5e043
commit
5b17b7bf43
3 changed files with 81 additions and 71 deletions
|
@ -57,66 +57,76 @@ dirichletNeumann::dirichletNeumann
|
||||||
const PrimitivePatch<face, List, pointField>& slaveFaceZonePatch
|
const PrimitivePatch<face, List, pointField>& slaveFaceZonePatch
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
normalContactModel
|
normalContactModel
|
||||||
(
|
(
|
||||||
name,
|
name,
|
||||||
patch,
|
patch,
|
||||||
dict,
|
dict,
|
||||||
masterPatchID,
|
masterPatchID,
|
||||||
slavePatchID,
|
slavePatchID,
|
||||||
masterFaceZoneID,
|
masterFaceZoneID,
|
||||||
slaveFaceZoneID,
|
slaveFaceZoneID,
|
||||||
masterFaceZonePatch,
|
masterFaceZonePatch,
|
||||||
slaveFaceZonePatch
|
slaveFaceZonePatch
|
||||||
),
|
),
|
||||||
normalContactModelDict_(dict.subDict(name+"NormalModelDict")),
|
normalContactModelDict_(dict.subDict(name+"NormalModelDict")),
|
||||||
mesh_(patch.boundaryMesh().mesh()),
|
mesh_(patch.boundaryMesh().mesh()),
|
||||||
slaveDisp_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero),
|
slaveDisp_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero),
|
||||||
oldSlaveDispMag_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0),
|
oldSlaveDispMag_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0),
|
||||||
slavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero),
|
slavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero),
|
||||||
oldSlavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero),
|
oldSlavePressure_(mesh_.boundaryMesh()[slavePatchID].size(), vector::zero),
|
||||||
touchFraction_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0),
|
touchFraction_(mesh_.boundaryMesh()[slavePatchID].size(), 0.0),
|
||||||
slaveValueFrac_(mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero),
|
slaveValueFrac_(mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero),
|
||||||
oldSlaveValueFrac_
|
oldSlaveValueFrac_
|
||||||
(mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero),
|
(
|
||||||
limitPenetration_(normalContactModelDict_.lookup("limitPenetration")),
|
mesh_.boundaryMesh()[slavePatchID].size(), symmTensor::zero
|
||||||
penetrationLimit_
|
),
|
||||||
(readScalar(normalContactModelDict_.lookup("penetrationLimit"))),
|
limitPenetration_(normalContactModelDict_.lookup("limitPenetration")),
|
||||||
limitPressure_(normalContactModelDict_.lookup("limitPressure")),
|
penetrationLimit_
|
||||||
pressureLimit_(readScalar(normalContactModelDict_.lookup("pressureLimit"))),
|
(
|
||||||
settleContact_
|
readScalar(normalContactModelDict_.lookup("penetrationLimit"))
|
||||||
(
|
),
|
||||||
normalContactModelDict_.found("settleContact") ?
|
limitPressure_(normalContactModelDict_.lookup("limitPressure")),
|
||||||
normalContactModelDict_.lookup("settleContact") : false
|
pressureLimit_(readScalar(normalContactModelDict_.lookup("pressureLimit"))),
|
||||||
),
|
settleContact_
|
||||||
settleIterationNumber_
|
(
|
||||||
(
|
normalContactModelDict_.lookupOrDefault<Switch>
|
||||||
settleContact_ ?
|
(
|
||||||
readInt(normalContactModelDict_.lookup("settleIterationNumber")) : GREAT
|
"settleContact",
|
||||||
),
|
false
|
||||||
correctMissedVertices_
|
)
|
||||||
(
|
),
|
||||||
normalContactModelDict_.lookup("correctMissedVertices")
|
settleIterationNumber_
|
||||||
),
|
(
|
||||||
slavePointPointsPtr_(NULL),
|
normalContactModelDict_.lookupOrDefault<label>
|
||||||
contactGapTol_(readScalar(normalContactModelDict_.lookup("contactGapTol"))),
|
(
|
||||||
contactIterNum_(0),
|
"settleIterationNumber",
|
||||||
relaxFactor_(readScalar(normalContactModelDict_.lookup("relaxationFactor"))),
|
1000
|
||||||
distanceMethod_(normalContactModelDict_.lookup("distanceMethod")),
|
)
|
||||||
aitkenRelaxation_(normalContactModelDict_.lookup("aitkenRelaxation")),
|
),
|
||||||
curTimeIndex_(-1),
|
correctMissedVertices_
|
||||||
iCorr_(0),
|
(
|
||||||
aitkenRes0_(1.0),
|
normalContactModelDict_.lookup("correctMissedVertices")
|
||||||
aitkenTheta_(relaxFactor_),
|
),
|
||||||
aitkenDelta_(slaveDisp_.size(), vector::zero),
|
slavePointPointsPtr_(NULL),
|
||||||
aitkenDeltaPrevIter_(slaveDisp_.size(), vector::zero),
|
contactGapTol_(readScalar(normalContactModelDict_.lookup("contactGapTol"))),
|
||||||
slaveDispPrevIter_(slaveDisp_.size(), vector::zero),
|
contactIterNum_(0),
|
||||||
oscillationCorr_(normalContactModelDict_.lookup("oscillationCorrection")),
|
relaxFactor_(readScalar(normalContactModelDict_.lookup("relaxationFactor"))),
|
||||||
smoothingSteps_(readInt(normalContactModelDict_.lookup("smoothingSteps"))),
|
distanceMethod_(normalContactModelDict_.lookup("distanceMethod")),
|
||||||
infoFreq_(readInt(normalContactModelDict_.lookup("infoFrequency"))),
|
aitkenRelaxation_(normalContactModelDict_.lookup("aitkenRelaxation")),
|
||||||
contactFilePtr_(NULL)
|
curTimeIndex_(-1),
|
||||||
|
iCorr_(0),
|
||||||
|
aitkenRes0_(1.0),
|
||||||
|
aitkenTheta_(relaxFactor_),
|
||||||
|
aitkenDelta_(slaveDisp_.size(), vector::zero),
|
||||||
|
aitkenDeltaPrevIter_(slaveDisp_.size(), vector::zero),
|
||||||
|
slaveDispPrevIter_(slaveDisp_.size(), vector::zero),
|
||||||
|
oscillationCorr_(normalContactModelDict_.lookup("oscillationCorrection")),
|
||||||
|
smoothingSteps_(readInt(normalContactModelDict_.lookup("smoothingSteps"))),
|
||||||
|
infoFreq_(readInt(normalContactModelDict_.lookup("infoFrequency"))),
|
||||||
|
contactFilePtr_(NULL)
|
||||||
{
|
{
|
||||||
// master proc open contact info file
|
// master proc open contact info file
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
word masterName = mesh_.boundary()[masterPatchID].name();
|
word masterName = mesh_.boundary()[masterPatchID].name();
|
||||||
|
|
|
@ -116,7 +116,7 @@ class dirichletNeumann
|
||||||
// so we can turn off contact corrections after the specified
|
// so we can turn off contact corrections after the specified
|
||||||
// number of corrections
|
// number of corrections
|
||||||
Switch settleContact_;
|
Switch settleContact_;
|
||||||
int settleIterationNumber_;
|
label settleIterationNumber_;
|
||||||
|
|
||||||
// correct pointDistToInter misses
|
// correct pointDistToInter misses
|
||||||
// pointPoints are needed
|
// pointPoints are needed
|
||||||
|
|
|
@ -66,17 +66,17 @@ normalContactModel::normalContactModel
|
||||||
(patch.boundaryMesh().mesh().boundaryMesh()[slavePatchID].nPoints(), 0.0),
|
(patch.boundaryMesh().mesh().boundaryMesh()[slavePatchID].nPoints(), 0.0),
|
||||||
masterToSlaveInterpolatorPtr_
|
masterToSlaveInterpolatorPtr_
|
||||||
(
|
(
|
||||||
// new zoneToZoneInterpolation
|
new PatchToPatchInterpolation
|
||||||
new PatchToPatchInterpolation<
|
<
|
||||||
PrimitivePatch<
|
PrimitivePatch<face, List, pointField>,
|
||||||
face, List, pointField
|
PrimitivePatch<face, List, pointField>
|
||||||
>, PrimitivePatch<face, List, pointField> >
|
>
|
||||||
(
|
(
|
||||||
masterFaceZonePatch,
|
masterFaceZonePatch,
|
||||||
slaveFaceZonePatch,
|
slaveFaceZonePatch,
|
||||||
intersection::algorithmNames_.read(dict.lookup("projectionAlgo")),
|
intersection::algorithmNames_.read(dict.lookup("projectionAlgo")),
|
||||||
intersection::directionNames_.read(dict.lookup("projectionDir"))
|
intersection::directionNames_.read(dict.lookup("projectionDir"))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
Reference in a new issue