Pyramid#

A pyramid is a cone with a polygonal basis (Polygon, Triangle, Quadrangle, Parallelogram, Rectangle, or SquareGeo). Pyramid class inherits from Cone class.

Figure made with TikZ

Figure made with TikZ

As for cones, use parameters _basis and _apex. _basis parameter takes any polygonal object: Polygon, Triangle, Quadrangle, Parallelogram, Rectangle or SquareGeo . _apex parameter takes a point or a single value (in this case, it is like a 1D point).

Often a pyramid refers to a cone with quadrangular basis (as the finite element cell). So a pyramid may be also defined from 4 points (for quadrangular basis), using parameters _v1, _v2, _v3, _v4 instead of _basis, taking a point or a single value (in this case, it is like a 1D point).

_nnodes parameter can take one single value or a vector of 2 or \(n\) values ( Numbers object), where \(n\) is twice the number of edges of the basis. _hsteps parameter can take one real value or a vector of \(p\) real values (Reals object), where \(p\) is the number of points defining the trunk. If required, give names of main domain and side domains as explained in Geometry definition:

Pyramid p1(_basis=Quadrangle(_v1=Point(0.,0.,0.), _v2=Point(2.,0.,0.), _v3=Point(1.,1.,0.), _v4=Point(-1.,2.,0.)), _apex=Point(0.,0.,1.), _nnodes={20,20,20,20,10,10,10,10}, _domain_name="Omega", _side_names="Gamma");
Pyramid p2(_basis=Quadrangle(_v1=Point(0.,0.,0.), _v2=Point(2.,0.,0.), _v3=Point(1.,1.,0.), _v4=Point(-1.,2.,0.)), _apex=Point(0.,0.,1.), _nnodes={20,10}, _domain_name="Omega", _side_names="Gamma");
Pyramid p3(_v1=Point(0.,0.,0.), _v2=Point(2.,0.,0.), _v3=Point(1.,1.,0.), _v4=Point(-1.,2.,0.), _apex=Point(0.,0.,1.), _nnodes={20,10}, _domain_name="Omega", _side_names="Gamma");

These are 3 definitions of the same Pyramid object, explaining the ability to give 2 values for nnodes, instead of 8.

Let’s summarize information about geometrical keys on pyramids:

key(s)

authorized types

examples

_apex, _v1, _v2, _v3, _v4

Point

_apex=Point(0.,0.,0.)

_basis

Polygon, Triangle, Quadrangle , Parallelogram , Rectangle , SquareGeo

_basis=Triangle(...)