template<class TrialFES, class TestFES>
DenseProblem<TrialFES, TestFES, Math::Matrix<typename FormLanguage::Mult<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>, Math::Vector<typename FormLanguage::Traits<TestFES>::ScalarType>> class
General class to assemble linear systems with Math::
and Math::
types in a serial context.
Base classes
-
template<class Operator, class Vector, class Scalar>class ProblemBase<Math::Matrix<FormLanguage::Mult<FormLanguage::Traits<TrialFES>::ScalarType, FormLanguage::Traits<TestFES>::ScalarType>::Type>, Math::Vector<FormLanguage::Traits<TestFES>::ScalarType>, FormLanguage::Mult<FormLanguage::Traits<TrialFES>::ScalarType, FormLanguage::Traits<TestFES>::ScalarType>::Type>
- Base class for variational problem objects.
Constructors, destructors, conversion operators
- DenseProblem(TrialFunction<TrialFES>& u, TestFunction<TestFES>& v) constexpr
- Constructs an empty DenseProblem involving the trial function and the test function .
- DenseProblem(const DenseProblem& other) deleted
- Deleted copy constructor.
Public functions
- void operator=(const DenseProblem& other) deleted
- Deleted copy assignment operator.
- auto assemble() -> DenseProblem& override
- Assembles the underlying linear system to solve.
- auto getMassVector() -> VectorType& override
- auto getMassVector() const -> const VectorType& override
- auto getStiffnessOperator() -> OperatorType& override
- auto getStiffnessOperator() const -> const OperatorType& override
- auto copy() const -> DenseProblem* override noexcept
- Copies the object and returns a non-owning pointer to the copied object.
Function documentation
template<class TrialFES, class TestFES>
Rodin:: Variational:: DenseProblem<TrialFES, TestFES, Math:: Matrix<typename FormLanguage:: Mult<typename FormLanguage:: Traits<TrialFES>:: ScalarType, typename FormLanguage:: Traits<TestFES>:: ScalarType>:: Type>, Math:: Vector<typename FormLanguage:: Traits<TestFES>:: ScalarType>><TrialFES, TestFES>:: DenseProblem(TrialFunction<TrialFES>& u,
TestFunction<TestFES>& v) constexpr
Constructs an empty DenseProblem involving the trial function and the test function .
Parameters | |
---|---|
u in/out | Trial function |
v in/out | Test function |
template<class TrialFES, class TestFES>
VectorType& Rodin:: Variational:: DenseProblem<TrialFES, TestFES, Math:: Matrix<typename FormLanguage:: Mult<typename FormLanguage:: Traits<TrialFES>:: ScalarType, typename FormLanguage:: Traits<TestFES>:: ScalarType>:: Type>, Math:: Vector<typename FormLanguage:: Traits<TestFES>:: ScalarType>><TrialFES, TestFES>:: getMassVector() override
Returns | Reference to the mass vector. |
---|
This must be called only after assemble() has been called.
template<class TrialFES, class TestFES>
const VectorType& Rodin:: Variational:: DenseProblem<TrialFES, TestFES, Math:: Matrix<typename FormLanguage:: Mult<typename FormLanguage:: Traits<TrialFES>:: ScalarType, typename FormLanguage:: Traits<TestFES>:: ScalarType>:: Type>, Math:: Vector<typename FormLanguage:: Traits<TestFES>:: ScalarType>><TrialFES, TestFES>:: getMassVector() const override
Returns | Constant reference to the mass vector. |
---|
This must be called only after assemble() has been called.
template<class TrialFES, class TestFES>
OperatorType& Rodin:: Variational:: DenseProblem<TrialFES, TestFES, Math:: Matrix<typename FormLanguage:: Mult<typename FormLanguage:: Traits<TrialFES>:: ScalarType, typename FormLanguage:: Traits<TestFES>:: ScalarType>:: Type>, Math:: Vector<typename FormLanguage:: Traits<TestFES>:: ScalarType>><TrialFES, TestFES>:: getStiffnessOperator() override
Returns | Reference to the stiffness operator. |
---|
This must be called only after assemble() has been called.
template<class TrialFES, class TestFES>
const OperatorType& Rodin:: Variational:: DenseProblem<TrialFES, TestFES, Math:: Matrix<typename FormLanguage:: Mult<typename FormLanguage:: Traits<TrialFES>:: ScalarType, typename FormLanguage:: Traits<TestFES>:: ScalarType>:: Type>, Math:: Vector<typename FormLanguage:: Traits<TestFES>:: ScalarType>><TrialFES, TestFES>:: getStiffnessOperator() const override
Returns | Constant reference to the stiffness operator. |
---|
This must be called only after assemble() has been called.
template<class TrialFES, class TestFES>
DenseProblem* Rodin:: Variational:: DenseProblem<TrialFES, TestFES, Math:: Matrix<typename FormLanguage:: Mult<typename FormLanguage:: Traits<TrialFES>:: ScalarType, typename FormLanguage:: Traits<TestFES>:: ScalarType>:: Type>, Math:: Vector<typename FormLanguage:: Traits<TestFES>:: ScalarType>><TrialFES, TestFES>:: copy() const override noexcept
Copies the object and returns a non-owning pointer to the copied object.
Returns | Non-owning pointer to the copied object. |
---|