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

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