proteus.mprans.PresInc module

class proteus.mprans.PresInc.NumericalFlux(vt, getPointwiseBoundaryConditions, getAdvectiveFluxBoundaryConditions, getDiffusiveFluxBoundaryConditions)[source]

Bases: proteus.NumericalFlux.ConstantAdvection_Diffusion_SIPG_exterior

class proteus.mprans.PresInc.Coefficients(rho_f_min=998.0, rho_s_min=998.0, nd=2, VOS_model=0, VOF_model=1, modelIndex=None, fluidModelIndex=None, sedModelIndex=None, fixNullSpace=False, INTEGRATE_BY_PARTS_DIV_U=True)[source]

Bases: proteus.TransportCoefficients.TC_base

The coefficients for pressure increment solution

Update is given by

\[\]

ablacdot( -a abla phi^{k+1} - mathbf{q^t}^{k+1} ) = 0

a =

rac{ au (1- heta_s)}{ ho_f} + rac{ au heta_s}{ ho_s}

q^t = (1- heta_s) v_f + heta_s v_s

Construct a coefficients object

Parameters:
  • modelIndex – This model’s index into the model list
  • fluidModelIndex – The fluid momentum model’s index
attachModels(modelList)[source]

Attach the model for velocity and density to PresureIncrement model

initializeMesh(mesh)[source]

Give the TC object access to the mesh for any mesh-dependent information.

initializeElementQuadrature(t, cq)[source]

Give the TC object access to the element quadrature storage

initializeElementBoundaryQuadrature(t, cebq, cebq_global)[source]

Give the TC object access to the element boundary quadrature storage

initializeGlobalExteriorElementBoundaryQuadrature(t, cebqe)[source]

Give the TC object access to the exterior element boundary quadrature storage

initializeGeneralizedInterpolationPointQuadrature(t, cip)[source]

Give the TC object access to the generalized interpolation point storage. These points are used to project nonlinear potentials (phi).

preStep(t, firstStep=False)[source]

Move the current values to values_last to keep cached set of values for bdf1 algorithm

postStep(t, firstStep=False)[source]

Update the fluid velocities

evaluate(t, c)[source]
evaluatePresureIncrement(t, c)[source]

Evaluate the coefficients after getting the velocities and densities

class proteus.mprans.PresInc.LevelModel(uDict, phiDict, testSpaceDict, matType, dofBoundaryConditionsDict, dofBoundaryConditionsSetterDict, coefficients, elementQuadrature, elementBoundaryQuadrature, fluxBoundaryConditionsDict=None, advectiveFluxBoundaryConditionsSetterDict=None, diffusiveFluxBoundaryConditionsSetterDictDict=None, stressTraceBoundaryConditionsSetterDict=None, stabilization=None, shockCapturing=None, conservativeFluxDict=None, numericalFluxType=None, TimeIntegrationClass=None, massLumping=False, reactionLumping=False, options=None, name='defaultName', reuse_trial_and_test_quadrature=True, sd=True, movingDomain=False, bdyNullSpace=False)[source]

Bases: proteus.Transport.OneLevelTransport

nCalls = 0[source]
calculateCoefficients()[source]
calculateElementResidual()[source]
getResidual(u, r)[source]
getJacobian(jacobian)[source]
calculateElementQuadrature()[source]

Calculate the physical location and weights of the quadrature rules and the shape information at the quadrature points.

This function should be called only when the mesh changes.

calculateElementBoundaryQuadrature()[source]
calculateExteriorElementBoundaryQuadrature()[source]
estimate_mt()[source]
calculateAuxiliaryQuantitiesAfterStep()[source]
calculateSolutionAtQuadrature()[source]
updateAfterMeshMotion()[source]