Define the a model where the flux-part is formed from the symmetric gradient.
More...
|
template<class Entity , class Point > |
void | linearizedFlux (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const |
| Evaluate the linearized flux in local coordinates. More...
|
|
template<class Entity , class Point > |
void | fluxDivergence (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, const HessianRangeType &hessian, RangeType &result) const |
| Compute the point-wise value of the flux-part of the operator, meaning the part of the differential operator which is multiplied by the derivative of the test function. More...
|
|
void | setEntity (const Entity &entity) const |
|
bool | setIntersection (const Intersection &intersection) const |
|
void | flux (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, JacobianRangeType &flux) const |
|
void | source (const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const |
|
void | linearizedSource (const RangeType &uBar, const JacobianRangeType &DuBar, const Entity &entity, const Point &x, const RangeType &value, const JacobianRangeType &jacobian, RangeType &result) const |
|
void | robinFlux (const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const |
|
void | linearizedRobinFlux (const RangeType &uBar, const Intersection &intersection, const Point &x, const DomainType &unitOuterNormal, const RangeType &value, RangeType &result) const |
|
const ExpressionType & | expression () const |
| Return a const reference to the underlying expression.
|
|
ExpressionType & | expression () |
| Return a mutable reference to the underlying expression.
|
|
ExpressionType | operator* () const |
| Return a copy from of the underlying expression.
|
|
template<class FunctionSpace>
class Dune::ACFem::DeformationTensorOperatorParts< FunctionSpace >
Define the a model where the flux-part is formed from the symmetric gradient.
The flux implement the second-order contribution
\[
\int_\Omega (\partial_i U_j + \partial_j U_i)\,\partial_i\phi_j
=
\frac12 \int_\Omega (\partial_i U_j + \partial_j U_i)\,(\partial_i\phi_j+\partial_j\phi_i)
\]
Of course, the above formula uses sum-convention. This is indeed symmetric. Mind the factor 1/2. The DeformationTensorModel::fluxDivergence() takes the form
\[
-\partial_i(\partial_i U_\alpha + \partial_\alpha U_i) = -\Delta U_\alpha - \partial_\alpha\nabla\cdot U.
\]
So for divergence free vector fields this would only be the component-wise Laplacian.
- Note
- Obviously, this model make only sense for when dimDomain = dimRange = GridPart::dimensionworld. For GridPart::dimensionworld != GridPart::dimension one would also have to discuss what the symmetric gradient means in terms of tangential derivatives. In some sense also the vectorfield U would have to be tangential.