H1Space Class Reference

H1Space represents a space of continuous scalar functions over a domain (mesh). More...

#include <space_h1.h>

Inherits Space.

List of all members.

Classes

struct  EdgeInfo
struct  FixedVertex

Public Member Functions

 H1Space (Mesh *mesh=NULL, Shapeset *shapeset=NULL)
virtual ~H1Space ()
void fix_vertex (int id, scalar value=0.0)
 Removes the degree of freedom from a vertex node with the given id (i.e., its number in the mesh file) and makes it part of the Dirichlet lift with the given value. This is a special-purpose function which normally should not be needed. It is intended for fixing the solution of a system which would otherwise be singular and for some reason a standard Dirichlet condition (with non-zero measure on the boundary) is not suitable.
virtual Spacedup (Mesh *mesh) const
 Creates a copy of the space. For internal use (see RefSystem).
virtual int get_type () const
 Internal. Return type of this space (H1 = 0, Hcurl = 1, Hdiv = 2, L2 = 3).

Protected Member Functions

virtual void assign_vertex_dofs ()
virtual void assign_edge_dofs ()
virtual void assign_bubble_dofs ()
virtual void get_vertex_assembly_list (Element *e, int iv, AsmList *al)
virtual void get_edge_assembly_list_internal (Element *e, int ie, AsmList *al)
virtual scalarget_bc_projection (EdgePos *ep, int order)
void output_component (BaseComponent *&current, BaseComponent *&last, BaseComponent *min, Node *&edge, BaseComponent *&edge_dofs)
BaseComponentmerge_baselists (BaseComponent *l1, int n1, BaseComponent *l2, int n2, Node *edge, BaseComponent *&edge_dofs, int &ncomponents)
 This is a documentation for sadfs.
void update_constrained_nodes (Element *e, EdgeInfo *ei0, EdgeInfo *ei1, EdgeInfo *ei2, EdgeInfo *ei3)
virtual void update_constraints ()
 Called by Space to update constraining relationships between shape functions due to hanging nodes in the mesh. As this is space-specific, this function is reimplemented in H1Space and HcurlSpace.
 H2D_API_USED_STL_VECTOR (FixedVertex)
bool is_fixed_vertex (int id) const
virtual void post_assign ()
 Auxiliary function the descendants may implement to perform additional tasks after the DOFs have been assigned.

Protected Attributes

std::vector< FixedVertexfixed_vertices

Static Protected Attributes

static double ** h1_proj_mat = NULL
static double * h1_chol_p = NULL
static int h1_proj_ref = 0

Detailed Description

H1Space represents a space of continuous scalar functions over a domain (mesh).


Constructor & Destructor Documentation

H1Space::H1Space ( Mesh mesh = NULL,
Shapeset shapeset = NULL 
)
H1Space::~H1Space (  )  [virtual]

Member Function Documentation

void H1Space::assign_bubble_dofs (  )  [protected, virtual]

Implements Space.

void H1Space::assign_edge_dofs (  )  [protected, virtual]

Implements Space.

void H1Space::assign_vertex_dofs (  )  [protected, virtual]

Implements Space.

Space * H1Space::dup ( Mesh mesh  )  const [virtual]

Creates a copy of the space. For internal use (see RefSystem).

Implements Space.

void H1Space::fix_vertex ( int  id,
scalar  value = 0.0 
)

Removes the degree of freedom from a vertex node with the given id (i.e., its number in the mesh file) and makes it part of the Dirichlet lift with the given value. This is a special-purpose function which normally should not be needed. It is intended for fixing the solution of a system which would otherwise be singular and for some reason a standard Dirichlet condition (with non-zero measure on the boundary) is not suitable.

scalar * H1Space::get_bc_projection ( EdgePos ep,
int  order 
) [protected, virtual]

Implements Space.

void H1Space::get_edge_assembly_list_internal ( Element e,
int  ie,
AsmList al 
) [protected, virtual]

Implements Space.

virtual int H1Space::get_type (  )  const [inline, virtual]

Internal. Return type of this space (H1 = 0, Hcurl = 1, Hdiv = 2, L2 = 3).

Implements Space.

void H1Space::get_vertex_assembly_list ( Element e,
int  iv,
AsmList al 
) [protected, virtual]

Implements Space.

H1Space::H2D_API_USED_STL_VECTOR ( FixedVertex   )  [protected]
bool H1Space::is_fixed_vertex ( int  id  )  const [inline, protected]
Space::BaseComponent * H1Space::merge_baselists ( BaseComponent l1,
int  n1,
BaseComponent l2,
int  n2,
Node edge,
BaseComponent *&  edge_dofs,
int &  ncomponents 
) [protected]

This is a documentation for sadfs.

void H1Space::output_component ( BaseComponent *&  current,
BaseComponent *&  last,
BaseComponent min,
Node *&  edge,
BaseComponent *&  edge_dofs 
) [inline, protected]
void H1Space::post_assign (  )  [protected, virtual]

Auxiliary function the descendants may implement to perform additional tasks after the DOFs have been assigned.

Reimplemented from Space.

void H1Space::update_constrained_nodes ( Element e,
EdgeInfo ei0,
EdgeInfo ei1,
EdgeInfo ei2,
EdgeInfo ei3 
) [protected]
void H1Space::update_constraints (  )  [protected, virtual]

Called by Space to update constraining relationships between shape functions due to hanging nodes in the mesh. As this is space-specific, this function is reimplemented in H1Space and HcurlSpace.

Reimplemented from Space.


Member Data Documentation

std::vector<FixedVertex> H1Space::fixed_vertices [protected]
double * H1Space::h1_chol_p = NULL [static, protected]
double ** H1Space::h1_proj_mat = NULL [static, protected]
int H1Space::h1_proj_ref = 0 [static, protected]

The documentation for this class was generated from the following files:
Generated on Sat Jun 5 15:17:43 2010 for Hermes2D Library: Real Version by  doxygen 1.6.3