Parallelepiped#

To define a parallelepiped, give 4 vertices (namely \(p_1\), \(p_2\), \(p_4\) and \(p_5\)), defined as in the following figure :

Figure made with TikZ

Figure made with TikZ

There is a parameter for each of them: _v1 , _v2 , _v4 , and _v5 taking points or a single value (in this case, it is like a 1D point). _nnodes parameter can take one single value, an explicit list of 3 or 12 values or a Numbers object and _hsteps parameter can take one real value, an explicit list of 8 real values or a Reals object. If required, give names of main domain and side domains as explained in Geometry definition.

At last, give an additional argument: the number of octants to deal with (parameter _nboctants ). Let us explain this with the following figure:

Figure made with TikZ

Figure made with TikZ

Considering the center of the parallelepiped, and the associated trihedron, symbolized by black dashed arrows, the parallelepiped can be splitted into 8 parallelepipedic parts, corresponding to one octant. Octants having a numbering convention. When giving the number of octants, for instance 5, it means to build intersection of the parallelepiped with octants 1 to 5. The default value is 8, so that the whole parallelepiped is considered.

This is a way to define some specific geometries, such as:

  • the Fichera Parallelepiped (7 octants):

Figure made with TikZ

Figure made with TikZ

  • the thick L-shape (6 octants):

Figure made with TikZ

Figure made with TikZ

  • the parallelepiped with 5 octants:

Figure made with TikZ

Figure made with TikZ

  • the thin L-shape (3 octants):

Figure made with TikZ

Figure made with TikZ

Examples:

Point a(0.,0.,0.), b(4.,0.,0.), c(4.,2.,0.), d(0.,2.,0.),
      aa(0.,0.,1.), bb(4.,0.,1.), cc(4.,2.,1.), dd(0.,2.,1.);
Parallelepiped p1(_v1=a, _v2=b, _v4=d, _v5=aa,
                 _nnodes={40,20,40,20,40,20,40,20,10,10,10,10}, _domain_name="Omega");
Parallelepiped p2(_v1=a, _v2=b, _v4=d, _v5=aa, _nnodes={40, 20, 10}, _domain_name="Omega");

Both parallelepipeds of previous examples are identical. This explains the ability to give 3 or 12 values for _nnodes.

Let’s summarize information about geometrical keys on parallelepipeds:

key(s)

authorized types

examples

_v1 , _v2 , _v4 , _v5

Point

_v5=Point (0.,0.,0.)

_nboctants

single unsigned integer value between 1 and 8

_nboctants =3