~corrado-maurini/dolfin/tao

« back to all changes in this revision

Viewing changes to dolfin/mesh/TetrahedronCell.h

  • Committer: corrado maurini
  • Date: 2012-12-18 12:16:08 UTC
  • mfrom: (6685.78.207 trunk)
  • Revision ID: corrado.maurini@upmc.fr-20121218121608-nk82ly9jgsld9u84
updating with trunk, fix uint in TAO solver and hacking the check for tao FindTAO.cmake

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
    TetrahedronCell() : CellType(tetrahedron, triangle) {}
45
45
 
46
46
    /// Return topological dimension of cell
47
 
    uint dim() const;
 
47
    std::size_t dim() const;
48
48
 
49
49
    /// Return number of entitites of given topological dimension
50
 
    uint num_entities(uint dim) const;
 
50
    std::size_t num_entities(std::size_t dim) const;
51
51
 
52
52
    /// Return number of vertices for entity of given topological dimension
53
 
    uint num_vertices(uint dim) const;
 
53
    std::size_t num_vertices(std::size_t dim) const;
54
54
 
55
55
    /// Return orientation of the cell
56
 
    uint orientation(const Cell& cell) const;
 
56
    std::size_t orientation(const Cell& cell) const;
57
57
 
58
58
    /// Create entities e of given topological dimension from vertices v
59
 
    void create_entities(std::vector<std::vector<uint> >& e, uint dim,
60
 
                         const uint* v) const;
 
59
    void create_entities(std::vector<std::vector<std::size_t> >& e, std::size_t dim,
 
60
                         const std::size_t* v) const;
61
61
 
62
62
    /// Regular refinement of cell
63
 
    void refine_cell(Cell& cell, MeshEditor& editor, uint& current_cell) const;
 
63
    void refine_cell(Cell& cell, MeshEditor& editor,
 
64
                     std::size_t& current_cell) const;
64
65
 
65
66
    /// Irregular refinement of cell
66
67
    void refine_cellIrregular(Cell& cell, MeshEditor& editor,
67
 
                              uint& current_cell, uint refinement_rule,
68
 
                              uint* marked_edges) const;
 
68
                              std::size_t& current_cell, std::size_t refinement_rule,
 
69
                              std::size_t* marked_edges) const;
69
70
 
70
71
    /// Compute volume of tetrahedron
71
72
    double volume(const MeshEntity& tetrahedron) const;
74
75
    double diameter(const MeshEntity& tetrahedron) const;
75
76
 
76
77
    /// Compute component i of normal of given facet with respect to the cell
77
 
    double normal(const Cell& cell, uint facet, uint i) const;
 
78
    double normal(const Cell& cell, std::size_t facet, std::size_t i) const;
78
79
 
79
80
    /// Compute normal of given facet with respect to the cell
80
 
    Point normal(const Cell& cell, uint facet) const;
 
81
    Point normal(const Cell& cell, std::size_t facet) const;
81
82
 
82
83
    /// Compute the area/length of given facet with respect to the cell
83
 
    double facet_area(const Cell& cell, uint facet) const;
 
84
    double facet_area(const Cell& cell, std::size_t facet) const;
84
85
 
85
86
    /// Order entities locally
86
87
    void order(Cell& cell,
87
 
               const std::vector<uint>& local_to_global_vertex_indices) const;
 
88
               const std::vector<std::size_t>& local_to_global_vertex_indices) const;
88
89
 
89
90
    /// Return description of cell type
90
91
    std::string description(bool plural) const;
92
93
  private:
93
94
 
94
95
    // Find local index of edge i according to ordering convention
95
 
    uint find_edge(uint i, const Cell& cell) const;
 
96
    std::size_t find_edge(std::size_t i, const Cell& cell) const;
96
97
 
97
98
  };
98
99