underworld.systems.sle module¶
Classes¶
-
class
underworld.systems.sle.
AdvDiffResidualVectorTerm
(velocityField, diffusivity, sourceTerm, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.VectorAssemblyTerm
-
class
underworld.systems.sle.
AssembledMatrix
(rowVector, colVector, rhs=None, rhs_T=None, assembleOnNodes=False, **kwargs)[source]¶ Bases:
underworld._stgermain.StgCompoundComponent
Matrix object, generally assembled as a result of the FEM framework.
Parameters: - meshVariableRow (underworld.mesh.MeshVariable) – MeshVariable object for matrix row.
- meshVariableCol (underworld.mesh.MeshVariable) – MeshVariable object for matrix column.
-
class
underworld.systems.sle.
AssembledVector
(meshVariable, eqNum, **kwargs)[source]¶ Bases:
underworld.systems.sle._svector.SolutionVector
Vector object, generally assembled as a result of the FEM framework.
See parent class for parameters.
-
petscVector
¶ Underlying PETSc vector object.
Type: petscVector (swig petsc vector)
-
-
class
underworld.systems.sle.
AssemblyTerm
(integrationSwarm, extraInfo=None, **kwargs)[source]¶ Bases:
underworld._stgermain.StgCompoundComponent
-
class
underworld.systems.sle.
ConstitutiveMatrixTerm
(fn_visc1=None, fn_visc2=None, fn_director=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.
EqNumber
(meshVariable, removeBCs=True, **kwargs)[source]¶ Bases:
underworld._stgermain.StgClass
The SolutionVector manages the numerical solution vectors used by Underworld’s equation systems. Interface between meshVariables and systems.
Parameters: - meshVariable (uw.mesh.MeshVariable) – MeshVariable object for which this equation numbering corresponds.
- removeBCs (Bool, optional) – Determines if the MeshVariable’s boundary conditions are included in the ordering. Hence it effects the size of the matrix or vector and the algorithm used to handle boundary conditions.
Example
>>> linearMesh = uw.mesh.FeMesh_Cartesian( elementType='Q1/dQ0', elementRes=(4,4), minCoord=(0.,0.), maxCoord=(1.,1.) ) >>> tField = uw.mesh.MeshVariable( linearMesh, 1 ) >>> teqNum = uw.systems.sle.EqNumber( tField )
-
class
underworld.systems.sle.
GradientStiffnessMatrixTerm
(assembledObject=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.
LumpedMassMatrixVectorTerm
(assembledObject, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.VectorAssemblyTerm
-
class
underworld.systems.sle.
MatrixAssemblyTerm
(assembledObject=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.AssemblyTerm
-
class
underworld.systems.sle.
MatrixAssemblyTerm_NA__NB__Fn
(fn, mesh, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.
MatrixAssemblyTerm_NA_i__NB_i__Fn
(fn, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.
MatrixSurfaceAssemblyTerm_NA__NB__Fn__ni
(fn, mesh, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.
PreconditionerMatrixTerm
(assembledObject=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.
SolutionVector
(meshVariable, eqNumber, **kwargs)[source]¶ Bases:
underworld._stgermain.StgCompoundComponent
The SolutionVector manages the numerical solution vectors used by Underworld’s equation systems. Interface between meshVariables and systems.
Parameters: - meshVariable (underworld.mesh.MeshVariable) – MeshVariable object for which this SLE vector corresponds.
- eqNumber (underworld.systems.sle.EqNumber) – Equation numbering object corresponding to this vector.
Example
>>> linearMesh = uw.mesh.FeMesh_Cartesian( elementType='Q1/dQ0', elementRes=(4,4), minCoord=(0.,0.), maxCoord=(1.,1.) ) >>> tField = uw.mesh.MeshVariable( linearMesh, 1 ) >>> eqNum = uw.systems.sle.EqNumber( tField ) >>> sVector = uw.systems.sle.SolutionVector(tField, eqNum )
-
class
underworld.systems.sle.
VectorAssemblyTerm
(assembledObject, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.AssemblyTerm
-
class
underworld.systems.sle.
VectorAssemblyTerm_NA__Fn
(fn, mesh=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.VectorAssemblyTerm
-
class
underworld.systems.sle.
VectorAssemblyTerm_NA_i__Fn_i
(fn, mesh=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.VectorAssemblyTerm
-
class
underworld.systems.sle.
VectorAssemblyTerm_NA_j__Fn_ij
(fn, mesh=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.VectorAssemblyTerm
Build an assembly term for a spatial gradient, used for the viscoelastic force term.
Parameters: - fn (underworld.function.Function) – Function is a vector of size 3 (dim=2) or 6 (dim=3) representing a symetric tensor
- mesh (uw.mesh.FeMesh_Cartesian) –
-
class
underworld.systems.sle.
VectorSurfaceAssemblyTerm_NA__Fn__ni
(nbc, integrationSwarm=None, surfaceGaussPoints=2, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.VectorAssemblyTerm
Build an assembly term for a surface integral.
Parameters: - nbc (underworld.conditions.NeumannCondition) – See uw.conditions.NeumannCondition for details
- integrationSwarm (underworld.swarm.GaussBorderIntegrationSwarm) – Optional integration swarm to be used for numerical integration.
- surfaceGaussPoints (int) – The number of quadrature points per element face to use in surface integration. Will be used to create a GaussBorderIntegrationSwarm in the case the ‘swarm’ input is ‘None’.