|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
raviartthomas/localinterpolation.hh
Go to the documentation of this file.
57 struct RaviartThomasLocalInterpolationBasis< RaviartThomasLocalFiniteElement< id, Domain, Range, dim, 0 > >
65 explicit RaviartThomasLocalInterpolationBasis ( unsigned int orientations ) : orientations_( orientations ) {}
67 void trace ( int facet, const FaceDomainType& x, std::vector< std::pair< int, RangeFieldType > >& basis ) const
73 void interior ( const DomainType& x, std::vector< std::pair< int, RangeType > >& basis ) const {}
75 constexpr auto size ( int codim ) const -> std::size_t { assert( codim < 2 ); return (codim == 0) ? 0 : 1; }
79 auto sign ( int facet ) const -> RangeFieldType { return (orientations_ & (1u << facet)) ? -1.0 : 1.0; }
86 struct RaviartThomasLocalInterpolationBasis< RaviartThomasLocalFiniteElement< Dune::GeometryTypes::simplex(2).id(), Domain, Range, 2, 1 > >
94 explicit RaviartThomasLocalInterpolationBasis ( unsigned int orientations ) : orientations_( orientations ) {}
96 void trace ( int facet, const FaceDomainType& x, std::vector< std::pair< int, RangeFieldType > >& basis ) const
111 constexpr auto size ( int codim ) const -> std::size_t { assert( codim < 2 ); return (codim == 0) ? 2 : 2; }
116 auto sign ( int facet ) const -> RangeFieldType { return (orientations_ & (1u << facet)) ? -1.0 : 1.0; }
123 struct RaviartThomasLocalInterpolationBasis< RaviartThomasLocalFiniteElement< Dune::GeometryTypes::cube( 2 ).id(), Domain, Range, 2, 1 > >
131 explicit RaviartThomasLocalInterpolationBasis ( unsigned int orientations ) : orientations_( orientations ) {}
133 void trace ( int facet, const FaceDomainType& x, std::vector< std::pair< int, RangeFieldType > >& basis ) const
150 constexpr auto size ( int codim ) const -> std::size_t { assert( codim < 2 ); return (codim == 0) ? 4 : 2; }
154 auto sign ( int facet ) const -> RangeFieldType { return (orientations_ & (1u << facet)) ? -1.0 : 1.0; }
161 struct RaviartThomasLocalInterpolationBasis< RaviartThomasLocalFiniteElement< Dune::GeometryTypes::cube( 3 ).id(), Domain, Range, 3, 1 > >
169 explicit RaviartThomasLocalInterpolationBasis ( unsigned int orientations ) : orientations_( orientations ) {}
171 void trace ( int facet, const FaceDomainType& x, std::vector< std::pair< int, RangeFieldType > >& basis ) const
224 constexpr auto size ( int codim ) const -> std::size_t { assert( codim < 2 ); return (codim == 0) ? 12 : 4; }
228 auto sign ( int facet ) const -> RangeFieldType { return (orientations_ & (1u << facet)) ? -1.0 : 1.0; }
245 using LocalInterpolationBasisType = Impl::RaviartThomasLocalInterpolationBasis< LocalFiniteElementType >;
256 using VolumeQuadratures = QuadratureRules< typename Geometry::ctype, ReferenceElementType::dimension >;
264 RaviartThomasLocalInterpolation ( const EntityType& entity, unsigned int orientations, int order = -1 )
277 assert( dofs.size() >= localBasis().size( 0 ) + referenceElement().size( 1 ) * localBasis().size( 1 ) );
295 assert( dofs.size() >= localBasis().size( 0 ) + referenceElement().size( 1 ) * localBasis().size( 1 ) );
301 for ( const auto& qp : getQuadrature( facet, (order_ == -1) ? localBasis().order( 1 ) : order_ ) )
320 assert( dofs.size() >= localBasis().size( 0 ) + referenceElement().size( 1 ) * localBasis().size( 1 ) );
325 for( const auto& qp : getQuadrature( facet, (order_ == -1) ? localBasis().order( 0 ) : order_ ) )
357 auto inverseTransformation ( const Point& p ) const { return InverseTransformationType( geometry(), p ); }
359 auto getQuadrature ( int order ) const { return VolumeQuadratures::rule( referenceElement().type(), order ); }
360 auto getQuadrature ( int facet, int order ) const { return FaceQuadratures::rule( referenceElement().type( facet, 1 ), order ); }
int id()
int size() const
static constexpr IntegralRange< std::decay_t< T > > range(T &&from, U &&to) noexcept
size_type dim() const
virtual void operator()()=0
constexpr int sign(const T &val)
constexpr Interior interior
IteratorRange< typename DF::DofIteratorType > dofs(DF &df)
Iterates over all DOFs.
Definition rangegenerators.hh:76
static const QuadratureRule & rule(const GeometryType &t, int p, QuadratureType::Enum qt=QuadratureType::GaussLegendre)
Definition piolatransformation.hh:48
InversePiolaTransformation< Geometry, dimRange > InverseTransformationType
Definition piolatransformation.hh:60
Definition raviartthomas/localinterpolation.hh:237
auto inverseTransformation(const Point &p) const
Definition raviartthomas/localinterpolation.hh:357
typename TransformationType::InverseTransformationType InverseTransformationType
Definition raviartthomas/localinterpolation.hh:251
auto getQuadrature(int order) const
Definition raviartthomas/localinterpolation.hh:359
typename EntityType::Geometry Geometry
Definition raviartthomas/localinterpolation.hh:247
auto getQuadrature(int facet, int order) const
Definition raviartthomas/localinterpolation.hh:360
typename GridPartType::template Codim< 0 >::EntityType EntityType
Definition raviartthomas/localinterpolation.hh:242
ReferenceElement< Geometry > ReferenceElementType
Definition raviartthomas/localinterpolation.hh:248
void trace(int facet, const LocalFunction &lf, LocalDofVector &dofs) const
Definition raviartthomas/localinterpolation.hh:293
void interiorTrace(int facet, const LocalFunction &lf, LocalDofVector &dofs) const
Definition raviartthomas/localinterpolation.hh:315
auto geometry() const -> const Geometry &
Definition raviartthomas/localinterpolation.hh:349
Impl::RaviartThomasLocalInterpolationBasis< LocalFiniteElementType > LocalInterpolationBasisType
Definition raviartthomas/localinterpolation.hh:245
auto transformation(const Point &p) const
Definition raviartthomas/localinterpolation.hh:354
PiolaTransformation< Geometry, dimRange > TransformationType
Definition raviartthomas/localinterpolation.hh:250
GridPart GridPartType
Definition raviartthomas/localinterpolation.hh:239
typename LocalInterpolationBasisType::RangeFieldType RangeFieldType
Definition raviartthomas/localinterpolation.hh:254
auto localBasis() const -> const LocalInterpolationBasisType &
Definition raviartthomas/localinterpolation.hh:351
typename LocalInterpolationBasisType::RangeType RangeType
Definition raviartthomas/localinterpolation.hh:253
void interior(const LocalFunction &lf, LocalDofVector &dofs) const
Definition raviartthomas/localinterpolation.hh:272
RaviartThomasLocalInterpolation(const EntityType &entity)
Definition raviartthomas/localinterpolation.hh:260
auto referenceElement() const -> const ReferenceElementType &
Definition raviartthomas/localinterpolation.hh:350
RaviartThomasLocalInterpolation(const EntityType &entity, unsigned int orientations, int order=-1)
Definition raviartthomas/localinterpolation.hh:264
bool hasInterior() const
Definition raviartthomas/localinterpolation.hh:346
T make_pair(T... args)
T resize(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8