def readPISOControls_010500_dev(mesh): from Foam.OpenFOAM import dictionary, readInt, Switch, word piso = dictionary(mesh.solutionDict().subDict(word("PISO"))) nCorr = readInt(piso.lookup(word("nCorrectors"))) nNonOrthCorr = 0 if piso.found(word("nNonOrthogonalCorrectors")): nNonOrthCorr = readInt(piso.lookup(word("nNonOrthogonalCorrectors"))) pass momentumPredictor = True if piso.found(word("momentumPredictor")): momentumPredictor = Switch(piso.lookup(word("momentumPredictor"))) pass transonic = False if piso.found(word("transonic")): transonic = Switch(piso.lookup(word("transonic"))) pass nOuterCorr = 1 if piso.found(word("nOuterCorrectors")): nOuterCorr = readInt(piso.lookup(word("nOuterCorrectors"))) pass ddtPhiCorr = False if piso.found(word("ddtPhiCorr")): ddtPhiCorr = Switch(piso.lookup(word("ddtPhiCorr"))) pass return piso, nCorr, nNonOrthCorr, momentumPredictor, transonic, nOuterCorr, ddtPhiCorr
def readPISOControls_010500_dev( mesh ): from Foam.OpenFOAM import dictionary, readInt, Switch, word piso = dictionary( mesh.solutionDict().subDict( word( "PISO" ) ) ) nCorr = readInt( piso.lookup( word( "nCorrectors" ) ) ) nNonOrthCorr = 0; if piso.found( word( "nNonOrthogonalCorrectors" ) ) : nNonOrthCorr = readInt( piso.lookup( word( "nNonOrthogonalCorrectors" ) ) ) pass momentumPredictor = True; if piso.found( word( "momentumPredictor" ) ) : momentumPredictor = Switch( piso.lookup( word( "momentumPredictor" ) ) ) pass transonic = False; if piso.found( word( "transonic" ) ) : transonic = Switch( piso.lookup( word( "transonic" ) ) ) pass nOuterCorr = 1; if piso.found( word( "nOuterCorrectors" ) ) : nOuterCorr = readInt( piso.lookup( word( "nOuterCorrectors" ) ) ) pass ddtPhiCorr = False if piso.found( word( "ddtPhiCorr" ) ) : ddtPhiCorr = Switch( piso.lookup( word( "ddtPhiCorr" ) ) ) pass return piso, nCorr, nNonOrthCorr, momentumPredictor, transonic, nOuterCorr, ddtPhiCorr
def readFluidMultiRegionPISOControls( mesh ) : from Foam.OpenFOAM import word, readInt, Switch piso = mesh.solutionDict().subDict( word( "PISO" ) ) nCorr = readInt( piso.lookup( word( "nCorrectors" ) ) ) nNonOrthCorr = 0 if piso.found( word( "nNonOrthogonalCorrectors" ) ): nNonOrthCorr = readInt( piso.lookup( word( "nNonOrthogonalCorrectors" ) ) ) pass momentumPredictor = True if piso.found( word( "momentumPredictor" ) ): momentumPredictor = Switch( piso.lookup( word( "momentumPredictor" ) ) ) pass transonic = False if piso.found( word( "transonic" ) ): transonic = Switch(piso.lookup( word( "transonic" ) ) ) pass nOuterCorr = 1 if piso.found( word( "nOuterCorrectors" ) ): nOuterCorr = readInt(piso.lookup( word( "nOuterCorrectors" ) ) ) return piso, nCorr, nNonOrthCorr, momentumPredictor, transonic, nOuterCorr
def readSIMPLEControls_010500_dev(mesh): from Foam.OpenFOAM import Switch from Foam.OpenFOAM import word simple = mesh.solutionDict().subDict(word("SIMPLE")) from Foam.OpenFOAM import readInt nNonOrthCorr = 0 if (simple.found(word("nNonOrthogonalCorrectors"))): nNonOrthCorr = readInt(simple.lookup(word("nNonOrthogonalCorrectors"))) pass momentumPredictor = True if (simple.found(word("momentumPredictor"))): momentumPredictor = Switch(simple.lookup(word("momentumPredictor"))) pass fluxGradp = False if (simple.found(word("fluxGradp"))): fluxGradp = Switch(simple.lookup(word("fluxGradp"))) pass transonic = False if (simple.found(word("transSonic"))): transonic = Switch(simple.lookup(word("transSonic"))) pass return simple, nNonOrthCorr, momentumPredictor, fluxGradp, transonic
def readSIMPLEControls_010500_dev( mesh ): from Foam.OpenFOAM import Switch from Foam.OpenFOAM import word simple = mesh.solutionDict().subDict( word( "SIMPLE" ) ) from Foam.OpenFOAM import readInt nNonOrthCorr = 0 if ( simple.found( word( "nNonOrthogonalCorrectors" ) ) ): nNonOrthCorr = readInt(simple.lookup( word( "nNonOrthogonalCorrectors" ) ) ) pass momentumPredictor = True if ( simple.found( word( "momentumPredictor" ) ) ): momentumPredictor = Switch(simple.lookup( word( "momentumPredictor" ) ) ) pass fluxGradp = False if ( simple.found( word( "fluxGradp" ) ) ): fluxGradp = Switch( simple.lookup( word( "fluxGradp" ) ) ) pass transonic = False if ( simple.found( word( "transSonic" ) ) ): transonic = Switch( simple.lookup( word( "transSonic" ) ) ) pass return simple, nNonOrthCorr, momentumPredictor, fluxGradp, transonic
def readFluidMultiRegionPIMPLEControls( mesh ) : from Foam.OpenFOAM import word, readInt, Switch pimple = mesh.solutionDict().subDict( word( "PIMPLE" ) ) nCorr = readInt( pimple.lookup( word( "nCorrectors" ) ) ) nNonOrthCorr = pimple.lookupOrDefault( word( "nNonOrthogonalCorrectors" ), 0 ) momentumPredictor =pimple.lookupOrDefault( word( "momentumPredictor" ), Switch( True ) ) return pimple, nCorr, nNonOrthCorr, momentumPredictor
def readSolidMultiRegionPISOControls( mesh ): from Foam.OpenFOAM import word, readInt piso = mesh.solutionDict().subDict( word( "PISO" ) ) nNonOrthCorr = 0 if piso.found( word( "nNonOrthogonalCorrectors" ) ): nNonOrthCorr = readInt( piso.lookup( word( "nNonOrthogonalCorrectors" ) ) ) return piso, nNonOrthCorr
def readSolidMultiRegionPISOControls(mesh): from Foam.OpenFOAM import word, readInt piso = mesh.solutionDict().subDict(word("PISO")) nNonOrthCorr = 0 if piso.found(word("nNonOrthogonalCorrectors")): nNonOrthCorr = readInt(piso.lookup(word("nNonOrthogonalCorrectors"))) return piso, nNonOrthCorr
def readPIMPLEControls( mesh ): from Foam.OpenFOAM import Switch from Foam.OpenFOAM import word from Foam.OpenFOAM import readInt pimple = mesh.solutionDict().subDict( word( "PIMPLE" ) ) nOuterCorr = readInt( pimple.lookup( word( "nOuterCorrectors" ) ) ) nCorr = readInt( pimple.lookup( word( "nCorrectors" ) ) ) nNonOrthCorr = pimple.lookupOrDefault( word( "nNonOrthogonalCorrectors" ), 0 ) momentumPredictor = pimple.lookupOrDefault( word( "momentumPredictor" ), Switch( True ) ) transonic = pimple.lookupOrDefault( word( "transonic" ), Switch( False ) ) return pimple, nOuterCorr, nCorr, nNonOrthCorr, momentumPredictor, transonic
def create_fields( runTime, mesh ): from Foam.OpenFOAM import ext_Info, nl ext_Info() << "Reading field p\n" << nl from Foam.OpenFOAM import IOobject, word, fileName from Foam.finiteVolume import volScalarField p = volScalarField( IOobject( word( "p" ), fileName( runTime.timeName() ), mesh, IOobject.MUST_READ, IOobject.AUTO_WRITE ), mesh ) ext_Info() << "Reading field U\n" << nl from Foam.finiteVolume import volVectorField U = volVectorField( IOobject( word( "U" ), fileName( runTime.timeName() ), mesh, IOobject.MUST_READ, IOobject.AUTO_WRITE ), mesh ) from Foam.finiteVolume.cfdTools.incompressible import createPhi phi = createPhi( runTime, mesh, U ) pRefCell = 0 pRefValue = 0.0 from Foam.finiteVolume import setRefCell pRefCell, pRefValue = setRefCell( p, mesh.solutionDict().subDict( word( "SIMPLE" ) ), pRefCell, pRefValue ) from Foam.transportModels import singlePhaseTransportModel laminarTransport = singlePhaseTransportModel( U, phi ) from Foam import incompressible turbulence = incompressible.RASModel.New( U, phi, laminarTransport ) from Foam.finiteVolume import porousZones pZones = porousZones( mesh ) from Foam.OpenFOAM import Switch pressureImplicitPorosity = Switch( False ) nUCorr = 0 if pZones.size(): # nUCorrectors for pressureImplicitPorosity if (mesh.solutionDict().subDict( word( "SIMPLE" ) ).found( word( "nUCorrectors" ) ) ) : from Foam.OpenFOAM import readInt nUCorr = readInt( mesh.solutionDict().subDict( word( "SIMPLE" ) ).lookup( word( "nUCorrectors" ) ) ) pass if nUCorr > 0 : pressureImplicitPorosity = True pass pass return p, U, phi, pRefCell, pRefValue, laminarTransport, turbulence, pZones, pressureImplicitPorosity, nUCorr
def readPIMPLEControls( runTime ): from Foam.finiteVolume import fvSolution solutionDict = fvSolution( runTime ) from Foam.OpenFOAM import word,readInt pimple = solutionDict.subDict( word( "PIMPLE" ) ) nOuterCorr = readInt( pimple.lookup( word( "nOuterCorrectors" ) ) ) return nOuterCorr
def readPIMPLEControls(runTime): from Foam.finiteVolume import fvSolution solutionDict = fvSolution(runTime) from Foam.OpenFOAM import word, readInt pimple = solutionDict.subDict(word("PIMPLE")) nOuterCorr = readInt(pimple.lookup(word("nOuterCorrectors"))) return nOuterCorr
def create_fields(runTime, mesh): from Foam.OpenFOAM import ext_Info, nl ext_Info() << "Reading field p\n" << nl from Foam.OpenFOAM import IOobject, word, fileName from Foam.finiteVolume import volScalarField p = volScalarField( IOobject(word("p"), fileName(runTime.timeName()), mesh, IOobject.MUST_READ, IOobject.AUTO_WRITE), mesh) ext_Info() << "Reading field U\n" << nl from Foam.finiteVolume import volVectorField U = volVectorField( IOobject(word("U"), fileName(runTime.timeName()), mesh, IOobject.MUST_READ, IOobject.AUTO_WRITE), mesh) from Foam.finiteVolume.cfdTools.incompressible import createPhi phi = createPhi(runTime, mesh, U) pRefCell = 0 pRefValue = 0.0 from Foam.finiteVolume import setRefCell pRefCell, pRefValue = setRefCell( p, mesh.solutionDict().subDict(word("SIMPLE")), pRefCell, pRefValue) from Foam.transportModels import singlePhaseTransportModel laminarTransport = singlePhaseTransportModel(U, phi) from Foam import incompressible turbulence = incompressible.RASModel.New(U, phi, laminarTransport) from Foam.finiteVolume import porousZones pZones = porousZones(mesh) from Foam.OpenFOAM import Switch pressureImplicitPorosity = Switch(False) nUCorr = 0 if pZones.size(): # nUCorrectors for pressureImplicitPorosity if (mesh.solutionDict().subDict(word("SIMPLE")).found( word("nUCorrectors"))): from Foam.OpenFOAM import readInt nUCorr = readInt(mesh.solutionDict().subDict( word("SIMPLE")).lookup(word("nUCorrectors"))) pass if nUCorr > 0: pressureImplicitPorosity = True pass pass return p, U, phi, pRefCell, pRefValue, laminarTransport, turbulence, pZones, pressureImplicitPorosity, nUCorr
def readPISOControls_010600_dev( mesh ): from Foam.OpenFOAM import dictionary, readInt, Switch, word piso = dictionary( mesh.solutionDict().subDict( word( "PISO" ) ) ) nCorr = readInt( piso.lookup( word( "nCorrectors" ) ) ) nNonOrthCorr = piso.lookupOrDefault( word( "nNonOrthogonalCorrectors" ), 0 ) momentumPredictor = piso.lookupOrDefault( word( "momentumPredictor" ), Switch( True ) ) transonic = piso.lookupOrDefault( word( "transonic" ), Switch( False ) ) nOuterCorr = piso.lookupOrDefault( word( "nOuterCorrectors" ), 1 ) return piso, nCorr, nNonOrthCorr, momentumPredictor, transonic, nOuterCorr
def readPISOControls_010600_dev(mesh): from Foam.OpenFOAM import dictionary, readInt, Switch, word piso = dictionary(mesh.solutionDict().subDict(word("PISO"))) nCorr = readInt(piso.lookup(word("nCorrectors"))) nNonOrthCorr = piso.lookupOrDefault(word("nNonOrthogonalCorrectors"), 0) momentumPredictor = piso.lookupOrDefault(word("momentumPredictor"), Switch(True)) transonic = piso.lookupOrDefault(word("transonic"), Switch(False)) nOuterCorr = piso.lookupOrDefault(word("nOuterCorrectors"), 1) return piso, nCorr, nNonOrthCorr, momentumPredictor, transonic, nOuterCorr
def readStressedFoamControls( mesh): from Foam.OpenFOAM import word stressControl = mesh.solutionDict().subDict( word( "stressedFoam" ) ) from Foam.OpenFOAM import readInt nCorr = readInt( stressControl.lookup( word( "nCorrectors" ) ) ) from Foam.OpenFOAM import readScalar convergenceTolerance = readScalar(stressControl.lookup( word( "U" ) ) ) from materialModels.componentReference import componentReference # from Foam.template import PtrList # cr = PtrList( componentReference )( stressControl.lookup( word( "componentReference" ) ), componentReference.iNew(mesh) ) from Foam.template import PtrList cr = PtrList( stressControl.lookup( word( "componentReference" ) ), componentReference.iNew(mesh) ) return stressControl, nCorr, convergenceTolerance, cr
def readStressedFoamControls(mesh): from Foam.OpenFOAM import word stressControl = mesh.solutionDict().subDict(word("stressedFoam")) from Foam.OpenFOAM import readInt nCorr = readInt(stressControl.lookup(word("nCorrectors"))) from Foam.OpenFOAM import readScalar convergenceTolerance = readScalar(stressControl.lookup(word("U"))) from materialModels.componentReference import componentReference # from Foam.template import PtrList # cr = PtrList( componentReference )( stressControl.lookup( word( "componentReference" ) ), componentReference.iNew(mesh) ) from Foam.template import PtrList cr = PtrList(stressControl.lookup(word("componentReference")), componentReference.iNew(mesh)) return stressControl, nCorr, convergenceTolerance, cr
def _createFields(runTime, mesh): from Foam.OpenFOAM import ext_Info, nl ext_Info() << "Reading thermophysical properties\n" << nl from Foam.thermophysicalModels import basicPsiThermo, autoPtr_basicPsiThermo thermo = basicPsiThermo.New(mesh) from Foam.OpenFOAM import IOdictionary, IOobject, word, fileName from Foam.finiteVolume import volScalarField rho = volScalarField( IOobject(word("rho"), fileName(runTime.timeName()), mesh, IOobject.READ_IF_PRESENT, IOobject.AUTO_WRITE), thermo.rho(), ) p = thermo.p() h = thermo.h() psi = thermo.psi() ext_Info() << "Reading field U\n" << nl from Foam.finiteVolume import volVectorField U = volVectorField( IOobject(word("U"), fileName(runTime.timeName()), mesh, IOobject.MUST_READ, IOobject.AUTO_WRITE), mesh ) from Foam.finiteVolume.cfdTools.compressible import compressibleCreatePhi phi = compressibleCreatePhi(runTime, mesh, rho, U) pRefCell = 0 pRefValue = 0.0 from Foam.finiteVolume import setRefCell pRefCell, pRefValue = setRefCell(p, mesh.solutionDict().subDict(word("SIMPLE")), pRefCell, pRefValue) from Foam.OpenFOAM import dimensionedScalar pMin = dimensionedScalar(mesh.solutionDict().subDict(word("SIMPLE")).lookup(word("pMin"))) ext_Info() << "Creating turbulence model\n" << nl from Foam import compressible turbulence = compressible.RASModel.New(rho, U, phi, thermo()) from Foam import fvc initialMass = fvc.domainIntegrate(rho) from Foam.finiteVolume import porousZones pZones = porousZones(mesh) from Foam.OpenFOAM import Switch pressureImplicitPorosity = Switch(False) nUCorr = 0 if pZones.size(): # nUCorrectors for pressureImplicitPorosity if mesh.solutionDict().subDict(word("SIMPLE")).found(word("nUCorrectors")): from Foam.OpenFOAM import readInt nUCorr = readInt(mesh.solutionDict().subDict(word("SIMPLE")).lookup(word("nUCorrectors"))) pass if nUCorr > 0: pressureImplicitPorosity = True pass pass return ( p, h, psi, rho, U, phi, turbulence, thermo, pZones, pMin, pressureImplicitPorosity, initialMass, nUCorr, pRefCell, pRefValue, )
def _createFields(runTime, mesh): from Foam.OpenFOAM import ext_Info, nl ext_Info() << "Reading thermophysical properties\n" << nl from Foam.thermophysicalModels import basicThermo, autoPtr_basicThermo thermo = basicThermo.New(mesh) from Foam.OpenFOAM import IOdictionary, IOobject, word, fileName from Foam.finiteVolume import volScalarField rho = volScalarField( IOobject(word("rho"), fileName(runTime.timeName()), mesh, IOobject.READ_IF_PRESENT, IOobject.AUTO_WRITE), thermo.rho()) p = thermo.p() h = thermo.h() ext_Info() << "Reading field U\n" << nl from Foam.finiteVolume import volVectorField U = volVectorField( IOobject(word("U"), fileName(runTime.timeName()), mesh, IOobject.MUST_READ, IOobject.AUTO_WRITE), mesh) from Foam.finiteVolume.cfdTools.compressible import compressibleCreatePhi phi = compressibleCreatePhi(runTime, mesh, rho, U) pRefCell = 0 pRefValue = 0.0 from Foam.finiteVolume import setRefCell pRefCell, pRefValue = setRefCell( p, mesh.solutionDict().subDict(word("SIMPLE")), pRefCell, pRefValue) from Foam.OpenFOAM import dimensionedScalar pMin = dimensionedScalar(mesh.solutionDict().subDict( word("SIMPLE")).lookup(word("pMin"))) ext_Info() << "Creating turbulence model\n" << nl from Foam import compressible turbulence = compressible.RASModel.New(rho, U, phi, thermo()) from Foam import fvc initialMass = fvc.domainIntegrate(rho) from Foam.finiteVolume import porousZones pZones = porousZones(mesh) from Foam.OpenFOAM import Switch pressureImplicitPorosity = Switch(False) nUCorr = 0 if pZones.size(): # nUCorrectors for pressureImplicitPorosity if (mesh.solutionDict().subDict(word("SIMPLE")).found( word("nUCorrectors"))): from Foam.OpenFOAM import readInt nUCorr = readInt(mesh.solutionDict().subDict( word("SIMPLE")).lookup(word("nUCorrectors"))) pass if nUCorr > 0: pressureImplicitPorosity = True pass pass return turbulence, p, h, rho, U, phi, thermo, pZones, pMin, pressureImplicitPorosity, initialMass, nUCorr, pRefCell, pRefValue