Hermes2D  2.0
Hermes::Hermes2D::OGProjection< Scalar > Class Template Reference

Class for (global) orthogonal projecting. If the projection is not necessary (if a solution belongs to the space), then its solution vector is used. More...

#include <ogprojection.h>

+ Inheritance diagram for Hermes::Hermes2D::OGProjection< Scalar >:

Classes

class  ProjectionMatrixFormVol
 Jacobian matrix (same as stiffness matrix since projections are linear). More...
 
class  ProjectionVectorFormVol
 Residual. More...
 

Public Member Functions

void project_global (const Space< Scalar > *space, MatrixFormVol< Scalar > *custom_projection_jacobian, VectorFormVol< Scalar > *custom_projection_residual, Scalar *target_vec)
 
void project_global (const Space< Scalar > *space, MeshFunction< Scalar > *source_meshfn, Scalar *target_vec, ProjNormType proj_norm=HERMES_UNSET_NORM)
 
void project_global (const Space< Scalar > *space, Solution< Scalar > *source_sln, Solution< Scalar > *target_sln, ProjNormType proj_norm=HERMES_UNSET_NORM)
 Wrapper that delivers a Solution instead of coefficient vector.
 
void project_global (Hermes::vector< const Space< Scalar > * > spaces, Hermes::vector< MeshFunction< Scalar > * > source_meshfns, Scalar *target_vec, Hermes::vector< ProjNormType > proj_norms=Hermes::vector< ProjNormType >())
 Wrapper for multiple source MeshFunctions that delivers coefficient vector.
 
void project_global (Hermes::vector< const Space< Scalar > * > spaces, Hermes::vector< Solution< Scalar > * > source_slns, Scalar *target_vec, Hermes::vector< ProjNormType > proj_norms=Hermes::vector< ProjNormType >())
 Wrapper for multiple source Solutions that delivers coefficient vector.
 
void project_global (Hermes::vector< const Space< Scalar > * > spaces, Hermes::vector< Solution< Scalar > * > source_slns, Hermes::vector< Solution< Scalar > * > target_slns, Hermes::vector< ProjNormType > proj_norms=Hermes::vector< ProjNormType >(), bool delete_old_mesh=false)
 

Protected Member Functions

void project_internal (const Space< Scalar > *space, WeakForm< Scalar > *proj_wf, Scalar *target_vec)
 

Protected Attributes

int ndof
 

Detailed Description

template<typename Scalar>
class Hermes::Hermes2D::OGProjection< Scalar >

Class for (global) orthogonal projecting. If the projection is not necessary (if a solution belongs to the space), then its solution vector is used.

Definition at line 37 of file forms.h.

Member Function Documentation

template<typename Scalar >
void Hermes::Hermes2D::OGProjection< Scalar >::project_global ( const Space< Scalar > *  space,
MatrixFormVol< Scalar > *  custom_projection_jacobian,
VectorFormVol< Scalar > *  custom_projection_residual,
Scalar *  target_vec 
)

Main functionality is in the protected method project_internal(). This is a wrapper that delivers a Solution instead of a coefficient vector.

Definition at line 54 of file ogprojection.cpp.

Referenced by Hermes::Hermes2D::Adapt< Scalar >::calc_err_exact(), Hermes::Hermes2D::NewtonSolver< Scalar >::solve(), Hermes::Hermes2D::PicardSolver< Scalar >::solve(), and Hermes::Hermes2D::NewtonSolver< Scalar >::solve_keep_jacobian().

template<typename Scalar >
void Hermes::Hermes2D::OGProjection< Scalar >::project_internal ( const Space< Scalar > *  space,
WeakForm< Scalar > *  proj_wf,
Scalar *  target_vec 
)
protected

Underlying function for global orthogonal projection. Not intended for the user. NOTE: the weak form here must be a special projection weak form, which is different from the weak form of the PDE. If you supply a weak form of the PDE, the PDE will just be solved.

Definition at line 30 of file ogprojection.cpp.


The documentation for this class was generated from the following files: