underworld.systems.sle module¶
Module Summary¶
classes:¶
Module Details¶
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.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(meshVariable, eqNum, **kwargs)[source]¶ Bases:
underworld.systems.sle._svector.SolutionVectorVector 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.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(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.PreconditionerMatrixTerm(assembledObject=None, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.MatrixAssemblyTerm
-
class
underworld.systems.sle.SolutionVector(meshVariable, eqNumber, **kwargs)[source]¶ Bases:
underworld._stgermain.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(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.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(nbc, integrationSwarm=None, surfaceGaussPoints=2, **kwargs)[source]¶ Bases:
underworld.systems.sle._assemblyterm.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’.