Flow123d  release_2.2.0-23-g01927c6
Classes | Macros
mesh.h File Reference
#include <vector>
#include <mpi.h>
#include "mesh/mesh_types.hh"
#include "mesh/nodes.hh"
#include "mesh/edges.h"
#include "mesh/neighbours.h"
#include "mesh/boundaries.h"
#include "mesh/intersection.hh"
#include "mesh/partitioning.hh"
#include "mesh/region_set.hh"
#include "input/input_type_forward.hh"
#include "input/accessors_forward.hh"
#include "system/exceptions.hh"
#include "mesh/side_impl.hh"
#include "mesh/element_impls.hh"
#include "mesh/neighbours_impl.hh"

Go to the source code of this file.

Classes

class  BoundarySegment
 
class  Mesh
 

Macros

#define ELM   0
 
#define BC   1
 
#define NODE   2
 
#define MESH_CRITICAL_VOLUME   1.0E-12
 
#define FOR_NODES(_mesh_, i)
 
#define NODE_FULL_ITER(_mesh_, i)   (_mesh_)->node_vector.full_iter(i)
 
#define NODE_FULL_ITER_NULL(_mesh_)   NodeFullIter((_mesh_)->node_vector)
 
#define ELEM_FULL_ITER(_mesh_, i)   (_mesh_)->element.full_iter(i)
 
#define FOR_NODE_ELEMENTS(i, j)   for((j)=0;(j)<(i)->n_elements();(j)++)
 
#define FOR_NODE_SIDES(i, j)   for((j)=0;(j)<(i)->n_sides;(j)++)
 
#define FOR_ELEMENTS(_mesh_, __i)
 
#define ELEMENT_FULL_ITER(_mesh_, i)   (_mesh_)->element.full_iter(i)
 
#define ELEMENT_FULL_ITER_NULL(_mesh_)   ElementFullIter((_mesh_)->element)
 
#define FOR_BOUNDARIES(_mesh_, i)
 
#define BOUNDARY_FULL_ITER(_mesh_, i)   (_mesh_)->boundary.full_iter(i)
 
#define BOUNDARY_NULL(_mesh_)   BoundaryFullIter((_mesh_)->boundary)
 
#define FOR_EDGES(_mesh_, __i)
 
#define FOR_SIDES(_mesh_, it)
 
#define FOR_SIDE_NODES(i, j)   for((j)=0;(j)<(i)->n_nodes;(j)++)
 
#define FOR_NEIGHBOURS(_mesh_, it)
 
#define FOR_NEIGH_ELEMENTS(i, j)   for((j)=0;(j)<(i)->n_elements;(j)++)
 
#define FOR_NEIGH_SIDES(i, j)   for((j)=0;(j)<(i)->n_sides;(j)++)
 

Detailed Description

 * Copyright (C) 2015 Technical University of Liberec. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Definition in file mesh.h.

Macro Definition Documentation

#define BC   1

Definition at line 45 of file mesh.h.

#define BOUNDARY_FULL_ITER (   _mesh_,
 
)    (_mesh_)->boundary.full_iter(i)

Macro for conversion form Iter to FullIter for boundaries.

Definition at line 452 of file mesh.h.

#define BOUNDARY_NULL (   _mesh_)    BoundaryFullIter((_mesh_)->boundary)

Macro to get "NULL" BoundaryFullIter.

Definition at line 458 of file mesh.h.

#define ELEM_FULL_ITER (   _mesh_,
 
)    (_mesh_)->element.full_iter(i)

Macro for conversion form Iter to FullIter for elements.

Definition at line 78 of file mesh.h.

#define ELEMENT_FULL_ITER (   _mesh_,
 
)    (_mesh_)->element.full_iter(i)

Macro for conversion form Iter to FullIter for elements.

Definition at line 434 of file mesh.h.

#define ELEMENT_FULL_ITER_NULL (   _mesh_)    ElementFullIter((_mesh_)->element)

Macro to get "NULL" ElementFullIter.

Definition at line 440 of file mesh.h.

#define ELM   0

Definition at line 44 of file mesh.h.

#define FOR_BOUNDARIES (   _mesh_,
 
)
Value:
for( std::vector<Boundary>::iterator i= (_mesh_)->boundary_.begin(); \
i != (_mesh_)->boundary_.end(); \
++i)

Definition at line 444 of file mesh.h.

#define FOR_EDGES (   _mesh_,
  __i 
)
Value:
for( vector<Edge>::iterator __i = (_mesh_)->edges.begin(); \
__i !=(_mesh_)->edges.end(); \
++__i)

Provides for statement to iterate over the Edges of the Mesh. see FOR_ELEMENTS

Definition at line 465 of file mesh.h.

#define FOR_ELEMENTS (   _mesh_,
  __i 
)
Value:
for( ElementFullIter __i( (_mesh_)->element.begin() ); \
__i != (_mesh_)->element.end(); \
++__i)

Provides for statement to iterate over the Elements of the Mesh. The parameter is FullIter local variable of the cycle, so it need not be declared before. Macro assume that variable Mesh *mesh; is declared and points to a valid Mesh structure.

Definition at line 426 of file mesh.h.

#define FOR_NEIGH_ELEMENTS (   i,
 
)    for((j)=0;(j)<(i)->n_elements;(j)++)

Definition at line 481 of file mesh.h.

#define FOR_NEIGH_SIDES (   i,
 
)    for((j)=0;(j)<(i)->n_sides;(j)++)

Definition at line 482 of file mesh.h.

#define FOR_NEIGHBOURS (   _mesh_,
  it 
)
Value:
for( std::vector<Neighbour>::iterator it = (_mesh_)->vb_neighbours_.begin(); \
(it)!= (_mesh_)->vb_neighbours_.end(); ++it)

Definition at line 477 of file mesh.h.

#define FOR_NODE_ELEMENTS (   i,
 
)    for((j)=0;(j)<(i)->n_elements();(j)++)

Definition at line 82 of file mesh.h.

#define FOR_NODE_SIDES (   i,
 
)    for((j)=0;(j)<(i)->n_sides;(j)++)

Definition at line 83 of file mesh.h.

#define FOR_NODES (   _mesh_,
 
)
Value:
for( NodeFullIter i( (_mesh_)->node_vector.begin() ); \
i != (_mesh_)->node_vector.end(); \
++i)

Provides for statement to iterate over the Nodes of the Mesh. The parameter is FullIter local variable of the cycle, so it need not be declared before. Macro assume that variable Mesh *mesh; is declared and points to a valid Mesh structure.

Definition at line 58 of file mesh.h.

#define FOR_SIDE_NODES (   i,
 
)    for((j)=0;(j)<(i)->n_nodes;(j)++)

Definition at line 474 of file mesh.h.

#define FOR_SIDES (   _mesh_,
  it 
)
Value:
FOR_ELEMENTS((_mesh_), ele) \
for(SideIter it = ele->side(0); it->el_idx() < ele->n_sides(); ++it)
#define FOR_ELEMENTS(_mesh_, __i)
Definition: mesh.h:426

Definition at line 470 of file mesh.h.

#define MESH_CRITICAL_VOLUME   1.0E-12

This parameter limits volume of elements from below.

Definition at line 51 of file mesh.h.

#define NODE   2

Definition at line 46 of file mesh.h.

#define NODE_FULL_ITER (   _mesh_,
 
)    (_mesh_)->node_vector.full_iter(i)

Macro for conversion form Iter to FullIter for nodes.

Definition at line 66 of file mesh.h.

#define NODE_FULL_ITER_NULL (   _mesh_)    NodeFullIter((_mesh_)->node_vector)

Macro to get "NULL" ElementFullIter.

Definition at line 72 of file mesh.h.