Namespace ae108::solve
Namespace List > ae108 > solve
Minimize the total energy. More...
Namespaces
| Type | Name |
|---|---|
| namespace | dynamics |
Classes
| Type | Name |
|---|---|
| struct | AffineTransform |
| class | DynamicSolver <class Assembler, class NonlinearSolver> |
| class | GeneralizedNonlinearSolver <class Assembler> |
| class | GeneralizedTAOSolver <class Assembler> |
| struct | InconsistentBoundaryConditionsException |
| struct | InvalidVertexException |
| class | LeastSquaresSolver <class Assembler> |
| class | NonlinearSolver <class Assembler> |
| class | TAOSolver <class Assembler> |
| class | TransformingSolver <class Assembler> |
Public Functions
| Type | Name |
|---|---|
| cpppetsc::distributed< cpppetsc::Vector > | apply (const AffineTransform & transform, const cpppetsc::distributed< cpppetsc::Vector > & x) Applies the affine transform to an input vector x and returns the result. |
| void | apply (const AffineTransform & transform, const cpppetsc::distributed< cpppetsc::Vector > & x, cpppetsc::distributed< cpppetsc::Vector > *const out) Applies the affine transform to an input vector x and writes the result toout . |
| AffineTransform | boundaryConditionsToEquations (const std::vector< cpppetsc::GeneralizedConstrainedDOFs > & boundaryConditions, const cpppetsc::Mesh & mesh) Converts a vector of GeneralizedMeshBoundaryCondition s to a matrixA and a vectorb that encodes the boundary conditions. The boundary conditions are satisfied forx if and only ifAx + b = 0 . |
| AffineTransform | boundaryConditionsToTransform (const std::vector< cpppetsc::GeneralizedConstrainedDOFs > & constrained_dofs, const cpppetsc::Mesh & mesh) Converts a vector of GeneralizedMeshBoundaryCondition s to an affine transform that encodes the boundary conditions. More precisely, the rank of the transform satisfies the boundary conditions. |
Detailed Description
Library for minimizing the assembled total energy using PETSc’s solvers or optimizers as provided by cpppetsc.
Public Functions Documentation
function apply
Applies the affine transform to an input vector x and returns the result.
cpppetsc::distributed < cpppetsc::Vector > ae108::solve::apply (
const AffineTransform & transform,
const cpppetsc::distributed < cpppetsc::Vector > & x
)
function apply
Applies the affine transform to an input vector x and writes the result toout .
void ae108::solve::apply (
const AffineTransform & transform,
const cpppetsc::distributed < cpppetsc::Vector > & x,
cpppetsc::distributed < cpppetsc::Vector > *const out
)
function boundaryConditionsToEquations
Converts a vector of GeneralizedMeshBoundaryCondition s to a matrixA and a vectorb that encodes the boundary conditions. The boundary conditions are satisfied forx if and only ifAx + b = 0 .
AffineTransform ae108::solve::boundaryConditionsToEquations (
const std::vector< cpppetsc::GeneralizedConstrainedDOFs > & boundaryConditions,
const cpppetsc::Mesh & mesh
)
Exception:
- InvalidVertexException if the boundary conditions contain a vertex that does not exist.
function boundaryConditionsToTransform
Converts a vector of GeneralizedMeshBoundaryCondition s to an affine transform that encodes the boundary conditions. More precisely, the rank of the transform satisfies the boundary conditions.
AffineTransform ae108::solve::boundaryConditionsToTransform (
const std::vector< cpppetsc::GeneralizedConstrainedDOFs > & constrained_dofs,
const cpppetsc::Mesh & mesh
)
Exception:
- InconsistentBoundaryConditionsException if a degree of degree of freedom appears as both a source and a target.
- InvalidVertexException if the boundary conditions contain a vertex that does not exist.
The documentation for this class was generated from the following file solve/src/include/ae108/solve/AffineTransform.h