underworld.systems.sle module

Classes

underworld.systems.sle.AdvDiffResidualVectorTerm

underworld.systems.sle.AssembledMatrix

Matrix object, generally assembled as a result of the FEM framework.

underworld.systems.sle.AssembledVector

Vector object, generally assembled as a result of the FEM framework.

underworld.systems.sle.AssemblyTerm

underworld.systems.sle.ConstitutiveMatrixTerm

underworld.systems.sle.EqNumber

The SolutionVector manages the numerical solution vectors used by Underworld's equation systems.

underworld.systems.sle.GradientStiffnessMatrixTerm

underworld.systems.sle.LumpedMassMatrixVectorTerm

underworld.systems.sle.MatrixAssemblyTerm

underworld.systems.sle.MatrixAssemblyTerm_NA__NB__Fn

underworld.systems.sle.MatrixAssemblyTerm_NA_i__NB_i__Fn

underworld.systems.sle.MatrixSurfaceAssemblyTerm_NA__NB__Fn__ni

underworld.systems.sle.PreconditionerMatrixTerm

underworld.systems.sle.SolutionVector

The SolutionVector manages the numerical solution vectors used by Underworld's equation systems.

underworld.systems.sle.VectorAssemblyTerm

underworld.systems.sle.VectorAssemblyTerm_NA__Fn

underworld.systems.sle.VectorAssemblyTerm_NA_i__Fn_i

underworld.systems.sle.VectorAssemblyTerm_NA_j__Fn_ij

Build an assembly term for a spatial gradient, used for the viscoelastic force term.

underworld.systems.sle.VectorSurfaceAssemblyTerm_NA__Fn__ni

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: StgCompoundComponent

Matrix object, generally assembled as a result of the FEM framework.

Parameters:
class underworld.systems.sle.AssembledVector(self, meshVariable, eqNum, **kwargs)[source]

Bases: SolutionVector

Vector 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: 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(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: StgCompoundComponent

The SolutionVector manages the numerical solution vectors used by Underworld’s equation systems. Interface between meshVariables and systems.

Parameters:

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: 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(self, nbc, integrationSwarm=None, surfaceGaussPoints=2, **kwargs)[source]

Bases: 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’.