Skip to content

Commit 718c60a

Browse files
committed
Add Elem::n_nodes_on_edge
1 parent 3c13146 commit 718c60a

26 files changed

+158
-0
lines changed

include/geom/cell_hex20.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,12 @@ class Hex20 final : public Hex
247247
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
248248
{ return this->_n_nodes_on_side_constant<Hex20>(s); }
249249

250+
/**
251+
* \returns 3. Every edge has two nodes.
252+
*/
253+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
254+
{ return this->_n_nodes_on_edge_constant<Hex20>(e); }
255+
250256
protected:
251257

252258
/**

include/geom/cell_hex27.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,12 @@ class Hex27 final : public Hex
265265
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
266266
{ return this->_n_nodes_on_side_constant<Hex27>(s); }
267267

268+
/**
269+
* \returns 3. Every edge has three nodes.
270+
*/
271+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
272+
{ return this->_n_nodes_on_edge_constant<Hex27>(e); }
273+
268274
protected:
269275

270276

include/geom/cell_hex8.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,12 @@ class Hex8 final : public Hex
222222
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
223223
{ return this->_n_nodes_on_side_constant<Hex8>(s); }
224224

225+
/**
226+
* \returns 2. Every edge has two nodes.
227+
*/
228+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
229+
{ return this->_n_nodes_on_edge_constant<Hex8>(e); }
230+
225231
protected:
226232

227233
/**

include/geom/cell_inf_hex16.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,9 @@ class InfHex16 final : public InfHex
242242
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
243243
{ return this->_n_nodes_on_side<InfHex16, 2>(s); }
244244

245+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
246+
{ return this->_n_nodes_on_edge_constant<InfHex16>(e) - ((e < 4) ? 0 : 1); }
247+
245248
protected:
246249

247250
/**

include/geom/cell_inf_hex18.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,9 @@ class InfHex18 final : public InfHex
257257
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
258258
{ return this->_n_nodes_on_side<InfHex18, 3>(s); }
259259

260+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
261+
{ return this->_n_nodes_on_edge_constant<InfHex18>(e) - ((e < 4) ? 0 : 1); }
262+
260263
protected:
261264

262265
/**

include/geom/cell_inf_hex8.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,12 @@ class InfHex8 final : public InfHex
195195
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
196196
{ return this->_n_nodes_on_side_constant<InfHex8>(s); }
197197

198+
/**
199+
* \returns 2. Every edge has two nodes.
200+
*/
201+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
202+
{ return this->_n_nodes_on_edge_constant<InfHex8>(e); }
203+
198204
protected:
199205

200206
/**

include/geom/cell_inf_prism12.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,9 @@ class InfPrism12 final : public InfPrism
233233
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
234234
{ return this->_n_nodes_on_side_constant<InfPrism12>(s); }
235235

236+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
237+
{ return this->_n_nodes_on_edge_constant<InfPrism12>(e) - ((e < 3) ? 0 : 1); }
238+
236239
protected:
237240

238241
/**

include/geom/cell_inf_prism6.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@ class InfPrism6 final : public InfPrism
191191
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
192192
{ return this->_n_nodes_on_side_constant<InfPrism6>(s) - ((s == 0) ? 1 : 0); }
193193

194+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
195+
{ return this->_n_nodes_on_edge_constant<InfPrism6>(e); }
196+
194197
protected:
195198

196199
/**

include/geom/cell_prism15.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,12 @@ class Prism15 final : public Prism
249249
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
250250
{ return _n_nodes_on_side<Prism15, 2>(s); }
251251

252+
/**
253+
* \returns 3. Every edge has three nodes.
254+
*/
255+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
256+
{ return this->_n_nodes_on_edge_constant<Prism15>(e); }
257+
252258
protected:
253259

254260
/**

include/geom/cell_prism18.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,12 @@ class Prism18 final : public Prism
267267
virtual unsigned int n_nodes_on_side(const unsigned short s) const override final
268268
{ return _n_nodes_on_side<Prism18, 3>(s); }
269269

270+
/**
271+
* \returns 3. Every edge has three nodes.
272+
*/
273+
virtual unsigned int n_nodes_on_edge(const unsigned short e) const override final
274+
{ return this->_n_nodes_on_edge_constant<Prism18>(e); }
275+
270276
protected:
271277

272278
/**

0 commit comments

Comments
 (0)