Hermes2D  3.0
Hermes::Hermes2D::Form< Scalar > Class Template Reference

Abstract, base class for any form - i.e. integral in the weak formulation of (a system of) PDE
By default, the form is initialized with the following natural attributes:
More...

#include <weakform.h>

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

Public Member Functions

 Form (int i=0)
 Constructor with coordinates.
 
void set_area (std::string area)
 
void set_areas (std::vector< std::string > areas)
 
std::vector< std::string > getAreas () const
 
void set_ext (MeshFunctionSharedPtr< Scalar > ext)
 
void set_u_ext_fn (UExtFunctionSharedPtr< Scalar > ext)
 
void set_ext (std::vector< MeshFunctionSharedPtr< Scalar > > ext)
 
void set_u_ext_fn (std::vector< UExtFunctionSharedPtr< Scalar > > ext)
 
std::vector
< MeshFunctionSharedPtr
< Scalar > > 
get_ext () const
 
void setScalingFactor (double scalingFactor)
 scaling factor
 

Public Attributes

unsigned int i
 

Protected Member Functions

void set_weakform (WeakForm< Scalar > *wf)
 Set pointer to a WeakForm + handling of internal data.
 
double get_current_stage_time () const
 

Protected Attributes

std::vector< std::string > areas
 Markers of the areas where this form will be assembled.
 
std::vector< int > areas_internal
 Internal - this structure is being filled anew with every assembling.
 
bool assembleEverywhere
 
int u_ext_offset
 
unsigned int previous_iteration_space_index
 
std::vector
< MeshFunctionSharedPtr
< Scalar > > 
ext
 External solutions.
 
std::vector
< UExtFunctionSharedPtr
< Scalar > > 
u_ext_fn
 
WeakForm< Scalar > * wf
 

Friends

class WeakForm< Scalar >
 
class RungeKutta< Scalar >
 
class DiscreteProblem< Scalar >
 
class DiscreteProblemDGAssembler< Scalar >
 
class DiscreteProblemIntegrationOrderCalculator< Scalar >
 
class DiscreteProblemSelectiveAssembler< Scalar >
 
class DiscreteProblemThreadAssembler< Scalar >
 

Detailed Description

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

Abstract, base class for any form - i.e. integral in the weak formulation of (a system of) PDE
By default, the form is initialized with the following natural attributes:

  • no external functions.
  • assembled over any (parameter 'HERMES_ANY') element/boundary marker.
    Internal.

Definition at line 43 of file weakform.h.

Member Function Documentation

template<typename Scalar >
void Hermes::Hermes2D::Form< Scalar >::set_area ( std::string  area)
template<typename Scalar >
void Hermes::Hermes2D::Form< Scalar >::set_ext ( MeshFunctionSharedPtr< Scalar >  ext)

external functions - dual functionality with the overall WeakForm. For Agros, this approach is better in some way, for e.g. Euler equations, the other one (for the whole WeakForm) is faster. External functions. Set one external function.

Definition at line 350 of file weakform.cpp.

template<typename Scalar >
void Hermes::Hermes2D::Form< Scalar >::set_ext ( std::vector< MeshFunctionSharedPtr< Scalar > >  ext)

External functions. Set more external functions.

Definition at line 357 of file weakform.cpp.

Member Data Documentation

template<typename Scalar>
bool Hermes::Hermes2D::Form< Scalar >::assembleEverywhere
protected

Internal - this structure is being filled anew with every assembling. True iff areas contain HERMES_ANY - meaning that this form represents an integral over the whole domain (whole boundary in case of surface forms).

Definition at line 314 of file weakform.h.

Referenced by Hermes::Hermes2D::DiscreteProblemSelectiveAssembler< Scalar >::form_to_be_assembled().

template<typename Scalar>
unsigned int Hermes::Hermes2D::Form< Scalar >::previous_iteration_space_index
protected

When dealing with nonlinear problems of multiple equations, sometimes the nonlinearity has to access different quantity previous iterations. This selector servers for that purpose - according to this, the correct one will be selected - see e.g.DefaultJacobianDiffusion class. Defaults to 'i' for VectorForm and 'j' for MatrixForm. This can be changed in derived forms.

Definition at line 325 of file weakform.h.

Referenced by Hermes::Hermes2D::MatrixForm< Scalar >::MatrixForm(), Hermes::Hermes2D::MatrixFormDG< Scalar >::MatrixFormDG(), and Hermes::Hermes2D::VectorForm< Scalar >::VectorForm().

template<typename Scalar>
int Hermes::Hermes2D::Form< Scalar >::u_ext_offset
protected

External solutions for this form will start with u_ext[u_ext_offset] where u_ext[] are external solutions coming to the assembling procedure via the external coefficient vector.

Definition at line 320 of file weakform.h.


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