|
Feel++ 0.91.0
|
#include <gmsh.hpp>
Classes | |
| struct | Factory |
Public Types | |
| enum | DomainType { GMSH_REFERENCE_DOMAIN = 0, GMSH_REAL_DOMAIN } |
Public Member Functions | |
Constructors, destructor | |
| Gmsh (int nDim=1, int nOrder=GMSH_ORDER_ONE) | |
| Gmsh (Gmsh const &__g) | |
| virtual | ~Gmsh () |
Accessors | |
| int | dimension () const |
| GMSH_ORDER | order () const |
| std::string | version () const |
| std::string | prefix () const |
| std::vector< std::pair< double, double > > const & | boundingBox () const |
| double | xmin () const |
| double | xmax () const |
| double | ymin () const |
| double | ymax () const |
| double | zmin () const |
| double | zmax () const |
| double const & | h () const |
| std::string | description () const |
| bool | addMidPoint () const |
| bool | usePhysicalNames () const |
Mutators | |
| Gmsh & | ref () |
| Gmsh & | h (double _h) |
| void | setOrder (int o) |
| void | setVersion (std::string version) |
| void | setDescription (std::string const &desc) |
| void | setPrefix (std::string const &name) |
| virtual void | setX (std::pair< double, double > const &x) |
| virtual void | setY (std::pair< double, double > const &y) |
| virtual void | setZ (std::pair< double, double > const &z) |
| virtual void | setReferenceDomain () |
| the gmsh generator to generate a reference domain | |
| virtual void | setCharacteristicLength (double _h) |
set the characteristic length to h | |
| void | setAddMidPoint (bool add) |
| void | usePhysicalNames (bool option) |
Methods | |
| std::string | generateLine (std::string const &__name, double __h) |
| std::string | generateCube (std::string const &__name, double __h) |
| std::string | generateCircle (std::string const &__name, double __h) |
| std::string | generateSquare (std::string const &__name, double __h) |
| std::string | generate (std::string const &name) const |
| std::string | generate (std::string const &name, std::string const &geo, bool const forceRebuild=false, bool const parametric=false, bool const modifGeo=true) const |
| std::string | refine (std::string const &name, int level=1, bool const parametric=false) const |
| std::string | preamble () const |
| std::string | getDescriptionFromFile (std::string const &file) const |
Protected Member Functions | |
| virtual std::string | getDescription () const |
| bool | generateGeo (std::string const &name, std::string const &geo, bool const modifGeo=true) const |
Protected Attributes | |
| mpi::communicator | M_comm |
| int | M_dimension |
| mesh dimension | |
| int | M_order |
| mesh order | |
| std::string | M_version |
| std::string | M_name |
| std::string | M_desc |
|
std::vector< std::pair< double, double > > | M_I |
| bounding box | |
| double | M_h |
| characteristic length | |
| bool | M_addmidpoint |
| mid point | |
| bool | M_usePhysicalNames |
| add physical names to msh files | |
Operator overloads | |
| Gmsh & | operator= (Gmsh const &__g) |
| static boost::shared_ptr< Gmsh > | New (po::variables_map const &vm) |
| static boost::shared_ptr< Gmsh > | New (std::string const &shape, uint16_type d=2, uint16_type o=1, std::string const &ct="simplex") |
Gmsh Mesh Generator.
The Gmsh class helps with the generation of meshes using the program gmsh. Typically one would generate a .geo std::string for example and pass it to generate() along with the prefix name of the .geo and .msh files to create/generate.
std::ostringstream ostr; std::string fname; ostr << "h=" << 0.1 << ";\n" << "Point(1) = {0,0,0,h};\n" << "Point(2) = {1,0,0,h};\n" << "Point(3) = {1,1,0,h};\n" << "Point(4) = {0,1,0,h};\n" << "Line(1) = {1,2};\n" << "Line(2) = {2,3};\n" << "Line(3) = {3,4};\n" << "Line(4) = {4,1};\n" << "Line Loop(4) = {1,2,3,4};\n" << "Plane Surface(5) = {4};\n" << "Physical Line(10) = {1,3};\n" << "Physical Line(20) = {2,4};\n" << "Physical Surface(6) = {5};\n"; Gmsh gmsh; // generate the \c .geo file using \c ostr and // call gmsh to generate the \c msh file from the \c .geo file fname = gmsh.generate( "triangle", ostr.str() ); // fname can now be passed to \c ImporterGmsh for example mesh_type mesh; ImporterGmsh<mesh_type> import( fname ); mesh->accept( import );
| bool Feel::Gmsh::addMidPoint | ( | ) | const [inline] |
add the mid point of the domain
References M_addmidpoint.
| std::vector<std::pair<double,double> > const& Feel::Gmsh::boundingBox | ( | ) | const [inline] |
References M_I.
| std::string Feel::Gmsh::description | ( | ) | const [inline] |
References getDescription().
| int Feel::Gmsh::dimension | ( | ) | const [inline] |
| std::string Feel::Gmsh::generate | ( | std::string const & | name | ) | const |
generate a Gmsh msh file from name
| std::string Feel::Gmsh::generate | ( | std::string const & | name, |
| std::string const & | geo, | ||
| bool const | forceRebuild = false, |
||
| bool const | parametric = false, |
||
| bool const | modifGeo = true |
||
| ) | const |
| name | filename prefix to create the geo and msh file from geo |
| geo | gmsh geometry description |
| forceRebuild | if true, rebuild the mesh even if geofile is unchanged if false, rebuild only if geo file has changed. Useful if generateGeo has been called outside or if gmsh lybrary has changed. |
gmsh (with the .msh extension) | bool Feel::Gmsh::generateGeo | ( | std::string const & | name, |
| std::string const & | geo, | ||
| bool const | modifGeo = true |
||
| ) | const [protected] |
| name | filename prefix to create the geo |
| geo | gmsh geometry description |
| virtual std::string Feel::Gmsh::getDescription | ( | ) | const [inline, protected, virtual] |
sublass must provide the geo description
Reimplemented in Feel::GmshEllipsoidDomain.
Referenced by description().
| std::string Feel::Gmsh::getDescriptionFromFile | ( | std::string const & | file | ) | const |
file in a std::string | Gmsh& Feel::Gmsh::h | ( | double | _h | ) | [inline] |
set the characteristic length
| h | the characteristic length |
References setCharacteristicLength().
| double const& Feel::Gmsh::h | ( | ) | const [inline] |
References M_h.
assignment operator
| __g | another Gmsh object instance |
References M_addmidpoint, M_dimension, M_order, and M_usePhysicalNames.
| GMSH_ORDER Feel::Gmsh::order | ( | ) | const [inline] |
get the order of the elements of the mesh
References M_order.
| std::string Feel::Gmsh::preamble | ( | ) | const |
| std::string Feel::Gmsh::prefix | ( | ) | const [inline] |
| Gmsh& Feel::Gmsh::ref | ( | ) | [inline] |
the gmsh generator to generate a reference domain
Gmsh gmsh; gmsh = gmsh.ref();
References setReferenceDomain().
| std::string Feel::Gmsh::refine | ( | std::string const & | name, |
| int | level = 1, |
||
| bool const | parametric = false |
||
| ) | const |
refine the mesh uniformly by splitting
| name | name of the gmsh mesh file |
| level | the number of refinements |
Referenced by Feel::BOOST_PARAMETER_FUNCTION().
| void Feel::Gmsh::setAddMidPoint | ( | bool | add | ) | [inline] |
if add is true, set M_addmidpoint to true, false otherwise
References M_addmidpoint.
| void Feel::Gmsh::setDescription | ( | std::string const & | desc | ) | [inline] |
set the description of the geometry
| void Feel::Gmsh::setOrder | ( | int | o | ) | [inline] |
set the order of the elements of the mesh it can be either GMSH_ORDER_ONE (order 1/linear) or GMSH_ORDER_TWO(order 2/quadratic)
| o | order of the elements |
References M_order.
| void Feel::Gmsh::setPrefix | ( | std::string const & | name | ) | [inline] |
set the prefix of the Gmsh files
| void Feel::Gmsh::setVersion | ( | std::string | version | ) | [inline] |
set the file format version
References version().
| bool Feel::Gmsh::usePhysicalNames | ( | ) | const [inline] |
References M_usePhysicalNames.
| void Feel::Gmsh::usePhysicalNames | ( | bool | option | ) | [inline] |
Set the use of physical names to describe the boundaries of the domain: if option is set to true then the generator will generate a PhysicalNames Section and replace numerical id by strings for the Physical boundaries
References M_usePhysicalNames.
| std::string Feel::Gmsh::version | ( | ) | const [inline] |
Referenced by setVersion().
1.7.4