def updateCoeffs( self ) : try: if self.updated() : return from Foam.finiteVolume import volScalarField from Foam.OpenFOAM import word rhop = volScalarField.ext_lookupPatchField( self.patch(), word( "rho" ) ) from Foam.finiteVolume import volVectorField rhoUp =volVectorField.ext_lookupPatchField( self.patch(), word( "rhoU" ) ) T = volScalarField.ext_lookupObject( self.db(), word( "T" ) ) patchi = self.patch().index() Tp = T.ext_boundaryField()[patchi] Tp.evaluate() from Foam.OpenFOAM import IOdictionary thermodynamicProperties = IOdictionary.ext_lookupObject( self.db(), word( "thermodynamicProperties" ) ) from Foam.OpenFOAM import dimensionedScalar Cv = dimensionedScalar( thermodynamicProperties.lookup( word( "Cv" ) ) ) self.valueFraction().ext_assign( rhop.ext_snGrad() / ( rhop.ext_snGrad() - rhop * self.patch().deltaCoeffs() ) ) self.refValue().ext_assign( 0.5 * rhop * ( rhoUp / rhop ).magSqr() ) self.refGrad().ext_assign( rhop * Cv.value() * Tp.ext_snGrad() +\ ( self.refValue() - ( 0.5 * rhop.patchInternalField()\ * ( rhoUp.patchInternalField() /rhop.patchInternalField() ).magSqr() ) ) * self.patch().deltaCoeffs() ) mixedFvPatchScalarField.updateCoeffs( self ) pass except Exception, exc: import sys, traceback traceback.print_exc( file = sys.stdout ) raise exc
def updateCoeffs(self): try: if self.updated(): return from Foam.OpenFOAM import IOdictionary rheology = IOdictionary.ext_lookupObject( self.db(), self.rheologyName_ ) from Foam.OpenFOAM import scalarField # Python does not wait for evaluation of the closure expression, it destroys return values if it is no more in use a_rheology_mu = rheology.mu() a_rheology_mu_boundaryField = a_rheology_mu.ext_boundaryField() mu = scalarField( a_rheology_mu_boundaryField[self.patch().index()] ) a_rheology_lambda = rheology._lambda() a_rheology_lambda_boundaryField = a_rheology_lambda.ext_boundaryField() lambda_ = scalarField( a_rheology_lambda_boundaryField[ self.patch().index() ] ) n = self.patch().nf() from Foam.finiteVolume import volTensorField from Foam.OpenFOAM import word gradU =volTensorField.ext_lookupPatchField( self.patch(), word( "grad(" +str( self.UName_ ) + ")" ) ) from Foam.OpenFOAM import ext_Info self.gradient().ext_assign( ( ( self.traction_ - self.pressure_ * n ) - ( n & ( mu * gradU.ext_T() - ( mu + lambda_ ) * gradU ) ) \ - n * lambda_ * gradU.tr() ) / ( 2.0 * mu + lambda_) ) from Foam.finiteVolume import fixedGradientFvPatchVectorField fixedGradientFvPatchVectorField.updateCoeffs( self ) except Exception, exc: import sys, traceback traceback.print_exc( file = sys.stdout ) raise exc
def updateCoeffs(self): try: if self.updated(): return from Foam.finiteVolume import volScalarField from Foam.OpenFOAM import word rhop = volScalarField.ext_lookupPatchField(self.patch(), word("rho")) from Foam.finiteVolume import volVectorField rhoUp = volVectorField.ext_lookupPatchField( self.patch(), word("rhoU")) T = volScalarField.ext_lookupObject(self.db(), word("T")) patchi = self.patch().index() Tp = T.ext_boundaryField()[patchi] Tp.evaluate() from Foam.OpenFOAM import IOdictionary thermodynamicProperties = IOdictionary.ext_lookupObject( self.db(), word("thermodynamicProperties")) from Foam.OpenFOAM import dimensionedScalar Cv = dimensionedScalar(thermodynamicProperties.lookup(word("Cv"))) self.valueFraction().ext_assign( rhop.ext_snGrad() / (rhop.ext_snGrad() - rhop * self.patch().deltaCoeffs())) self.refValue().ext_assign(0.5 * rhop * (rhoUp / rhop).magSqr()) self.refGrad().ext_assign( rhop * Cv.value() * Tp.ext_snGrad() +\ ( self.refValue() - ( 0.5 * rhop.patchInternalField()\ * ( rhoUp.patchInternalField() /rhop.patchInternalField() ).magSqr() ) ) * self.patch().deltaCoeffs() ) mixedFvPatchScalarField.updateCoeffs(self) pass except Exception, exc: import sys, traceback traceback.print_exc(file=sys.stdout) raise exc
def updateCoeffs(self): try: if self.updated(): return from Foam.OpenFOAM import IOdictionary rheology = IOdictionary.ext_lookupObject(self.db(), self.rheologyName_) from Foam.OpenFOAM import scalarField # Python does not wait for evaluation of the closure expression, it destroys return values if it is no more in use a_rheology_mu = rheology.mu() a_rheology_mu_boundaryField = a_rheology_mu.ext_boundaryField() mu = scalarField(a_rheology_mu_boundaryField[self.patch().index()]) a_rheology_lambda = rheology._lambda() a_rheology_lambda_boundaryField = a_rheology_lambda.ext_boundaryField( ) lambda_ = scalarField( a_rheology_lambda_boundaryField[self.patch().index()]) n = self.patch().nf() from Foam.finiteVolume import volTensorField from Foam.OpenFOAM import word gradU = volTensorField.ext_lookupPatchField( self.patch(), word("grad(" + str(self.UName_) + ")")) from Foam.OpenFOAM import ext_Info self.gradient().ext_assign( ( ( self.traction_ - self.pressure_ * n ) - ( n & ( mu * gradU.ext_T() - ( mu + lambda_ ) * gradU ) ) \ - n * lambda_ * gradU.tr() ) / ( 2.0 * mu + lambda_) ) from Foam.finiteVolume import fixedGradientFvPatchVectorField fixedGradientFvPatchVectorField.updateCoeffs(self) except Exception, exc: import sys, traceback traceback.print_exc(file=sys.stdout) raise exc
IOobject.AUTO_WRITE ), linearInterpolate( rhof[ index ]*Uf[ index ] ) & fluidRegions[ index ].Sf() ) ) ext_Info() << " Adding to turb\n" << nl from Foam import compressible turb.ext_set( index, compressible.RASModel.New( rhof[ index ], Uf[ index ], phif[ index ], thermof[ index ] ) ) ext_Info() << " Adding to DpDtf\n" << nl from Foam import fvc DpDtf.ext_set( index, volScalarField( fvc.DDt( surfaceScalarField( word( "phiU" ), phif[ index ] / fvc.interpolate( rhof[ index ] ) ), thermof[ index ].p() ) ) ) from Foam.OpenFOAM import IOdictionary environmentalProperties = IOdictionary.ext_lookupObject( fluidRegions[ index ], word( "environmentalProperties" ) ) from Foam.OpenFOAM import dimensionedVector g = dimensionedVector( environmentalProperties.lookup( word( "g" ) ) ) ext_Info() << " Adding to ghf\n" << nl ghf.ext_set( index, volScalarField( word( "gh" ), g & fluidRegions[ index ].C() ) ) ext_Info() << " Updating p from pd\n" << nl thermof[ index ].p() == pdf[ index ] + rhof[ index ] * ghf[ index ] + pRef thermof[ index ].correct() initialMassf[ index ] = fvc.domainIntegrate( rhof[ index ] ).value() return pdf, thermof, rhof, Kf, Uf, phif, turb, DpDtf, ghf, initialMassf, pRef