From 828fc88118160cf67f824f8376339348b550b48a Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 30 Nov 2011 17:24:57 +0000 Subject: [PATCH 1/6] ENH: Added function to retrieve boiling temp from knoledge of pv function --- .../liquidProperties/liquidProperties.C | 46 +++++++++++++++++++ .../liquidProperties/liquidProperties.H | 4 ++ 2 files changed, 50 insertions(+) diff --git a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C index c058672144..e23c2d5153 100644 --- a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C +++ b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C @@ -367,6 +367,52 @@ Foam::scalar Foam::liquidProperties::D(scalar p, scalar T, scalar Wb) const } +Foam::scalar Foam::liquidProperties::pvInvert(scalar p) +{ + scalar T = Tc_; + scalar deltaT = 10.0; + scalar dp0 = pv(p, T) - p; + + + label n = 0; + + while ((n < 200) && (mag(deltaT) > 1.0e-3)) + { + n++; + scalar pBoil = pv(p, T); + scalar dp = pBoil - p; + + if ((dp > 0.0) && (dp0 > 0.0)) + { + T -= deltaT; + } + else + { + if ((dp < 0.0) && (dp0 < 0.0)) + { + T += deltaT; + } + else + { + deltaT *= 0.5; + if ((dp > 0.0) && (dp0 < 0.0)) + { + T -= deltaT; + } + else + { + T += deltaT; + } + } + } + + dp0 = dp; + } + + return T; +} + + void Foam::liquidProperties::writeData(Ostream& os) const { diff --git a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.H b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.H index 8fa97a1e3e..b72826d5e5 100644 --- a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.H +++ b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.H @@ -251,6 +251,10 @@ public: //- Vapour diffussivity [m2/s] with specified binary pair virtual scalar D(scalar p, scalar T, scalar Wb) const; + //- Invert the vapour pressure relationship to retrieve the + // boiling temperuture as a function of temperature + virtual scalar pvInvert(scalar p); + // I-O From e66d9cf940e2b0d8ffdc3cec9829fb45defeae5b Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 1 Dec 2011 16:34:36 +0000 Subject: [PATCH 2/6] ENH: Converted volField->pointField to ParaFoam reader option instead of hard-coded --- .../PV3FoamReader/PV3FoamReader_SM.xml | 17 +++- .../PV3FoamReader/pqPV3FoamReaderPanel.cxx | 98 +++++++++++++++++-- .../PV3FoamReader/pqPV3FoamReaderPanel.h | 10 +- .../PV3FoamReader/vtkPV3FoamReader.cxx | 1 + .../PV3FoamReader/vtkPV3FoamReader.h | 8 ++ .../PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H | 1 + .../vtkPV3Foam/vtkPV3FoamFields.C | 12 ++- .../vtkPV3Foam/vtkPV3FoamVolFields.H | 79 ++++++++------- 8 files changed, 177 insertions(+), 49 deletions(-) diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml index 6e7a78ffe2..10873c3734 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/PV3FoamReader_SM.xml @@ -69,11 +69,26 @@ + + + + + Interpolate volume fields into point fields + + + diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.cxx b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.cxx index a3d800288b..66327dc6f5 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.cxx +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.cxx @@ -59,7 +59,7 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel pqAutoGeneratedObjectPanel(proxy, p) { // create first sublayout (at top of the panel) - QGridLayout *form = new QGridLayout(); + QGridLayout* form = new QGridLayout(); this->PanelLayout->addLayout(form, 0, 0, 1, -1); vtkSMProperty* prop = 0; @@ -107,6 +107,9 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel ); } + QFrame* hline1 = new QFrame(this); + hline1->setFrameStyle(QFrame::HLine | QFrame::Sunken); + form->addWidget(hline1, 1, 0, 1, 2); // checkbox for caching mesh if ((prop = this->proxy()->GetProperty("UiCacheMesh")) != 0) @@ -124,7 +127,7 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel "Cache the fvMesh in memory." ); - form->addWidget(CacheMesh_, 1, 0, Qt::AlignLeft); + form->addWidget(CacheMesh_, 2, 0, Qt::AlignLeft); connect ( CacheMesh_, @@ -152,7 +155,7 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel ); // row/col 0,1 - form->addWidget(ShowPatchNames_, 1, 1, Qt::AlignLeft); + form->addWidget(ShowPatchNames_, 2, 1, Qt::AlignLeft); connect ( ShowPatchNames_, @@ -180,7 +183,7 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel ); // row/col 1,0 - form->addWidget(IncludeSets_, 2, 0, Qt::AlignLeft); + form->addWidget(IncludeSets_, 3, 0, Qt::AlignLeft); connect ( IncludeSets_, @@ -209,7 +212,7 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel ); // row/col 1,1 - form->addWidget(IncludeZones_, 2, 1, Qt::AlignLeft); + form->addWidget(IncludeZones_, 3, 1, Qt::AlignLeft); connect ( IncludeZones_, @@ -219,6 +222,63 @@ pqPV3FoamReaderPanel::pqPV3FoamReaderPanel ); } + // checkbox for vol field interpolation + if ((prop = this->proxy()->GetProperty("UiInterpolateVolFields")) != 0) + { + // immediate update on the Server Manager side + prop->SetImmediateUpdate(true); + + InterpolateVolFields_ = new QCheckBox("Interpolate volFields"); + InterpolateVolFields_->setChecked + ( + vtkSMIntVectorProperty::SafeDownCast(prop)->GetElement(0) + ); + InterpolateVolFields_->setToolTip + ( + "Interpolate volFields into pointFields" + ); + + // row/col 1,1 + form->addWidget(InterpolateVolFields_, 4, 0, Qt::AlignLeft); + connect + ( + InterpolateVolFields_, + SIGNAL(stateChanged(int)), + this, + SLOT(InterpolateVolFieldsToggled()) + ); + } + + // checkbox for extrapolate patches + if ((prop = this->proxy()->GetProperty("UiExtrapolatePatches")) != 0) + { + // immediate update on the Server Manager side + prop->SetImmediateUpdate(true); + + ExtrapolatePatches_ = new QCheckBox("Extrapolate Patches"); + ExtrapolatePatches_->setChecked + ( + vtkSMIntVectorProperty::SafeDownCast(prop)->GetElement(0) + ); + ExtrapolatePatches_->setToolTip + ( + "Extrapolate internalField to non-constraint patches" + ); + + // row/col 1,1 + form->addWidget(ExtrapolatePatches_, 4, 1, Qt::AlignLeft); + connect + ( + ExtrapolatePatches_, + SIGNAL(stateChanged(int)), + this, + SLOT(ExtrapolatePatchesToggled()) + ); + } + + QFrame* hline2 = new QFrame(this); + hline2->setFrameStyle(QFrame::HLine | QFrame::Sunken); + form->addWidget(hline2, 5, 0, 1, 2); } @@ -255,8 +315,7 @@ void pqPV3FoamReaderPanel::ZeroTimeToggled() this->proxy()->GetProperty("UiZeroTime") )->SetElement(0, ZeroTime_->isChecked()); - // update everything - RefreshPressed(); + this->setModified(); } @@ -306,7 +365,32 @@ void pqPV3FoamReaderPanel::IncludeZonesToggled() { this->proxy()->UpdatePropertyInformation(prop); } +} + +void pqPV3FoamReaderPanel::ExtrapolatePatchesToggled() +{ + vtkSMProperty* prop; + + vtkSMIntVectorProperty::SafeDownCast + ( + this->proxy()->GetProperty("UiExtrapolatePatches") + )->SetElement(0, ExtrapolatePatches_->isChecked()); + + this->setModified(); +} + + +void pqPV3FoamReaderPanel::InterpolateVolFieldsToggled() +{ + vtkSMProperty* prop; + + vtkSMIntVectorProperty::SafeDownCast + ( + this->proxy()->GetProperty("UiInterpolateVolFields") + )->SetElement(0, InterpolateVolFields_->isChecked()); + + this->setModified(); } diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.h b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.h index 35e3089b49..f7b057ecc7 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.h +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/pqPV3FoamReaderPanel.h @@ -77,6 +77,13 @@ class pqPV3FoamReaderPanel //- IncludeZones checkbox QCheckBox* IncludeZones_; + //- InterpolateVolFields checkbox + QCheckBox* InterpolateVolFields_; + + //- ExtrapolatePatches checkbox + QCheckBox* ExtrapolatePatches_; + + protected slots: void CacheMeshToggled(); @@ -85,6 +92,8 @@ protected slots: void ShowPatchNamesToggled(); void IncludeSetsToggled(); void IncludeZonesToggled(); + void InterpolateVolFieldsToggled(); + void ExtrapolatePatchesToggled(); public: @@ -97,7 +106,6 @@ public: //- Destructor // virtual ~pqPV3FoamReaderPanel(); - }; diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx index f0b5da6261..a2671ddb9d 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx @@ -85,6 +85,7 @@ vtkPV3FoamReader::vtkPV3FoamReader() IncludeSets = 0; IncludeZones = 0; ShowPatchNames = 0; + InterpolateVolFields = 1; UpdateGUI = 0; diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h index 5d375545c5..da31ba6231 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h @@ -121,6 +121,11 @@ public: virtual void SetShowPatchNames(int); vtkGetMacro(ShowPatchNames, int); + // Description: + // OpenFOAM volField interpolation + vtkSetMacro(InterpolateVolFields, int); + vtkGetMacro(InterpolateVolFields, int); + // Description: // Get the current timestep int GetTimeStep(); @@ -170,6 +175,7 @@ public: void SelectionModified(); + protected: //- Construct null @@ -203,6 +209,7 @@ protected: //- The file name for this case char* FileName; + private: //- Disallow default bitwise copy construct @@ -224,6 +231,7 @@ private: int IncludeSets; int IncludeZones; int ShowPatchNames; + int InterpolateVolFields; //- Dummy variable/switch to invoke a reader update int UpdateGUI; diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H index cad46ba215..7d9a481b49 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H @@ -505,6 +505,7 @@ class vtkPV3Foam const fvMesh&, const PtrList >&, const IOobjectList&, + const bool interpFields, vtkMultiBlockDataSet* output ); diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamFields.C b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamFields.C index 7ab37db06f..9a869d37b5 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamFields.C +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamFields.C @@ -120,25 +120,27 @@ void Foam::vtkPV3Foam::convertVolFields } + bool interpFields = reader_->GetInterpolateVolFields(); + convertVolFields ( - mesh, ppInterpList, objects, output + mesh, ppInterpList, objects, interpFields, output ); convertVolFields ( - mesh, ppInterpList, objects, output + mesh, ppInterpList, objects, interpFields, output ); convertVolFields ( - mesh, ppInterpList, objects, output + mesh, ppInterpList, objects, interpFields, output ); convertVolFields ( - mesh, ppInterpList, objects, output + mesh, ppInterpList, objects, interpFields, output ); convertVolFields ( - mesh, ppInterpList, objects, output + mesh, ppInterpList, objects, interpFields, output ); if (debug) diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamVolFields.H b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamVolFields.H index f18d7053eb..a057afb511 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamVolFields.H +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamVolFields.H @@ -48,6 +48,7 @@ void Foam::vtkPV3Foam::convertVolFields const fvMesh& mesh, const PtrList >& ppInterpList, const IOobjectList& objects, + const bool interpFields, vtkMultiBlockDataSet* output ) { @@ -74,6 +75,19 @@ void Foam::vtkPV3Foam::convertVolFields // Interpolated field (demand driven) autoPtr > ptfPtr; + if (interpFields) + { + if (debug) + { + Info<< "convertVolFieldBlock interpolating:" << tf.name() + << endl; + } + + ptfPtr.reset + ( + volPointInterpolation::New(tf.mesh()).interpolate(tf).ptr() + ); + } // Convert activated internalMesh regions @@ -154,14 +168,17 @@ void Foam::vtkPV3Foam::convertVolFields datasetNo ); - convertPatchPointField - ( - tf.name(), - ppInterpList[patchId].faceToPointInterpolate(tpptf)(), - output, - arrayRangePatches_, - datasetNo - ); + if (interpFields) + { + convertPatchPointField + ( + tf.name(), + ppInterpList[patchId].faceToPointInterpolate(tpptf)(), + output, + arrayRangePatches_, + datasetNo + ); + } } else { @@ -174,14 +191,17 @@ void Foam::vtkPV3Foam::convertVolFields datasetNo ); - convertPatchPointField - ( - tf.name(), - ppInterpList[patchId].faceToPointInterpolate(ptf)(), - output, - arrayRangePatches_, - datasetNo - ); + if (interpFields) + { + convertPatchPointField + ( + tf.name(), + ppInterpList[patchId].faceToPointInterpolate(ptf)(), + output, + arrayRangePatches_, + datasetNo + ); + } } } @@ -285,29 +305,18 @@ void Foam::vtkPV3Foam::convertVolFieldBlock decompLst[datasetNo] ); - if (!ptfPtr.valid()) + if (ptfPtr.valid()) { - if (debug) - { - Info<< "convertVolFieldBlock interpolating:" << tf.name() - << endl; - } - - ptfPtr.reset + convertPointField ( - volPointInterpolation::New(tf.mesh()).interpolate(tf).ptr() + ptfPtr(), + tf, + output, + range, + datasetNo, + decompLst[datasetNo] ); } - - convertPointField - ( - ptfPtr(), - tf, - output, - range, - datasetNo, - decompLst[datasetNo] - ); } } } From e57f6769886c9fa6ecfd2b1b47698ee383e241db Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 1 Dec 2011 17:09:45 +0000 Subject: [PATCH 3/6] ENH: Only eveluate cyclicAMI field if value not present --- .../constraint/cyclicAMI/cyclicAMIFvPatchField.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C index 31729346e2..0eeb351cd4 100644 --- a/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/constraint/cyclicAMI/cyclicAMIFvPatchField.C @@ -94,7 +94,7 @@ Foam::cyclicAMIFvPatchField::cyclicAMIFvPatchField "cyclicAMIFvPatchField::cyclicAMIFvPatchField" "(" "const fvPatch&, " - "const Field&, " + "const DimensionedField&, " "const dictionary&" ")", dict @@ -106,7 +106,7 @@ Foam::cyclicAMIFvPatchField::cyclicAMIFvPatchField << exit(FatalIOError); } - if (this->coupled()) + if (!dict.found("value") && this->coupled()) { this->evaluate(Pstream::blocking); } From 13d6a66f3b1da4a702882b0f81d9cccd7cf4dc0e Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 1 Dec 2011 17:14:06 +0000 Subject: [PATCH 4/6] BUG: Re-instated BCs in TJunctionFace tutorial --- .../pimpleFoam/TJunctionFan/0/p | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p b/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p index e1512cda4f..ab71f3490c 100644 --- a/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p +++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p @@ -10,6 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; + location "0"; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -23,36 +24,55 @@ boundaryField inlet { type uniformTotalPressure; - pressure table - ( - (0 10) - (1 40) - ); - p0 40; // only used for restarts - U U; - phi phi; rho none; psi none; gamma 1; + p0 40; + pressure table + +2 +( +(0 10) +(1 40) +) +; value uniform 40; } - outlet1 { type fixedValue; value uniform 10; } - outlet2 { type fixedValue; value uniform 0; } - + baffles + { + type zeroGradient; + } + fan_half0 + { + type fan; + patchType cyclic; + jump uniform 0; + f 2(100 -0.1); + value uniform 0; + } + fan_half1 + { + type fan; + patchType cyclic; + jump uniform 0; + f 2(100 -0.1); + value uniform 0; + } defaultFaces { type zeroGradient; } } + // ************************************************************************* // From 2b86924231b7eac950d1d98a1884a5f1fc605a6d Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 1 Dec 2011 17:15:42 +0000 Subject: [PATCH 5/6] STYLE: Minor code formatting --- tutorials/incompressible/pimpleFoam/TJunctionFan/0/p | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p b/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p index ab71f3490c..dd968b84c5 100644 --- a/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p +++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/0/p @@ -29,13 +29,10 @@ boundaryField gamma 1; p0 40; pressure table - -2 -( -(0 10) -(1 40) -) -; + ( + (0 10) + (1 40) + ); value uniform 40; } outlet1 From 790aa2f6935bbe5171a08f38acecc8b40238d66d Mon Sep 17 00:00:00 2001 From: laurence Date: Fri, 2 Dec 2011 10:26:13 +0000 Subject: [PATCH 6/6] COMP: foamConfigurePaths will now check if WM_ARCH_OPTION needs to be set --- bin/tools/foamConfigurePaths | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/bin/tools/foamConfigurePaths b/bin/tools/foamConfigurePaths index cf1093d456..e027dca9fb 100755 --- a/bin/tools/foamConfigurePaths +++ b/bin/tools/foamConfigurePaths @@ -120,11 +120,17 @@ do -archOption | --archOption) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" archOption="$2" - # replace WM_ARCH_OPTION=... - _inlineSed \ - etc/bashrc \ - '/^[^#]/s@WM_ARCH_OPTION=.*@WM_ARCH_OPTION='"$archOption@" \ - "Replacing WM_ARCH_OPTION setting by '$archOption'" + current_archOption=`grep WM_ARCH_OPTION= etc/bashrc | sed "s/export WM_ARCH_OPTION=//"` + if [ "$archOption" != "$current_archOption" ] + then + # replace WM_ARCH_OPTION=... + _inlineSed \ + etc/bashrc \ + '/^[^#]/s@WM_ARCH_OPTION=.*@WM_ARCH_OPTION='"$archOption@" \ + "Replacing WM_ARCH_OPTION setting by '$archOption'" + else + echo "WM_ARCH_OPTION already set to $archOption" + fi shift 2 ;; -paraviewInstall | --paraviewInstall)