|
| L2Space (const Mesh *mesh, int p_init=0, Shapeset *shapeset=NULL) |
|
virtual Scalar * | get_bc_projection (SurfPos *surf_pos, int order, EssentialBoundaryCondition< Scalar > *bc) |
|
virtual void | get_element_assembly_list (Element *e, AsmList< Scalar > *al, unsigned int first_dof=0) const |
| Obtains an assembly list for the given element.
|
|
virtual void | copy (const Space< Scalar > *space, Mesh *new_mesh) |
| Copy from Space instance 'space'.
|
|
| Space (const Mesh *mesh, Shapeset *shapeset, EssentialBCs< Scalar > *essential_bcs) |
|
void | init () |
| Common code for constructors.
|
|
virtual bool | isOkay () const |
| State querying helpers.
|
|
std::string | getClassName () const |
| Get class name, for the purpose of messaging.
|
|
virtual | ~Space () |
| Destructor.
|
|
virtual void | set_element_order (int id, int order) |
|
virtual void | set_element_orders (int *elem_orders) |
| Sets polynomial order to all elements.
|
|
int | get_element_order (int id) const |
| Returns element polynomial order.
|
|
void | set_uniform_order (int order, std::string marker=HERMES_ANY) |
|
void | adjust_element_order (int order_change, int min_order) |
|
void | adjust_element_order (int horizontal_order_change, int vertical_order_change, unsigned int horizontal_min_order, unsigned int vertical_min_order) |
| Version for quads.
|
|
void | unrefine_all_mesh_elements (bool keep_initial_refinements=true) |
|
void | update_element_orders_after_refinement () |
| Updates element orders when the underlying mesh has been refined.
|
|
int | get_num_dofs () const |
| Returns the number of basis functions contained in the space.
|
|
Mesh * | get_mesh () const |
|
void | set_mesh (Mesh *mesh) |
| Sets a (new) mesh and calls assign_dofs().
|
|
void | set_mesh_seq (int seq) |
| Sets a (new) mesh seq, and mesh_seq.
|
|
void | set_essential_bcs (EssentialBCs< Scalar > *essential_bcs) |
| Sets the boundary condition.
|
|
EssentialBCs< Scalar > * | get_essential_bcs () const |
| Obtains an boundary conditions.
|
|
void | update_essential_bc_values () |
|
Shapeset * | get_shapeset () const |
|
bool | save (const char *filename) const |
| Saves this space into a file.
|
|
virtual void | set_element_order_internal (int id, int order) |
|
virtual int | assign_dofs (int first_dof=0, int stride=1) |
| Builds basis functions and assigns DOF numbers to them. More...
|
|
void | distribute_orders (Mesh *mesh, int *parents) |
| Sets polynomial orders to elements created by Mesh::regularize() using "parents".
|
|
int | get_max_dof () const |
| Returns the DOF number of the last basis function.
|
|
bool | is_up_to_date () const |
| Returns true if the space is ready for computation, false otherwise.
|
|
void | get_boundary_assembly_list (Element *e, int surf_num, AsmList< Scalar > *al, unsigned int first_dof=0) const |
| Obtains an edge assembly list (contains shape functions that are nonzero on the specified edge).
|
|
void | set_uniform_order_internal (int order, int marker) |
|
void | free () |
|
int | get_vertex_functions_count () |
|
int | get_edge_functions_count () |
| Returns the total (global) number of edge functions.
|
|
int | get_bubble_functions_count () |
| Returns the total (global) number of bubble functions.
|
|
template<> |
void | init () |
|
template<> |
void | init () |
|
template<> |
void | free () |
|
template<> |
void | free () |
|
template<> |
| Space (const Mesh *mesh, Shapeset *shapeset, EssentialBCs< double > *essential_bcs) |
|
template<> |
| Space (const Mesh *mesh, Shapeset *shapeset, EssentialBCs< std::complex< double > > *essential_bcs) |
|
void | check () const |
| Method to handle the state.
|
|
| XMLParsing () |
| Constructor.
|
|
void | set_validation (bool to_set) |
| Set to validate / not to validate.
|
|
|
virtual int | get_edge_order (Element *e, int edge) const |
| Internal. Obtains the order of an edge, according to the minimum rule.
|
|
virtual void | set_shapeset (Shapeset *shapeset) |
| Sets the shapeset.
|
|
virtual SpaceType | get_type () const |
|
void | init (Shapeset *shapeset, int p_init) |
| Common code for the constructors.
|
|
virtual void | resize_tables () |
| Updates internal node and element tables. More...
|
|
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< Scalar > *al) const |
|
virtual void | get_boundary_assembly_list_internal (Element *e, int surf_num, AsmList< Scalar > *al) const |
|
virtual void | get_bubble_assembly_list (Element *e, AsmList< Scalar > *al) const |
|
virtual int | get_edge_order_internal (Node *en) const |
|
void | update_orders_recurrent (Element *e, int order) |
|
virtual void | reset_dof_assignment () |
| Resets assignment of DOF to an unassigned state.
|
|
void | precalculate_projection_matrix (int nv, double **&mat, double *&p) |
|
void | update_edge_bc (Element *e, SurfPos *surf_pos) |
|
virtual void | update_constraints () |
|
virtual void | post_assign () |
|
void | free_bc_data () |
|
int | get_seq () const |
| Internal. Used by DiscreteProblem to detect changes in the space.
|
|
|
static int | get_num_dofs (Hermes::vector< const Space< Scalar > * > spaces) |
| Returns the number of basis functions contained in the spaces.
|
|
static int | get_num_dofs (Hermes::vector< Space< Scalar > * > spaces) |
|
static int | get_num_dofs (const Space< Scalar > *space) |
| Returns the number of basis functions contained in the space.
|
|
static int | get_num_dofs (Space< Scalar > *space) |
|
static Space< Scalar > * | load (const char *filename, Mesh *mesh, bool validate, EssentialBCs< Scalar > *essential_bcs=NULL, Shapeset *shapeset=NULL) |
| Loads a space from a file.
|
|
static int | assign_dofs (Hermes::vector< Space< Scalar > * > spaces) |
| Assings the degrees of freedom to all Spaces in the Hermes::vector.
|
|
static void | update_essential_bc_values (Hermes::vector< Space< Scalar > * > spaces, double time) |
|
static void | update_essential_bc_values (Space< Scalar > *s, double time) |
|
static Node * | get_mid_edge_vertex_node (Element *e, int i, int j) |
|
static const int | H2D_UNASSIGNED_DOF = -2 |
| DOF which was not assigned yet.
|
|
static const int | H2D_CONSTRAINED_DOF = -1 |
| DOF which is constrained.
|
|
template<typename Scalar>
class Hermes::Hermes2D::L2Space< Scalar >
L2Space represents a space of Scalar functions with discontinuities along mesh edges.
Typical usage:
...
// Initialize space.
int globalPolynomialOrder = 4;
Hermes::Hermes2D::L2Space<double> space(&mesh, &bcs, globalPolynomialOrder);
Definition at line 43 of file space.h.
template<typename Scalar >
Updates internal node and element tables.
Since meshes only contain geometric information, the Space class keeps two tables with FEM-related information. The first one, 'ndata', contains DOF numbers and other things for each node. The second table, 'edata', holds element orders and bubble DOF numbers. Both tables are directly indexed by the node and element IDs. The function resize_tables() is called to check whether the tables are large enough to contain all node and element id's, and to reallocate them if not.
Reimplemented from Hermes::Hermes2D::Space< Scalar >.
Definition at line 88 of file space_l2.cpp.