Namespace ae108::solve
Namespace List > ae108 > solve
Minimize the total energy. More...
Namespaces
| Type | Name |
|---|---|
| namespace | dynamics |
Classes
| Type | Name |
|---|---|
| struct | AffineTransform <class Policy> |
| 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
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.
template<class Policy>
cpppetsc::distributed < typename AffineTransform < Policy >::vector_type > ae108::solve::apply (
const AffineTransform < Policy > & transform,
const cpppetsc::distributed < typename AffineTransform < Policy >::vector_type > & x
)
function apply
Applies the affine transform to an input vector x and writes the result toout .
template<class Policy>
void ae108::solve::apply (
const AffineTransform < Policy > & transform,
const cpppetsc::distributed < typename AffineTransform < Policy >::vector_type > & x,
cpppetsc::distributed < typename AffineTransform < Policy >::vector_type > *const out
)
function apply
template cpppetsc::distributed < typename AffineTransform < cpppetsc::SequentialComputePolicy >::vector_type > ae108::solve::apply (
const AffineTransform < cpppetsc::SequentialComputePolicy > &,
const cpppetsc::distributed < typename AffineTransform < cpppetsc::SequentialComputePolicy >::vector_type > &
)
function apply
template cpppetsc::distributed < typename AffineTransform < cpppetsc::ParallelComputePolicy >::vector_type > ae108::solve::apply (
const AffineTransform < cpppetsc::ParallelComputePolicy > &,
const cpppetsc::distributed < typename AffineTransform < cpppetsc::ParallelComputePolicy >::vector_type > &
)
function apply
template void ae108::solve::apply (
const AffineTransform < cpppetsc::SequentialComputePolicy > & transform,
const cpppetsc::distributed < typename AffineTransform < cpppetsc::SequentialComputePolicy >::vector_type > &,
cpppetsc::distributed < typename AffineTransform < cpppetsc::SequentialComputePolicy >::vector_type > * const
)
function apply
template void ae108::solve::apply (
const AffineTransform < cpppetsc::ParallelComputePolicy > & transform,
const cpppetsc::distributed < typename AffineTransform < cpppetsc::ParallelComputePolicy >::vector_type > &,
cpppetsc::distributed < typename AffineTransform < cpppetsc::ParallelComputePolicy >::vector_type > * const
)
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 .
template<class Policy>
AffineTransform < Policy > ae108::solve::boundaryConditionsToEquations (
const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition < cpppetsc::Mesh < Policy > > > & boundaryConditions,
const cpppetsc::Mesh < Policy > & mesh
)
Exception:
- InvalidVertexException if the boundary conditions contain a vertex that does not exist.
function boundaryConditionsToEquations
template AffineTransform < cpppetsc::SequentialComputePolicy > ae108::solve::boundaryConditionsToEquations (
const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition < cpppetsc::Mesh < cpppetsc::SequentialComputePolicy > > > &,
const cpppetsc::Mesh < cpppetsc::SequentialComputePolicy > &
)
function boundaryConditionsToEquations
template AffineTransform < cpppetsc::ParallelComputePolicy > ae108::solve::boundaryConditionsToEquations (
const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition < cpppetsc::Mesh < cpppetsc::ParallelComputePolicy > > > &,
const cpppetsc::Mesh < cpppetsc::ParallelComputePolicy > &
)
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.
template<class Policy>
AffineTransform < Policy > ae108::solve::boundaryConditionsToTransform (
const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition < cpppetsc::Mesh < Policy > > > & boundaryConditions,
const cpppetsc::Mesh < Policy > & 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.
function boundaryConditionsToTransform
template AffineTransform < cpppetsc::SequentialComputePolicy > ae108::solve::boundaryConditionsToTransform (
const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition < cpppetsc::Mesh < cpppetsc::SequentialComputePolicy > > > &,
const cpppetsc::Mesh < cpppetsc::SequentialComputePolicy > &
)
function boundaryConditionsToTransform
template AffineTransform < cpppetsc::ParallelComputePolicy > ae108::solve::boundaryConditionsToTransform (
const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition < cpppetsc::Mesh < cpppetsc::ParallelComputePolicy > > > &,
const cpppetsc::Mesh < cpppetsc::ParallelComputePolicy > &
)
The documentation for this class was generated from the following file solve/src/include/ae108/solve/AffineTransform.h