/usr/include/libmesh/mesh_generation.h is in libmesh-dev 0.7.1-2ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | // $Id: mesh_generation.h 4066 2010-10-27 16:45:23Z roystgnr $
// The libMesh Finite Element Library.
// Copyright (C) 2002-2008 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
// This library 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
// Lesser General Public License for more details.
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#ifndef __mesh_generation_h__
#define __mesh_generation_h__
// C++ Includes -----------------------------------
#include <vector>
// Local Includes -----------------------------------
// #include "libmesh_common.h" // needed for Real
#include "libmesh.h"
#include "enum_elem_type.h"
//#include "point.h"
namespace libMesh
{
// forward declarations
class UnstructuredMesh;
// ------------------------------------------------------------
// MeshTools::Generation namespace
namespace MeshTools
{
/**
* Tools for \p Mesh generation.
*
* \author Benjamin S. Kirk
* \date 2004
* \version $Revision: 4066 $
*/
namespace Generation
{
/**
* Builds a \f$ nx \times ny \times nz \f$ (elements) cube.
* Defaults to a unit cube (or line in 1D, square in 2D),
* but the dimensions can be specified through the optional
* arguments.
*
* Boundary ids are set to be equal to the side indexing on a
* master hex
*/
void build_cube (UnstructuredMesh& mesh,
const unsigned int nx=0,
const unsigned int ny=0,
const unsigned int nz=0,
const Real xmin=0., const Real xmax=1.,
const Real ymin=0., const Real ymax=1.,
const Real zmin=0., const Real zmax=1.,
const ElemType type=INVALID_ELEM,
const bool gauss_lobatto_grid=false);
/**
* A specialized \p build_cube() for 0D meshes. The resulting
* mesh is a single NodeElem suitable for ODE tests
*/
void build_point (UnstructuredMesh& mesh,
const ElemType type=INVALID_ELEM,
const bool gauss_lobatto_grid=false);
/**
* A specialized \p build_cube() for 1D meshes
*
* Boundary ids are set to be equal to the side indexing on a
* master edge
*/
void build_line (UnstructuredMesh& mesh,
const unsigned int nx,
const Real xmin=0., const Real xmax=1.,
const ElemType type=INVALID_ELEM,
const bool gauss_lobatto_grid=false);
/**
* A specialized \p build_cube() for 2D meshes.
*
* Boundary ids are set to be equal to the side indexing on a
* master quad
*/
void build_square (UnstructuredMesh& mesh,
const unsigned int nx,
const unsigned int ny,
const Real xmin=0., const Real xmax=1.,
const Real ymin=0., const Real ymax=1.,
const ElemType type=INVALID_ELEM,
const bool gauss_lobatto_grid=false);
/**
* Meshes a spherical or mapped-spherical domain.
*/
void build_sphere (UnstructuredMesh& mesh,
const Real rad=1,
const unsigned int nr=2,
const ElemType type=INVALID_ELEM);
} // end namespace Meshtools::Generation
} // end namespace MeshTools
} // namespace libMesh
#endif // #define __mesh_generation_h__
|