Flow123d  jenkins-Flow123d-windows-release-multijob-285
Classes | Macros
mesh.h File Reference

??? More...

#include <vector>
#include <mpi.h>
#include "mesh/mesh_types.hh"
#include "mesh/nodes.hh"
#include "mesh/elements.h"
#include "mesh/sides.h"
#include "mesh/edges.h"
#include "mesh/neighbours.h"
#include "mesh/boundaries.h"
#include "mesh/intersection.hh"
#include "mesh/partitioning.hh"
#include "input/input_type.hh"
#include "input/accessors.hh"
#include "boost/shared_ptr.hpp"
#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  ElementAccessor< spacedim >
 
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) 2007 Technical University of Liberec. All rights reserved.

Please make a following refer to Flow123d on your project site if you use the program for any purpose, especially for academic research: Flow123d, Research Centre: Advanced Remedial Technologies, Technical University of Liberec, Czech Republic

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.

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.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 021110-1307, USA.

$Id$ $Revision$ $LastChangedBy$ $LastChangedDate$

Definition in file mesh.h.

Macro Definition Documentation

#define BC   1

Definition at line 59 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 390 of file mesh.h.

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

Macro to get "NULL" BoundaryFullIter.

Definition at line 396 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 92 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 372 of file mesh.h.

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

Macro to get "NULL" ElementFullIter.

Definition at line 378 of file mesh.h.

#define ELM   0

Definition at line 58 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 382 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 403 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 364 of file mesh.h.

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

Definition at line 419 of file mesh.h.

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

Definition at line 420 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 415 of file mesh.h.

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

Definition at line 96 of file mesh.h.

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

Definition at line 97 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 72 of file mesh.h.

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

Definition at line 412 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:364

Definition at line 408 of file mesh.h.

#define MESH_CRITICAL_VOLUME   1.0E-12

This parameter limits volume of elements from below.

Definition at line 65 of file mesh.h.

#define NODE   2

Definition at line 60 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 80 of file mesh.h.

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

Macro to get "NULL" ElementFullIter.

Definition at line 86 of file mesh.h.