Assembly namespace
Module for performing the assembly of linear algebra objects from variational expressions.
Classes
-
template<class LinearAlgebraType, class Operand>class AssemblyBase
- Base class template for assembly operations.
-
template<class OperatorType, class Solution, class TrialFES, class TestFES>class AssemblyBase<OperatorType, Variational::BilinearForm<Solution, TrialFES, TestFES, OperatorType>>
- Base class for bilinear form assembly operations.
-
template<class VectorType, class FES>class AssemblyBase<VectorType, Variational::LinearForm<FES, VectorType>>
- Base class for linear form assembly operations.
-
template<class TrialFES, class TestFES>class BilinearFormAssemblyInput
- Input data for bilinear form assembly.
-
template<class ... Ts>class BilinearFormTupleAssemblyInput
- Input data for tuple of bilinear forms assembly.
-
template<class ... Ts>class Default
- Default assembly strategy selector.
-
template<>class Default<Context::Local>
- Default assembly strategy for local context without OpenMP.
-
template<>class Default<Context::Local, Context::Local>
- Default assembly strategy for mixed local contexts without OpenMP.
-
template<class Scalar, class Solution, class FES, class Value>class DirichletBCAssemblyInput
- Input data for Dirichlet boundary condition assembly.
-
template<class ... Ts>class Generic
- Generic problem assembly implementation.
-
template<class LinearSystem, class TrialFunction, class TestFunction>class Generic<LinearSystem, Variational::Problem<LinearSystem, TrialFunction, TestFunction>>
- Generic assembly implementation for complete variational problems.
-
template<class FES>class LinearFormAssemblyInput
- Input data for linear form assembly.
-
template<class ... Ts>class LinearFormTupleAssemblyInput
- Input data for tuple of linear forms assembly.
-
template<class Solution, class TrialFES, class TestFES>class OpenMP<::Mat, Variational::BilinearForm<Solution, TrialFES, TestFES, ::Mat>>
- OpenMP assembly for PETSc Mat (bilinear form)
-
template<class FES>class OpenMP<::Vec, Variational::LinearForm<FES, ::Vec>>
- OpenMP assembly for PETSc Vec (linear form)
-
template<class Solution, class TrialFES, class TestFES>class OpenMP<Math::SparseMatrix<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>, Variational::BilinearForm<Solution, TrialFES, TestFES, Math::SparseMatrix<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>>
- OpenMP assembly of the Math::
SparseMatrix associated to a BilinearFormBase object. -
template<class FES>class OpenMP<Math::Vector<typename FormLanguage::Traits<FES>::ScalarType>, Variational::LinearForm<FES, Math::Vector<typename FormLanguage::Traits<FES>::ScalarType>>>
- OpenMP assembly of the Math::
Vector associated to a LinearForm object. -
template<class Solution, class TrialFES, class TestFES>class OpenMP<std::vector<Eigen::Triplet<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>, Variational::BilinearForm<Solution, TrialFES, TestFES, std::vector<Eigen::Triplet<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>>>
- OpenMP-based parallel assembly for bilinear forms.
-
template<>class OpenMPIteration<Geometry::Mesh<Context::Local>>
- OpenMP-based parallel mesh iteration for multi-threaded assembly.
-
template<class ProblemBody, class TrialFunction, class TestFunction>class ProblemAssemblyInput
- Input data for complete problem assembly.
-
template<class LinearAlgebraType, class Operand>class Sequential
- Sequential (single-threaded) assembly implementation.
-
template<class Mesh>class SequentialIteration
- Sequential mesh iteration strategy.
-
template<>class SequentialIteration<Geometry::Mesh<Context::Local>>
- Sequential mesh iteration for single-threaded assembly.
Functions
-
template<class TrialFES, class TestFES>BilinearFormAssemblyInput(const TrialFES&, const TestFES&, FormLanguage::
List<Variational:: LocalBilinearFormIntegratorBase<decltype(std::declval<typename FormLanguage:: Traits<TrialFES>::ScalarType>()*std::declval<typename FormLanguage:: Traits<TestFES>::ScalarType>())>, &, FormLanguage:: List<Variational:: GlobalBilinearFormIntegratorBase<decltype(std::declval<typename FormLanguage:: Traits<TrialFES>::ScalarType>()*std::declval<typename FormLanguage:: Traits<TestFES>::ScalarType>())>, &) -> BilinearFormAssemblyInput< TrialFES, TestFES > - Template argument deduction guide for BilinearFormAssemblyInput.
-
OpenMPIteration(const Geometry::
Mesh<Context:: Local>& mesh, const Geometry:: Region&) -> OpenMPIteration< Geometry::Mesh< Context::Local > > - Template argument deduction guide for OpenMPIteration.
-
SequentialIteration(const Geometry::
Mesh<Context:: Local>& mesh, const Geometry:: Region&) -> SequentialIteration< Geometry::Mesh< Context::Local > > - Template argument deduction guide for SequentialIteration.
Function documentation
#include <Rodin/Assembly/Input.h>
template<class TrialFES, class TestFES>
Rodin:: Assembly:: BilinearFormAssemblyInput(const TrialFES&,
const TestFES&,
FormLanguage:: List<Variational:: LocalBilinearFormIntegratorBase<decltype(std::declval<typename FormLanguage:: Traits<TrialFES>::ScalarType>()*std::declval<typename FormLanguage:: Traits<TestFES>::ScalarType>())>,
&,
FormLanguage:: List<Variational:: GlobalBilinearFormIntegratorBase<decltype(std::declval<typename FormLanguage:: Traits<TrialFES>::ScalarType>()*std::declval<typename FormLanguage:: Traits<TestFES>::ScalarType>())>,
&) -> BilinearFormAssemblyInput< TrialFES, TestFES >
Template argument deduction guide for BilinearFormAssemblyInput.