underworld.systems.sle module
Classes
Matrix object, generally assembled as a result of the FEM framework. |
|
Vector object, generally assembled as a result of the FEM framework. |
|
The SolutionVector manages the numerical solution vectors used by Underworld's equation systems. |
|
|
|
The SolutionVector manages the numerical solution vectors used by Underworld's equation systems. |
|
Build an assembly term for a spatial gradient, used for the viscoelastic force term. |
|
Build an assembly term for a surface integral. |
- class underworld.systems.sle.AdvDiffResidualVectorTerm(self, velocityField, diffusivity, sourceTerm, **kwargs)[source]
Bases:
VectorAssemblyTerm
- class underworld.systems.sle.AssembledMatrix(self, rowVector, colVector, rhs=None, rhs_T=None, assembleOnNodes=False, **kwargs)[source]
Bases:
StgCompoundComponentMatrix 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(self, meshVariable, eqNum, **kwargs)[source]
Bases:
SolutionVectorVector object, generally assembled as a result of the FEM framework.
See parent class for parameters.
- property petscVector
Underlying PETSc vector object.
- Type:
petscVector (swig petsc vector)
- class underworld.systems.sle.AssemblyTerm(self, integrationSwarm, extraInfo=None, **kwargs)[source]
Bases:
StgCompoundComponent
- class underworld.systems.sle.ConstitutiveMatrixTerm(self, fn_visc1=None, fn_visc2=None, fn_director=None, **kwargs)[source]
Bases:
MatrixAssemblyTerm
- class underworld.systems.sle.EqNumber(meshVariable, removeBCs=True, **kwargs)[source]
Bases:
StgClassThe 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(self, assembledObject=None, **kwargs)[source]
Bases:
MatrixAssemblyTerm
- class underworld.systems.sle.LumpedMassMatrixVectorTerm(self, assembledObject, **kwargs)[source]
Bases:
VectorAssemblyTerm
- class underworld.systems.sle.MatrixAssemblyTerm(self, assembledObject=None, **kwargs)[source]
Bases:
AssemblyTerm
- class underworld.systems.sle.MatrixAssemblyTerm_NA__NB__Fn(self, fn, mesh, **kwargs)[source]
Bases:
MatrixAssemblyTerm
- class underworld.systems.sle.MatrixAssemblyTerm_NA_i__NB_i__Fn(self, fn, **kwargs)[source]
Bases:
MatrixAssemblyTerm
- class underworld.systems.sle.MatrixSurfaceAssemblyTerm_NA__NB__Fn__ni(self, fn, mesh, **kwargs)[source]
Bases:
MatrixAssemblyTerm
- class underworld.systems.sle.PreconditionerMatrixTerm(self, assembledObject=None, **kwargs)[source]
Bases:
MatrixAssemblyTerm
- class underworld.systems.sle.SolutionVector(self, meshVariable, eqNumber, **kwargs)[source]
Bases:
StgCompoundComponentThe 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(self, assembledObject, **kwargs)[source]
Bases:
AssemblyTerm
- class underworld.systems.sle.VectorAssemblyTerm_NA__Fn(self, fn, mesh=None, **kwargs)[source]
Bases:
VectorAssemblyTerm
- class underworld.systems.sle.VectorAssemblyTerm_NA_i__Fn_i(self, fn, mesh=None, **kwargs)[source]
Bases:
VectorAssemblyTerm
- class underworld.systems.sle.VectorAssemblyTerm_NA_j__Fn_ij(self, fn, mesh=None, **kwargs)[source]
Bases:
VectorAssemblyTermBuild 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(self, nbc, integrationSwarm=None, surfaceGaussPoints=2, **kwargs)[source]
Bases:
VectorAssemblyTermBuild 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’.