ENH: Homogenised the dynamicMeshDict entries for NURBS3DVolume

(old keywords are still valid, throwing a compatibility warning)

- using (U,V,W) instead of (X1,X2,X3)
- using confine instead of bound
This commit is contained in:
Vaggelis Papoutsis
2020-06-10 12:59:18 +03:00
committed by Andrew Heather
parent 6ee7bc66c5
commit 1404b5ffe0
3 changed files with 88 additions and 52 deletions

View File

@ -497,9 +497,9 @@ void Foam::NURBS3DVolume::continuityRealatedConfinement()
// Zero movement to a number of x-constant slices of cps in order to // Zero movement to a number of x-constant slices of cps in order to
// preserve continuity at the boundary of the parameterized space // preserve continuity at the boundary of the parameterized space
forAll(boundUMinCPs_, iCPu) forAll(confineUMinCPs_, iCPu)
{ {
const FixedList<bool, 3>& confineSlice = boundUMinCPs_[iCPu]; const FixedList<bool, 3>& confineSlice = confineUMinCPs_[iCPu];
// Control points at the start of the parameterized space // Control points at the start of the parameterized space
for (label iCPw = 0; iCPw < nCPsW; iCPw++) for (label iCPw = 0; iCPw < nCPsW; iCPw++)
{ {
@ -510,9 +510,9 @@ void Foam::NURBS3DVolume::continuityRealatedConfinement()
} }
} }
forAll(boundUMaxCPs_, sliceI) forAll(confineUMaxCPs_, sliceI)
{ {
const FixedList<bool, 3>& confineSlice = boundUMaxCPs_[sliceI]; const FixedList<bool, 3>& confineSlice = confineUMaxCPs_[sliceI];
label iCPu = nCPsU - 1 - sliceI; label iCPu = nCPsU - 1 - sliceI;
// Control points at the end of the parameterized space // Control points at the end of the parameterized space
for (label iCPw = 0; iCPw < nCPsW; iCPw++) for (label iCPw = 0; iCPw < nCPsW; iCPw++)
@ -526,9 +526,9 @@ void Foam::NURBS3DVolume::continuityRealatedConfinement()
// Zero movement to a number of y-constant slices of cps in order to // Zero movement to a number of y-constant slices of cps in order to
// preserve continuity at the boundary of the parameterized space // preserve continuity at the boundary of the parameterized space
forAll(boundVMinCPs_, iCPv) forAll(confineVMinCPs_, iCPv)
{ {
const FixedList<bool, 3>& confineSlice = boundVMinCPs_[iCPv]; const FixedList<bool, 3>& confineSlice = confineVMinCPs_[iCPv];
// Control points at the start of the parameterized space // Control points at the start of the parameterized space
for (label iCPw = 0; iCPw < nCPsW; iCPw++) for (label iCPw = 0; iCPw < nCPsW; iCPw++)
{ {
@ -539,9 +539,9 @@ void Foam::NURBS3DVolume::continuityRealatedConfinement()
} }
} }
forAll(boundVMaxCPs_, sliceI) forAll(confineVMaxCPs_, sliceI)
{ {
const FixedList<bool, 3>& confineSlice = boundVMaxCPs_[sliceI]; const FixedList<bool, 3>& confineSlice = confineVMaxCPs_[sliceI];
label iCPv = nCPsV - 1 - sliceI; label iCPv = nCPsV - 1 - sliceI;
// Control points at the end of the parameterized space // Control points at the end of the parameterized space
for (label iCPw = 0; iCPw < nCPsW; iCPw++) for (label iCPw = 0; iCPw < nCPsW; iCPw++)
@ -555,9 +555,9 @@ void Foam::NURBS3DVolume::continuityRealatedConfinement()
// Zero movement to a number of w-constant slices of cps in order to // Zero movement to a number of w-constant slices of cps in order to
// preserve continuity at the boundary of the parameterized space // preserve continuity at the boundary of the parameterized space
forAll(boundWMinCPs_, iCPw) forAll(confineWMinCPs_, iCPw)
{ {
const FixedList<bool, 3>& confineSlice = boundWMinCPs_[iCPw]; const FixedList<bool, 3>& confineSlice = confineWMinCPs_[iCPw];
// Control points at the start of the parameterized space // Control points at the start of the parameterized space
for (label iCPv = 0; iCPv < nCPsV; iCPv++) for (label iCPv = 0; iCPv < nCPsV; iCPv++)
{ {
@ -568,9 +568,9 @@ void Foam::NURBS3DVolume::continuityRealatedConfinement()
} }
} }
forAll(boundWMaxCPs_, sliceI) forAll(confineWMaxCPs_, sliceI)
{ {
const FixedList<bool, 3>& confineSlice = boundWMaxCPs_[sliceI]; const FixedList<bool, 3>& confineSlice = confineWMaxCPs_[sliceI];
label iCPw = nCPsW - 1 - sliceI; label iCPw = nCPsW - 1 - sliceI;
// Control points at the end of the parameterized space // Control points at the end of the parameterized space
for (label iCPv = 0; iCPv < nCPsV; iCPv++) for (label iCPv = 0; iCPv < nCPsV; iCPv++)
@ -588,9 +588,9 @@ void Foam::NURBS3DVolume::confineControlPointsDirections()
{ {
for (label cpI = 0; cpI < cps_.size(); ++cpI) for (label cpI = 0; cpI < cps_.size(); ++cpI)
{ {
if (confineX1movement_) activeDesignVariables_[3*cpI] = false; if (confineUMovement_) activeDesignVariables_[3*cpI] = false;
if (confineX2movement_) activeDesignVariables_[3*cpI + 1] = false; if (confineVMovement_) activeDesignVariables_[3*cpI + 1] = false;
if (confineX3movement_) activeDesignVariables_[3*cpI + 2] = false; if (confineWMovement_) activeDesignVariables_[3*cpI + 2] = false;
} }
} }
@ -657,36 +657,72 @@ Foam::NURBS3DVolume::NURBS3DVolume
reverseMapPtr_(nullptr), reverseMapPtr_(nullptr),
parametricCoordinatesPtr_(nullptr), parametricCoordinatesPtr_(nullptr),
localSystemCoordinates_(mesh_.nPoints(), Zero), localSystemCoordinates_(mesh_.nPoints(), Zero),
confineX1movement_(dict.getOrDefault<bool>("confineX1movement", false)), confineUMovement_
confineX2movement_(dict.getOrDefault<bool>("confineX2movement", false)), (
confineX3movement_(dict.getOrDefault<bool>("confineX3movement", false)), dict.getOrDefaultCompat<bool>
(
"confineUMovement", {{"confineX1movement", 1912}}, false
)
),
confineVMovement_
(
dict.getOrDefaultCompat<bool>
(
"confineVMovement", {{"confineX2movement", 1912}}, false
)
),
confineWMovement_
(
dict.getOrDefaultCompat<bool>
(
"confineWMovement", {{"confineX3movement", 1912}}, false
)
),
confineBoundaryControlPoints_ confineBoundaryControlPoints_
( (
dict.getOrDefault<bool>("confineBoundaryControlPoints", true) dict.getOrDefault<bool>("confineBoundaryControlPoints", true)
), ),
boundUMinCPs_ confineUMinCPs_
( (
dict.getOrDefault<boolListList3>("boundUMinCPs", boolListList3(0)) dict.getOrDefaultCompat<boolListList3>
(
"confineUMinCPs", {{"boundUMinCPs", 1912}}, boolListList3(0)
)
), ),
boundUMaxCPs_ confineUMaxCPs_
( (
dict.getOrDefault<boolListList3>("boundUMaxCPs", boolListList3(0)) dict.getOrDefaultCompat<boolListList3>
(
"confineUMaxCPs", {{"boundUMaxCPs", 1912}}, boolListList3(0)
)
), ),
boundVMinCPs_ confineVMinCPs_
( (
dict.getOrDefault<boolListList3>("boundVMinCPs", boolListList3(0)) dict.getOrDefaultCompat<boolListList3>
(
"confineVMinCPs", {{"boundVMinCPs", 1912}}, boolListList3(0)
)
), ),
boundVMaxCPs_ confineVMaxCPs_
( (
dict.getOrDefault<boolListList3>("boundVMaxCPs", boolListList3(0)) dict.getOrDefaultCompat<boolListList3>
(
"confineVMaxCPs", {{"boundVMaxCPs", 1912}}, boolListList3(0)
)
), ),
boundWMinCPs_ confineWMinCPs_
( (
dict.getOrDefault<boolListList3>("boundWMinCPs", boolListList3(0)) dict.getOrDefaultCompat<boolListList3>
(
"confineWMinCPs", {{"boundWMinCPs", 1912}}, boolListList3(0)
)
), ),
boundWMaxCPs_ confineWMaxCPs_
( (
dict.getOrDefault<boolListList3>("boundWMaxCPs", boolListList3(0)) dict.getOrDefaultCompat<boolListList3>
(
"confineWMaxCPs", {{"boundWMaxCPs", 1912}}, boolListList3(0)
)
), ),
activeControlPoints_(0), //zero here, execute sanity checks first activeControlPoints_(0), //zero here, execute sanity checks first
activeDesignVariables_(0), //zero here, execute sanity checks first activeDesignVariables_(0), //zero here, execute sanity checks first
@ -699,9 +735,9 @@ Foam::NURBS3DVolume::NURBS3DVolume
// Sanity checks // Sanity checks
if if
( (
(boundUMinCPs_.size() + boundUMaxCPs_.size() >= basisU_.nCPs()) (confineUMinCPs_.size() + confineUMaxCPs_.size() >= basisU_.nCPs())
|| (boundVMinCPs_.size() + boundVMaxCPs_.size() >= basisV_.nCPs()) || (confineVMinCPs_.size() + confineVMaxCPs_.size() >= basisV_.nCPs())
|| (boundWMinCPs_.size() + boundWMaxCPs_.size() >= basisW_.nCPs()) || (confineWMinCPs_.size() + confineWMaxCPs_.size() >= basisW_.nCPs())
) )
{ {
FatalErrorInFunction FatalErrorInFunction
@ -1850,7 +1886,7 @@ void Foam::NURBS3DVolume::writeCps(const fileName& baseName) const
// Write header // Write header
cpsFile cpsFile
<< "\"Points : 0\", \"Points : 1\", \"Points : 2\"," << "\"Points : 0\", \"Points : 1\", \"Points : 2\","
<< "\"u\", \"v\", \"w\"," << "\"i\", \"j\", \"k\","
<< "\"active : 0\", \"active : 1\", \"active : 2\"" << endl; << "\"active : 0\", \"active : 1\", \"active : 2\"" << endl;
forAll(cpsInCartesian, cpI) forAll(cpsInCartesian, cpI)

View File

@ -112,26 +112,26 @@ protected:
//- Confine movement in certain directions and control points. Refers //- Confine movement in certain directions and control points. Refers
//- to the local system //- to the local system
label confineX1movement_; label confineUMovement_;
label confineX2movement_; label confineVMovement_;
label confineX3movement_; label confineWMovement_;
label confineBoundaryControlPoints_; label confineBoundaryControlPoints_;
//- Which movement components to freeze in each plane //- Which movement components to freeze in each plane
boolListList3 boundUMinCPs_; boolListList3 confineUMinCPs_;
boolListList3 boundUMaxCPs_; boolListList3 confineUMaxCPs_;
boolListList3 boundVMinCPs_; boolListList3 confineVMinCPs_;
boolListList3 boundVMaxCPs_; boolListList3 confineVMaxCPs_;
boolListList3 boundWMinCPs_; boolListList3 confineWMinCPs_;
boolListList3 boundWMaxCPs_; boolListList3 confineWMaxCPs_;
//- Which of the cps are moved in an optimisation //- Which of the cps are moved in an optimisation
boolList activeControlPoints_; boolList activeControlPoints_;
@ -449,11 +449,11 @@ public:
inline const vectorField& getControlPoints() const; inline const vectorField& getControlPoints() const;
//- Get confine movements //- Get confine movements
inline bool confineX1movement() const; inline bool confineUMovement() const;
inline bool confineX2movement() const; inline bool confineVMovement() const;
inline bool confineX3movement() const; inline bool confineWMovement() const;
//- Get basis functions //- Get basis functions
inline const NURBSbasis& basisU() const; inline const NURBSbasis& basisU() const;

View File

@ -56,21 +56,21 @@ inline const Foam::vectorField& Foam::NURBS3DVolume::getControlPoints() const
} }
inline bool Foam::NURBS3DVolume::confineX1movement() const inline bool Foam::NURBS3DVolume::confineUMovement() const
{ {
return confineX1movement_; return confineUMovement_;
} }
inline bool Foam::NURBS3DVolume::confineX2movement() const inline bool Foam::NURBS3DVolume::confineVMovement() const
{ {
return confineX2movement_; return confineVMovement_;
} }
inline bool Foam::NURBS3DVolume::confineX3movement() const inline bool Foam::NURBS3DVolume::confineWMovement() const
{ {
return confineX3movement_; return confineWMovement_;
} }