Hermes2D
3.0
|
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>
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 |
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:
Definition at line 43 of file weakform.h.
void Hermes::Hermes2D::Form< Scalar >::set_area | ( | std::string | area | ) |
get-set methods areas
Definition at line 326 of file weakform.cpp.
Referenced by Hermes::Hermes2D::MatrixFormDG< Scalar >::MatrixFormDG(), and Hermes::Hermes2D::VectorFormDG< Scalar >::VectorFormDG().
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.
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.
|
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().
|
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().
|
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.