diff --git a/Mesh/CMakeLists.txt b/Mesh/CMakeLists.txt index ca6135364..565237150 100644 --- a/Mesh/CMakeLists.txt +++ b/Mesh/CMakeLists.txt @@ -63,6 +63,7 @@ set(headers TPZCompElHDivDuplConnects.h TPZCompElHDivDuplConnectsBound.h TPZCompElUnitaryLagrange.h + SPZPeriodicData.h ) set(sources diff --git a/Mesh/SPZPeriodicData.h b/Mesh/SPZPeriodicData.h new file mode 100644 index 000000000..7238dec3e --- /dev/null +++ b/Mesh/SPZPeriodicData.h @@ -0,0 +1,24 @@ +#ifndef _SPZPERIODICDATA_H_ +#define _SPZPERIODICDATA_H_ + +#include "pzmanvector.h" +#include "tpzautopointer.h" + +#include + + +/** @brief Structure for storing periodic information + All three structures have the same indexing + @note For gmsh generated meshes, they are sorted by dimension + of periodic entities (points, lines, surfaces) +*/ +struct SPZPeriodicData{ + //! list of dependent periodic ids + TPZManVector dep_mat_ids; + //! list of independent periodic ids + TPZManVector indep_mat_ids; + //! list of maps of periodic nodes INDICES for the pairs (dep_id,indep_id) + TPZManVector>,100> nodes_map; + //note that for periodic meshes node->Index() != node->Id() for dependent nodes +}; +#endif /* _SPZPERIODICDATA_H_ */