Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   Version 1.0.5new_solver
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads

Mesh geometry definion. More...

#include <mesh.hpp>

Inheritance diagram for Mesh:
Geometry MeshScalarField MeshVectorField EpotField

Public Member Functions

 Mesh ()
 Default constructor for mesh definition. More...
 
 Mesh (geom_mode_e geom_mode, Int3D size, Vec3D origo, double h)
 Constructor for mesh definition. More...
 
 Mesh (std::istream &is)
 Constructoer for loading mesh from a stream is. More...
 
 ~Mesh ()
 Destructor. More...
 
void reset (geom_mode_e geom_mode, Int3D size, Vec3D origo, double h)
 Reset mesh definition. More...
 
geom_mode_e geom_mode (void) const
 Returns geometry mode. More...
 
uint32_t dim (void) const
 Returns number of dimensions in geometry. More...
 
Int3D size (void) const
 Returns size array of geometry. More...
 
uint32_t size (int i) const
 Returns size of solid mesh in direction i. More...
 
uint32_t nodecount (void) const
 Returns number of nodes in the mesh. More...
 
Vec3D origo (void) const
 Returns origo vector of geometry. More...
 
double origo (int i) const
 Returns i-th component of vector origo. More...
 
Vec3D max (void) const
 Returns vector pointing to the last mesh point opposite of origo. More...
 
double max (int i) const
 Returns i-th component of vector pointing to the last mesh point opposite of origo. More...
 
double h (void) const
 Returns mesh cell size. More...
 
double div_h (void) const
 Returns reciprocal of mesh cell size (1/h). More...
 
Int3D closest_node (Vec3D x) const
 Returns node closest to location x. More...
 
Int3D mesh_number (Vec3D x) const
 Returns node, which contains x. More...
 
Vec3D coord_of_node (Int3D n) const
 Returns coordinates of node i. More...
 
void save (std::ostream &os) const
 Saves geometry data to stream os. More...
 
bool operator== (const Mesh &m) const
 Equality. More...
 
bool operator!= (const Mesh &m) const
 Non-equality. More...
 
void debug_print (std::ostream &os) const
 Print debugging information to stream os. More...
 

Protected Attributes

geom_mode_e _geom_mode
 Geometry mode More...
 
Int3D _size
 Size of mesh. More...
 
Vec3D _origo
 Location of mesh point (0,0,0) [m]. More...
 
Vec3D _max
 Location of mesh point (size[0]-1,size[1]-1,size[2]-1) [m]. More...
 
double _h
 Length of mesh step [m]. More...
 
double _div_h
 Reciprocal of length of mesh step [1/m]. More...
 

Detailed Description

Mesh geometry definion.

Class contains mesh geometry definition. It stores geometry mode (geom_mode), number of mesh nodes in each direction (size), the mesh cell size (h) and the locations of mesh node (0,0,0) and (size[0]-1,size[1]-1,size[2]-1) (known as origo and max). The max point is internally calculated. Other parameters are given when Mesh is constructed.

Mesh is to be used as a base class in all classes, which store or process some kind of mesh data.

Constructor & Destructor Documentation

◆ Mesh() [1/3]

Mesh::Mesh ( )

Default constructor for mesh definition.

Sets geometry mode to MODE3D, mesh cell size h to 1, mesh size size to (0,0,0) and origo origo to (0,0,0).

◆ Mesh() [2/3]

Mesh::Mesh ( geom_mode_e  geom_mode,
Int3D  size,
Vec3D  origo,
double  h 
)

Constructor for mesh definition.

Sets geometry mode, mesh cell size h, mesh size size and origo origo.

◆ Mesh() [3/3]

Mesh::Mesh ( std::istream &  is)

Constructoer for loading mesh from a stream is.

◆ ~Mesh()

Mesh::~Mesh ( )
inline

Destructor.

Member Function Documentation

◆ closest_node()

Int3D Mesh::closest_node ( Vec3D  x) const

Returns node closest to location x.

Calculated as

floor((x[i]-origo(i))/h() + 0.5)
double h(void) const
Returns mesh cell size.
Definition: mesh.hpp:146
Vec3D origo(void) const
Returns origo vector of geometry.
Definition: mesh.hpp:128

for each component

◆ coord_of_node()

Vec3D Mesh::coord_of_node ( Int3D  n) const

Returns coordinates of node i.

Calculated as

origo(i)+n[i]*h()

for each component

◆ debug_print()

void Mesh::debug_print ( std::ostream &  os) const

Print debugging information to stream os.

◆ dim()

uint32_t Mesh::dim ( void  ) const

Returns number of dimensions in geometry.

◆ div_h()

double Mesh::div_h ( void  ) const
inline

Returns reciprocal of mesh cell size (1/h).

◆ geom_mode()

geom_mode_e Mesh::geom_mode ( void  ) const
inline

Returns geometry mode.

◆ h()

double Mesh::h ( void  ) const
inline

Returns mesh cell size.

◆ max() [1/2]

double Mesh::max ( int  i) const
inline

Returns i-th component of vector pointing to the last mesh point opposite of origo.

◆ max() [2/2]

Vec3D Mesh::max ( void  ) const
inline

Returns vector pointing to the last mesh point opposite of origo.

◆ mesh_number()

Int3D Mesh::mesh_number ( Vec3D  x) const

Returns node, which contains x.

Calculated as

floor((x[i]-origo(i))/h())

for each component

◆ nodecount()

uint32_t Mesh::nodecount ( void  ) const
inline

Returns number of nodes in the mesh.

◆ operator!=()

bool Mesh::operator!= ( const Mesh m) const

Non-equality.

◆ operator==()

bool Mesh::operator== ( const Mesh m) const

Equality.

Allows small inequality.

◆ origo() [1/2]

double Mesh::origo ( int  i) const
inline

Returns i-th component of vector origo.

◆ origo() [2/2]

Vec3D Mesh::origo ( void  ) const
inline

Returns origo vector of geometry.

◆ reset()

void Mesh::reset ( geom_mode_e  geom_mode,
Int3D  size,
Vec3D  origo,
double  h 
)

Reset mesh definition.

◆ save()

void Mesh::save ( std::ostream &  os) const

Saves geometry data to stream os.

◆ size() [1/2]

uint32_t Mesh::size ( int  i) const
inline

Returns size of solid mesh in direction i.

◆ size() [2/2]

Int3D Mesh::size ( void  ) const
inline

Returns size array of geometry.

Member Data Documentation

◆ _div_h

double Mesh::_div_h
protected

Reciprocal of length of mesh step [1/m].

◆ _geom_mode

geom_mode_e Mesh::_geom_mode
protected

Geometry mode

◆ _h

double Mesh::_h
protected

Length of mesh step [m].

◆ _max

Vec3D Mesh::_max
protected

Location of mesh point (size[0]-1,size[1]-1,size[2]-1) [m].

◆ _origo

Vec3D Mesh::_origo
protected

Location of mesh point (0,0,0) [m].

◆ _size

Int3D Mesh::_size
protected

Size of mesh.


The documentation for this class was generated from the following files:


Reference manual for Ion Beam Simulator 1.0.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.