proteus.mprans.MoveMeshMonitor module
- class proteus.mprans.MoveMeshMonitor.Coefficients(func, he_min, he_max, ME_MODEL, LS_MODEL=None, useLS=True, nd=2, fixedNodeMaterialTypes=None, fixedElementMaterialTypes=None, noNodeVelocityNodeMaterialTypes=None, nSmoothOut=0, nSmoothIn=0, epsFact_density=0, epsTimeStep=1.0, ntimes_solved=1, grading=1.1, grading_type=0, resetNodeVelocityArray=True, scale_with_nd=False, do_firstStep=True, nullSpace='ConstantNullSpace', initialize=True)[source]
Bases:
proteus.TransportCoefficients.PoissonEquationCoefficients
Coefficients for deforming the mesh according to an area function
- Parameters
func (function) – function of x defining element area
he_min (double) – minimum characteristic element size
he_max (double) – maximum characteristic element size
ME_MODEL (int) – index of this model
LS_MODEL (int) – index of LS model for retrieving phi values and refine around free surface
nd (int) – number of dimensions
fixedNodeMaterialTypes (int[:]) – array of length of all domain node material types, with indexes corresponding to the material type set as: 0 -> not fixed, 1 -> fixed. e.g. if nodes of material type 3 should be fixed: fixedNodeMaterialTypes[3]=1 (!) must be integers
fixedElementMaterialTypes (int[:]) – array of length of all domain element material types, with indexes corresponding to the material type set as: 0 -> not fixed, 1 -> fixed. all nodes that have at least one element with fixed material type around them will be fixed
noNodeVelocityNodeMaterialTypes (int[:]) – array of length of all domain node material types, with indexes corresponding to the material type set as: 0 -> not fixed, 1 -> fixed. e.g. if nodes of material type 3 should not have a node velocity: fixedNodeMaterialTypes[3]=1 (!) must be integers
nSmoothOut (int) – number of smoothing steps after finishing pseudo time stepping
nSmoothIn (int) – number of smoothing steps after finishing pseudo time stepping
epsFact_density (double) – epsFact*he_min where refinement is the same
epsTimeStep (double) – pseudo time step size (0 < epsTimeStep <= 1)
grading (double) –
grading of mesh with distance function. 1.-> no grading, 1.1->10% increase (!) if using grading, func must be a distance function
otherwise func is an area function
grading_type (int) – type of grading: 0 -> no grading 1 -> hyperbolic 2 -> log
resetNodeVelocityArray (bool) – reset nodeVelocityArray to zero during prestep if true, otherwise adds up velocity to the existing node velocity. Can be used as False if this model is used in conjunction with another moving mesh model.
Set the number of components (equations) of the PDE and initialize the dicitionaries describing the form of the coefficients. Strings naming each component (used for viewing and archiving) and a structure defining the sparsity pattern of diffusion tensors may also be provided.
- initializeMesh(mesh)[source]
Give the TC object access to the mesh for any mesh-dependent information.
- attachModels(modelList)[source]
Give the TC object access to other models in a loosely coupled split operator formulation (e.g. a transport equation for concentration might get velocity from a flow equation)
- preStep(t, firstStep=False)[source]
Give the TC object an opportunity to modify itself before the time step.
- postStep(t, firstStep=False)[source]
Give the TC object an opportunity to modify itself after the time step.