Rodin/Assembly/OpenMP.h file

Declarations in OpenMP.h.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Assembly
Global assembly of discrete operators.

Classes

template<class Scalar, class Form>
class Rodin::Assembly::OpenMP<Math::SparseMatrix<Scalar>, Form>
Assembly of a named bilinear form into a sparse matrix over OpenMP threads.
template<>
class Rodin::Assembly::OpenMPIteration<Geometry::Mesh<Context::Local>>
OpenMP-based parallel mesh iteration for multi-threaded assembly.
template<class Solution, class TrialFES, class TestFES>
class Rodin::Assembly::OpenMP<std::vector<Math::SparseTriplet<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>, Variational::BilinearForm<Solution, TrialFES, TestFES, std::vector<Math::SparseTriplet<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>>>
OpenMP-based parallel assembly for bilinear forms.
template<class Solution, class TrialFES, class TestFES>
class Rodin::Assembly::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 Solution, class TrialFES, class TestFES>
class Rodin::Assembly::OpenMP<Math::Matrix<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>, Variational::BilinearForm<Solution, TrialFES, TestFES, Math::Matrix<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>>
OpenMP bilinear form assembly into a dense matrix.
template<class FES>
class Rodin::Assembly::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 Scalar, class Solution, class FES, class ValueDerived>
class Rodin::Assembly::OpenMP<IndexMap<Scalar>, Variational::DirichletBC<Variational::TrialFunction<Solution, FES>, Variational::FunctionBase<ValueDerived>>>
OpenMP value Dirichlet boundary condition assembly.
template<class LinearSystem, class TrialFunction, class TestFunction>
class Rodin::Assembly::OpenMP<LinearSystem, Variational::Problem<LinearSystem, TrialFunction, TestFunction>>
OpenMP single-field problem assembly.
template<class LinearSystem, class U1, class U2, class U3, class... Us>
class Rodin::Assembly::OpenMP<LinearSystem, Variational::Problem<LinearSystem, U1, U2, U3, Us...>>
OpenMP mixed problem assembly.
template<class Scalar, class Sol1, class FES1, class Derived2, class FES2, Variational::ShapeFunctionSpaceType Sp>
class Rodin::Assembly::OpenMP<IndexMap<std::pair<IndexArray, Math::Vector<Scalar>>>, Variational::DirichletBC<Variational::TrialFunction<Sol1, FES1>, Variational::ShapeFunctionBase<Derived2, FES2, Sp>>>
OpenMP assembler for the identification Dirichlet BC u = A(v).