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(...)