Skip to content

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

Type Name
cpppetsc::distributed< typename AffineTransform< Policy >::vector_type > apply (const AffineTransform< Policy > & transform, const cpppetsc::distributed< typename AffineTransform< Policy >::vector_type > & x)
Applies the affine transform to an input vector x and returns the result.
void apply (const AffineTransform< Policy > & transform, const cpppetsc::distributed< typename AffineTransform< Policy >::vector_type > & x, cpppetsc::distributed< typename AffineTransform< Policy >::vector_type > *const out)
Applies the affine transform to an input vector x and writes the result toout .
template cpppetsc::distributed< typename AffineTransform< cpppetsc::SequentialComputePolicy >::vector_type > apply (const AffineTransform< cpppetsc::SequentialComputePolicy > &, const cpppetsc::distributed< typename AffineTransform< cpppetsc::SequentialComputePolicy >::vector_type > &)
template cpppetsc::distributed< typename AffineTransform< cpppetsc::ParallelComputePolicy >::vector_type > apply (const AffineTransform< cpppetsc::ParallelComputePolicy > &, const cpppetsc::distributed< typename AffineTransform< cpppetsc::ParallelComputePolicy >::vector_type > &)
template void apply (const AffineTransform< cpppetsc::SequentialComputePolicy > & transform, const cpppetsc::distributed< typename AffineTransform< cpppetsc::SequentialComputePolicy >::vector_type > &, cpppetsc::distributed< typename AffineTransform< cpppetsc::SequentialComputePolicy >::vector_type > * const)
template void apply (const AffineTransform< cpppetsc::ParallelComputePolicy > & transform, const cpppetsc::distributed< typename AffineTransform< cpppetsc::ParallelComputePolicy >::vector_type > &, cpppetsc::distributed< typename AffineTransform< cpppetsc::ParallelComputePolicy >::vector_type > * const)
AffineTransform< Policy > boundaryConditionsToEquations (const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition< cpppetsc::Mesh< Policy > > > & boundaryConditions, const cpppetsc::Mesh< Policy > & 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 .
template AffineTransform< cpppetsc::SequentialComputePolicy > boundaryConditionsToEquations (const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition< cpppetsc::Mesh< cpppetsc::SequentialComputePolicy > > > &, const cpppetsc::Mesh< cpppetsc::SequentialComputePolicy > &)
template AffineTransform< cpppetsc::ParallelComputePolicy > boundaryConditionsToEquations (const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition< cpppetsc::Mesh< cpppetsc::ParallelComputePolicy > > > &, const cpppetsc::Mesh< cpppetsc::ParallelComputePolicy > &)
AffineTransform< Policy > boundaryConditionsToTransform (const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition< cpppetsc::Mesh< Policy > > > & boundaryConditions, const cpppetsc::Mesh< Policy > & 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.
template AffineTransform< cpppetsc::SequentialComputePolicy > boundaryConditionsToTransform (const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition< cpppetsc::Mesh< cpppetsc::SequentialComputePolicy > > > &, const cpppetsc::Mesh< cpppetsc::SequentialComputePolicy > &)
template AffineTransform< cpppetsc::ParallelComputePolicy > boundaryConditionsToTransform (const std::vector< cpppetsc::GeneralizedMeshBoundaryCondition< cpppetsc::Mesh< cpppetsc::ParallelComputePolicy > > > &, const cpppetsc::Mesh< cpppetsc::ParallelComputePolicy > &)

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:


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:


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