ProblemBody
Accumulated bilinear forms, linear forms and boundary conditions of a Problem.
Defined in Rodin/Variational/ProblemBody.h
template < class Operator, class Vector, class Scalar> class ProblemBody;
Specializations
| Specialization | Description |
|---|---|
Operator, void, ScalarFull specializationtemplate < class Operator, class Scalar> class ProblemBody< Operator, void, Scalar>; | Problem body containing operator terms only. |
void, Vector, ScalarFull specializationtemplate < class Vector, class Scalar> class ProblemBody< void, Vector, Scalar>; | Problem body containing vector terms only. |
void, void, ScalarFull specializationtemplate < class Scalar> class ProblemBody< void, void, Scalar>; | Problem body containing only integrators and boundary conditions. |
Inherits from
| Base class | Responsibility |
|---|---|
ProblemBodyBase<Scalar>publicFull typeProblemBodyBase< Scalar > | Base class representing the body of a variational problem. |
Overrides
| Member | Base declaration |
|---|---|
copy() | ProblemBodyBase::copy |
Inherited interface
| Declared in | Members |
|---|---|
ProblemBodyBase | |
FormLanguage::Base | 3 members |
Identifiable |
Public types
- using VectorType = Vector
- Vector type of the linear system.
- using OperatorType = Operator
- Assembled operator type.
-
using VectorScalarType = typename FormLanguage::
Traits<std::remove_reference_t<VectorType>>:: ScalarType - Scalar value type of the vector.
-
using OperatorScalarType = typename FormLanguage::
Traits<std::remove_reference_t<OperatorType>>:: ScalarType - Scalar value type of the operator.
- using LinearFormBaseType = LinearFormBase<VectorType>
- Linear form base type.
- using BilinearFormBaseType = BilinearFormBase<OperatorType>
- Bilinear form base type.
-
using LinearFormBaseListType = FormLanguage::
List<LinearFormBaseType> - List type of linear forms.
-
using BilinearFormBaseListType = FormLanguage::
List<BilinearFormBaseType> - List type of bilinear forms.
- using LinearFormIntegratorBaseType = LinearFormIntegratorBase<VectorScalarType>
- Linear form integrator base type.
- using LocalBilinearFormIntegratorBaseType = LocalBilinearFormIntegratorBase<OperatorScalarType>
- Local bilinear form integrator base type.
- using GlobalBilinearFormIntegratorBaseType = GlobalBilinearFormIntegratorBase<OperatorScalarType>
- Global bilinear form integrator base type.
-
using LinearFormIntegratorBaseListType = FormLanguage::
List<LinearFormIntegratorBaseType> - List type of linear form integrators.
-
using LocalBilinearFormIntegratorBaseListType = FormLanguage::
List<LocalBilinearFormIntegratorBaseType> - List type of local bilinear form integrators.
-
using GlobalBilinearFormIntegratorBaseListType = FormLanguage::
List<GlobalBilinearFormIntegratorBaseType> - List type of global bilinear form integrators.
- using Parent = ProblemBodyBase<Scalar>
- Parent class type.
Constructors, destructors, conversion operators
- ProblemBody(const LocalBilinearFormIntegratorBaseType& bfi)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const GlobalBilinearFormIntegratorBaseType& bfi)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const LocalBilinearFormIntegratorBaseListType& bfis)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const GlobalBilinearFormIntegratorBaseListType& bfis)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const ProblemBody<OperatorType, void, Scalar>& pbo)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const BilinearFormBaseType& bf)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const ProblemBody<void, VectorType, Scalar>& pbv)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const ProblemBody<void, void, Scalar>& parent)
- Constructs the ProblemBody from the given arguments.
- ProblemBody(const ProblemBody& other)
- Copy constructor.
- ProblemBody(ProblemBody&& other)
- Move constructor.
Public functions
- auto operator=(const ProblemBody& other) -> ProblemBody&
- Copy assignment.
- auto operator=(ProblemBody&& other) -> ProblemBody&
- Move assignment.
- auto getLFs() -> LinearFormBaseListType&
- Gets the linear forms of the problem.
- auto getBFs() -> BilinearFormBaseListType&
- Gets the bilinear forms of the problem.
- auto getLFs() const -> const LinearFormBaseListType&
- Gets the linear forms of the problem.
- auto getBFs() const -> const BilinearFormBaseListType&
- Gets the bilinear forms of the problem.
- auto copy() const -> ProblemBody* override noexcept
- Polymorphically copies this problem body base.
Function documentation
ProblemBody(const LocalBilinearFormIntegratorBaseType& bfi)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| bfi | Bilinear form integrator. |
ProblemBody(const GlobalBilinearFormIntegratorBaseType& bfi)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| bfi | Bilinear form integrator. |
ProblemBody(const LocalBilinearFormIntegratorBaseListType& bfis)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| bfis | Bilinear form integrators. |
ProblemBody(const GlobalBilinearFormIntegratorBaseListType& bfis)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| bfis | Bilinear form integrators. |
ProblemBody(const ProblemBody<OperatorType, void, Scalar>& pbo)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| pbo | Problem body supplying the operator terms. |
ProblemBody(const BilinearFormBaseType& bf)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| bf | Bilinear form. |
ProblemBody(const ProblemBody<void, VectorType, Scalar>& pbv)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| pbv | Problem body supplying the vector terms. |
ProblemBody(const ProblemBody<void, void, Scalar>& parent)
Constructs the ProblemBody from the given arguments.
| Parameters | |
|---|---|
| parent | Problem body supplying the boundary conditions. |
ProblemBody& operator=(const ProblemBody& other)
Copy assignment.
| Parameters | |
|---|---|
| other | Object to copy from. |
| Returns | Reference to this object after the operation. |
ProblemBody& operator=(ProblemBody&& other)
Move assignment.
| Parameters | |
|---|---|
| other | Object to move from. |
| Returns | Reference to this object after the operation. |
LinearFormBaseListType& getLFs()
Gets the linear forms of the problem.
| Returns | The linear forms of the problem. |
|---|
BilinearFormBaseListType& getBFs()
Gets the bilinear forms of the problem.
| Returns | The bilinear forms of the problem. |
|---|
const LinearFormBaseListType& getLFs() const
Gets the linear forms of the problem.
| Returns | The linear forms of the problem. |
|---|
const BilinearFormBaseListType& getBFs() const
Gets the bilinear forms of the problem.
| Returns | The bilinear forms of the problem. |
|---|
ProblemBody* copy() const override noexcept
Polymorphically copies this problem body base.
| Returns | Pointer to a newly allocated copy; the caller owns the returned object. |
|---|