hp1D::RefineOrRaise< F > Class Template Reference
Refines element or raises its polynomial degree. More...
#include <hpExtension.hh>
Public Member Functions | |
virtual void | operator() (const concepts::Cell &cell) throw (concepts::MissingFeature) |
Application operator. More... | |
virtual void | operator() (const concepts::Element< F > &elm) throw (concepts::MissingFeature) |
Application operator. More... | |
RefineOrRaise (const concepts::Vector< F > &solution, const Real theta, concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 1 > > &spc) | |
Constructor. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Attributes | |
concepts::Array< F > | coeff_ |
Elementwise coefficients of the shape functions. More... | |
concepts::Array< F > | legendre_ |
Legendre coefficients. More... | |
const concepts::Vector< F > & | solution_ |
Vector of the variable to plot. More... | |
concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 1 > > & | spc_ |
Space. More... | |
const Real | theta_ |
Decision parameter. More... | |
Detailed Description
template<typename F>
class hp1D::RefineOrRaise< F >
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.
Definition at line 40 of file hpExtension.hh.
Constructor & Destructor Documentation
◆ RefineOrRaise()
hp1D::RefineOrRaise< F >::RefineOrRaise | ( | const concepts::Vector< F > & | solution, |
const Real | theta, | ||
concepts::AdaptiveSpace< Real, concepts::AdaptiveAdjustP< 1 > > & | spc | ||
) |
Constructor.
- Parameters
-
solution Solution vector theta Decision parameter spc Space (is used for the refinements)
Member Function Documentation
◆ info()
|
protectedvirtualinherited |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Reimplemented in concepts::CellEdgeIntegral< F >, concepts::CellFaceIntegral< F >, concepts::CellIntegral< F >, concepts::PRefinement< F, dim >, concepts::HRefinement< F, dim >, hp3D::APrioriRefinement, hp2D::APrioriRefinement, graphics::VertexList, graphics::MatrixBaseElementFormulaCell< F, G >, graphics::MatrixCounterCell, graphics::BaseMeshCell, graphics::BaseFormulaCell< F, G >, graphics::BaseElementFormulaCell< F, G >, graphics::BaseDataCell< F, G >, graphics::BaseOutputCell< F >, graphics::BaseOutputCell< typename concepts::Realtype< F >::type >, and graphics::BaseOutputCell< Real >.
◆ operator()() [1/2]
|
inlinevirtual |
Application operator.
This application operator has to be overloaded to post process a mesh.
- Parameters
-
cell Current cell
Implements concepts::CellPostprocess< F >.
Definition at line 53 of file hpExtension.hh.
◆ operator()() [2/2]
|
virtual |
Application operator.
This application operator has to be overloaded to post process a space.
- Parameters
-
elm Current element
Implements concepts::CellPostprocess< F >.
Member Data Documentation
◆ coeff_
|
private |
Elementwise coefficients of the shape functions.
Definition at line 57 of file hpExtension.hh.
◆ legendre_
|
private |
Legendre coefficients.
Definition at line 59 of file hpExtension.hh.
◆ solution_
|
private |
Vector of the variable to plot.
Definition at line 61 of file hpExtension.hh.
◆ spc_
|
private |
Definition at line 63 of file hpExtension.hh.
◆ theta_
|
private |
Decision parameter.
Definition at line 65 of file hpExtension.hh.
The documentation for this class was generated from the following file:
- hp1D/hpExtension.hh