Refines element or raises its polynomial degree. More...
#include <hpExtension.hh>


Public Member Functions | |
| virtual void | operator() (const concepts::Element< F > &elm) throw (concepts::MissingFeature) |
| Application operator. | |
| virtual void | operator() (const concepts::Cell &cell) throw (concepts::MissingFeature) |
| Application operator. | |
| RefineOrRaise (const concepts::Vector< F > &solution, const Real theta, concepts::AdaptiveSpace< G, concepts::AdaptiveAdjustP< 3 > > &spc) | |
| Constructor. | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Member Functions | |
| bool | regression_ (concepts::Array< F > &coeff, const uint p) const |
| Makes the regression test. | |
| Real | transCoeff_ (const uint i, const uint j) const |
| Returns the ith coefficient of the jth shape function in a Legendre expansion. | |
Private Attributes | |
| concepts::Array< F > | coeff_ |
| Elementwise coefficients of the shape functions. | |
| concepts::Array< F > | legendre_ |
| Legendre coefficients. | |
| concepts::Array< F > | regr_ |
| Temporary space for the log linear regression. | |
| const concepts::Vector< F > & | solution_ |
| Vector of the variable to plot. | |
| concepts::AdaptiveSpace< G, concepts::AdaptiveAdjustP< 3 > > & | spc_ |
| Space. | |
| const Real | theta_ |
| Decision parameter. | |
Refines element or raises its polynomial degree.
The decision is based on a log linear regression to find out if the Legendre coefficients of the solution decrease exponentially.
The parameter theta is used to control this decision. If
is less than theta, the element's polynomial degree is raised, otherwise it is refined. m is the slope of the fitted line in the regression. This decision is taken anisotropic!
Definition at line 38 of file hpExtension.hh.
| hp3D::RefineOrRaise< F, G >::RefineOrRaise | ( | const concepts::Vector< F > & | solution, |
| const Real | theta, | ||
| concepts::AdaptiveSpace< G, concepts::AdaptiveAdjustP< 3 > > & | spc | ||
| ) |
Constructor.
| solution | Solution vector |
| theta | Decision parameter |
| spc | Space (is used for the refinements) |
| virtual std::ostream& concepts::CellPostprocess< F >::info | ( | std::ostream & | os | ) | const [protected, virtual, inherited] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Reimplemented in EvaluateEa_of_x, CellA_M_alpha_of_x, CellA_M_of_x_MC, graphics::BaseOutputCell< F >, graphics::BaseDataCell< F, G >, graphics::BaseElementFormulaCell< F, G >, graphics::BaseFormulaCell< F, G >, graphics::BaseMeshCell, graphics::VertexList, hp2D::APrioriRefinement, hp3D::APrioriRefinement, concepts::HRefinement< F, dim >, concepts::PRefinement< F, dim >, concepts::CellIntegral< F >, concepts::CellFaceIntegral< F >, concepts::CellEdgeIntegral< F >, graphics::BaseOutputCell< G >, and graphics::BaseOutputCell< Real >.
| virtual void hp3D::RefineOrRaise< F, G >::operator() | ( | const concepts::Cell & | cell | ) | throw (concepts::MissingFeature) [inline, virtual] |
Application operator.
This application operator has to be overloaded to post process a mesh.
| cell | Current cell |
Implements concepts::CellPostprocess< F >.
Definition at line 50 of file hpExtension.hh.
| virtual void hp3D::RefineOrRaise< F, G >::operator() | ( | const concepts::Element< F > & | elm | ) | throw (concepts::MissingFeature) [virtual] |
Application operator.
This application operator has to be overloaded to post process a space.
| elm | Current element |
Implements concepts::CellPostprocess< F >.
| bool hp3D::RefineOrRaise< F, G >::regression_ | ( | concepts::Array< F > & | coeff, |
| const uint | p | ||
| ) | const [private] |
Makes the regression test.
The coefficients in coeff are one dimensional, ie. 3D coefficients are collapsed to 1D using
before calling this function.
| coeff | 1D coefficients, will be overwritten |
| p | Polynomial degree |
| Real hp3D::RefineOrRaise< F, G >::transCoeff_ | ( | const uint | i, |
| const uint | j | ||
| ) | const [private] |
Returns the ith coefficient of the jth shape function in a Legendre expansion.
concepts::Array<F> hp3D::RefineOrRaise< F, G >::coeff_ [private] |
Elementwise coefficients of the shape functions.
Definition at line 54 of file hpExtension.hh.
concepts::Array<F> hp3D::RefineOrRaise< F, G >::legendre_ [private] |
Legendre coefficients.
Definition at line 56 of file hpExtension.hh.
concepts::Array<F> hp3D::RefineOrRaise< F, G >::regr_ [private] |
Temporary space for the log linear regression.
Definition at line 58 of file hpExtension.hh.
const concepts::Vector<F>& hp3D::RefineOrRaise< F, G >::solution_ [private] |
Vector of the variable to plot.
Definition at line 60 of file hpExtension.hh.
concepts::AdaptiveSpace<G, concepts::AdaptiveAdjustP<3> >& hp3D::RefineOrRaise< F, G >::spc_ [private] |
Definition at line 62 of file hpExtension.hh.
const Real hp3D::RefineOrRaise< F, G >::theta_ [private] |
Decision parameter.
Definition at line 64 of file hpExtension.hh.