diff --git a/doc/Mainpage.dox b/doc/Mainpage.dox index 29e5aa72b4a1d5e28f1cf093d2510cd622360ceb..b31a3a182fe3934b774ff486b71e419753505dc6 100644 --- a/doc/Mainpage.dox +++ b/doc/Mainpage.dox @@ -34,6 +34,11 @@ all the basic data strcutures and concepts of the framework. - \ref tutorial_lbm01 \n A full LBM simulation is built. +\section TechDetails Technical Details + +- \ref TechDetailsPe \n + Technical Details about the pe physics module. + \section cite Please cite us If you use waLBerla in the preparation of a publication, please cite @@ -43,7 +48,7 @@ which you should cite in addition if you use them. - Grid refinement: \cite schornbaum2016massively - PE coupling: \cite rettinger2016simulations, \cite rettinger2017comparative - Python interface: \cite bauer2015python - + \htmlonly <!-- <div> diff --git a/src/core/math/MatrixMxN.h b/src/core/math/MatrixMxN.h index a908a07870502ecd8b95ec3ff852e626ad0e1c8f..b3d9facebb7fa5141cecf0388cd9d50d50ea603a 100644 --- a/src/core/math/MatrixMxN.h +++ b/src/core/math/MatrixMxN.h @@ -50,11 +50,7 @@ namespace math { //================================================================================================= //************************************************************************************************* -/*!\defgroup dense_matrix_MxN MatrixMxN - * \ingroup core - */ /*!\brief Efficient implementation of a \f$ M \times N \f$ matrix. - * \ingroup core * * The MatrixMxN class is the representation of a dynamic \f$ M \times N \f$ matrix with a total * of \f$ M \cdot N \f$ dynamically allocated elements. These elements can be directly accessed diff --git a/src/core/math/Quaternion.h b/src/core/math/Quaternion.h index b7b71b453565767149a6a589c1a17606d5835157..098c8325bc970a53df3b24eb29776a3916a0605f 100644 --- a/src/core/math/Quaternion.h +++ b/src/core/math/Quaternion.h @@ -68,11 +68,7 @@ template< typename Type > class Vector3; //================================================================================================= //************************************************************************************************* -/*!\defgroup quaternion Quaternion - * \ingroup math - */ /*!\brief Efficient implementation of a quaternion. - * \ingroup quaternion * * Quaternions are a superior way to deal with rotations and orientations. This quaternion * consists of 4 statically allocated elements, where the first element represents the real diff --git a/src/core/math/RotationMatrix.h b/src/core/math/RotationMatrix.h index 0a398e6aac077721e80c3166c3fb97b6e6e4fff5..7bb34ac518c8a5d157c0b0abf0d4c4e79ccfaace 100644 --- a/src/core/math/RotationMatrix.h +++ b/src/core/math/RotationMatrix.h @@ -106,11 +106,7 @@ enum EulerRotation { //================================================================================================= //************************************************************************************************* -/*!\defgroup dense_rotation_matrix RotationMatrix - * \ingroup math - */ /*!\brief Efficient, generic implementation of a 3x3 rotation matrix. - * \ingroup math * * The RotationMatrix class is the representation of a 3x3 rotation matrix with a total of 9 * statically allocated elements of arbitrary type. The naming convention of the elements is diff --git a/src/pe/BlockFunctions.h b/src/pe/BlockFunctions.h index e90725b3ee7d343f99cec3b91d6467657cfeb5f4..c1e8e466d6fb075480b289dbdc545b54013a9d25 100644 --- a/src/pe/BlockFunctions.h +++ b/src/pe/BlockFunctions.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BlockFunctions.h -//! \ingroup blockforest //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/Config.h b/src/pe/Config.h index 56e069559cc2c8ae708511c02e83acbf646b8a2b..93fde81a781689e0b748ae2be17b78956ae40624 100644 --- a/src/pe/Config.h +++ b/src/pe/Config.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Config.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -35,7 +34,6 @@ namespace pe { //************************************************************************************************* /*!\brief Sleep mode threshold value. - * \ingroup config * * This value specifies the threshold value for the sleep mode of a rigid body. In case the * motion of a rigid body drops below this threshold, the body is put to sleep and is not moved @@ -52,7 +50,6 @@ const real_t sleepThreshold = real_c( 0 ); //************************************************************************************************* /*!\brief Recency-weighted average bias value for the sleep mode \f$ [0..1] \f$. - * \ingroup config * * The motion of a rigid body is calculated by a recency-weighted average. This value specifies * the bias value for the calculation. It controls how much significance is given to previous diff --git a/src/pe/Materials.cpp b/src/pe/Materials.cpp index 8d7e35e71604f38fdabcea1e91553aa1ed1e2104..ef789831e16d8bf53daf7aa1415ab622d8d04efa 100644 --- a/src/pe/Materials.cpp +++ b/src/pe/Materials.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Materials.cpp -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for materials @@ -119,7 +118,6 @@ bool Material::activateMaterials() //************************************************************************************************* /*!\brief Creating a new custom material. - * \ingroup materials * * \param name The name of the custom material. * \param density The density of the custom material \f$ (0..\infty) \f$. @@ -235,7 +233,6 @@ MaterialID createMaterial( const std::string& name, real_t density, real_t cor, //************************************************************************************************* /*!\brief Creating a new anonymous custom material. -// \ingroup materials // // \param density The density of the custom material \f$ (0..\infty) \f$. // \param cor The coefficient of restitution of the custom material \f$ [0..1] \f$. @@ -273,7 +270,6 @@ MaterialID createMaterial( real_t density, real_t cor, real_t csf, real_t cdf, r //************************************************************************************************* /*!\brief Searching for a registered material. - * \ingroup materials * * \param name The name of the material. * \return The MaterialID of the material if the material is found, \a invalid_material otherwise. @@ -295,7 +291,6 @@ MaterialID Material::find( const std::string& name ) //************************************************************************************************* /*!\brief Searching for registered materials with a prefix. -// \ingroup materials // // \param prefix The prefix common to the names of the materials. // \return A std::vector object containing the MaterialIDs of all materials found. diff --git a/src/pe/Materials.h b/src/pe/Materials.h index 01f9da609129d62a01882c3067be9ea67a5eac42..355099c08a31ec9a2e347619ae9c2c28d0f921c6 100644 --- a/src/pe/Materials.h +++ b/src/pe/Materials.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Materials.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for materials @@ -46,11 +45,7 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\defgroup materials Materials - * \ingroup pe - */ /*!\brief Rigid body material. - * \ingroup materials * * A material specifies the properties of a rigid body: the density of the body, the coefficient * of restitution and the coefficients of static and dynamic friction.\n @@ -413,7 +408,6 @@ inline real_t Material::getDampingT() const //************************************************************************************************* /*!\brief Returns the name of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The name of the given material. @@ -428,7 +422,6 @@ inline const std::string& Material::getName( MaterialID material ) //************************************************************************************************* /*!\brief Returns the density of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The density of the given material. @@ -443,7 +436,6 @@ inline real_t Material::getDensity( MaterialID material ) //************************************************************************************************* /*!\brief Returns the coefficient of restitution of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The coefficient of restitution of the given material. @@ -458,7 +450,6 @@ inline real_t Material::getRestitution( MaterialID material ) //************************************************************************************************* /*!\brief Returns the composite coefficient of restitution for a collision between two rigid bodies. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -475,7 +466,6 @@ inline real_t Material::getRestitution( MaterialID material1, MaterialID materia //************************************************************************************************* /*!\brief Returns the coefficient of static friction of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The coefficient of static friction of the given material. @@ -490,7 +480,6 @@ inline real_t Material::getStaticFriction( MaterialID material ) //************************************************************************************************* /*!\brief Returns the coefficient of static friction for a collision between two rigid bodies. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -507,7 +496,6 @@ inline real_t Material::getStaticFriction( MaterialID material1, MaterialID mate //************************************************************************************************* /*!\brief Returns the coefficient of dynamic friction of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The coefficient of dynamic friction of the given material. @@ -522,7 +510,6 @@ inline real_t Material::getDynamicFriction( MaterialID material ) //************************************************************************************************* /*!\brief Returns the coefficient of dynamic friction for a collision between two rigid bodies. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -539,7 +526,6 @@ inline real_t Material::getDynamicFriction( MaterialID material1, MaterialID mat //************************************************************************************************* /*!\brief Returns the Poisson's ratio of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The Poisson's ratio of the given material. @@ -554,7 +540,6 @@ inline real_t Material::getPoissonRatio( MaterialID material ) //************************************************************************************************* /*!\brief Returns the Young's modulus of the given material. - * \ingroup materials * * \param material The material to be queried. * \return The Young's modulus of the given material. @@ -569,7 +554,6 @@ inline real_t Material::getYoungModulus( MaterialID material ) //************************************************************************************************* /*!\brief Returns the (effective) Young's modulus for a collision between two rigid bodies. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -603,7 +587,6 @@ inline real_t Material::getYoungModulus( MaterialID material1, MaterialID materi //************************************************************************************************* /*!\brief Returns the stiffness in normal direction of the material's contact region. - * \ingroup materials * * \param material The material to be queried. * \return The stiffness in normal direction of the contact region of the given material. @@ -618,7 +601,6 @@ inline real_t Material::getStiffness( MaterialID material ) //************************************************************************************************* /*!\brief Returns the stiffness in normal direction of the contact between two materials. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -641,7 +623,6 @@ inline real_t Material::getStiffness( MaterialID material1, MaterialID material2 //************************************************************************************************* /*!\brief Returns the damping coefficient in normal direction of the material's contact region. - * \ingroup materials * * \param material The material to be queried. * \return The damping in normal direction of the contact region of the given material. @@ -656,7 +637,6 @@ inline real_t Material::getDampingN( MaterialID material ) //************************************************************************************************* /*!\brief Returns the damping in normal direction of the contact between two materials. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -679,7 +659,6 @@ inline real_t Material::getDampingN( MaterialID material1, MaterialID material2 //************************************************************************************************* /*!\brief Returns the damping coefficient in tangential direction of the material's contact region. - * \ingroup materials * * \param material The material to be queried. * \return The damping in tangential direction of the contact region of the given material. @@ -694,7 +673,6 @@ inline real_t Material::getDampingT( MaterialID material ) //************************************************************************************************* /*!\brief Returns the damping in tangential direction of the contact between two materials. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -717,7 +695,6 @@ inline real_t Material::getDampingT( MaterialID material1, MaterialID material2 //************************************************************************************************* /*!\brief Setting the coefficient of restitution between material \a material1 and \a material2. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -735,7 +712,6 @@ inline void Material::setRestitution( MaterialID material1, MaterialID material2 //************************************************************************************************* /*!\brief Setting the coefficient of static friction between material \a material1 and \a material2. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -753,7 +729,6 @@ inline void Material::setStaticFriction( MaterialID material1, MaterialID materi //************************************************************************************************* /*!\brief Setting the coefficient of dynamic friction between material \a material1 and \a material2. - * \ingroup materials * * \param material1 The material of the first colliding rigid body. * \param material2 The material of the second colliding rigid body. @@ -779,7 +754,6 @@ inline void Material::setDynamicFriction( MaterialID material1, MaterialID mater //************************************************************************************************* /*!\brief Specification of the material iron. - * \ingroup materials * * The Iron class represents the material iron. It is implemented as a veneer class for the * Material base class to set the properties of iron: @@ -841,7 +815,6 @@ inline Iron::Iron() //************************************************************************************************* /*!\brief Specification of the material copper. - * \ingroup materials * * The Copper class represents the material copper. It is implemented as a veneer class for * the Material base class to set the properties of iron: @@ -903,7 +876,6 @@ inline Copper::Copper() //************************************************************************************************* /*!\brief Specification of the material granite. - * \ingroup materials * * The Granite class represents the material granite. It is implemented as a veneer class for * the Material base class to set the properties of granite: @@ -965,7 +937,6 @@ inline Granite::Granite() //************************************************************************************************* /*!\brief Specification of the material oak. - * \ingroup materials * * The Oak class represents the material oak wood. It is implemented as a veneer class for the * Material base class to set the properties of oak wood: @@ -1027,7 +998,6 @@ inline Oak::Oak() //************************************************************************************************* /*!\brief Specification of the material fir. - * \ingroup materials * * The Fir class represents the material fir wood. It is implemented as a veneer class for the * Material base class to set the properties of fir wood: @@ -1090,7 +1060,6 @@ inline Fir::Fir() //************************************************************************************************* /*!\brief ID for an invalid material. - * \ingroup materials * * This MaterialID is returned by the getMaterial() function in case no material with the * specified name is returned. This value should not be used to create rigid bodies or in diff --git a/src/pe/Thresholds.h b/src/pe/Thresholds.h index 8c7cee3e920e39f396815ed85c99f8fe38f81148..f0993be59c8c682c18e0ed5207d86fd7f351be5e 100644 --- a/src/pe/Thresholds.h +++ b/src/pe/Thresholds.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Types.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Numerical thresholds for the physics engine @@ -36,7 +35,6 @@ namespace pe { //************************************************************************************************* /*!\brief Collection of numerical threshold values. - * \ingroup pe * * The Thresholds class defines numerical floating point thresholds for the pe module. * The following thresholds can be used: @@ -83,7 +81,6 @@ struct Thresholds //************************************************************************************************* /*! \cond internal */ /*!\brief Thresholds<float> specialization. - * \ingroup pe */ template<> struct Thresholds<float> @@ -131,7 +128,6 @@ public: //************************************************************************************************* /*! \cond internal */ /*!\brief Thresholds<double> specialization. - * \ingroup pe */ template<> struct Thresholds<double> @@ -179,7 +175,6 @@ public: //************************************************************************************************* /*! \cond internal */ /*!\brief Thresholds<long double> specialization. - * \ingroup pe */ template<> struct Thresholds<long double> diff --git a/src/pe/Types.h b/src/pe/Types.h index 8eb0d3560bd35ccacea69266e4487b6201ac53bf..15d386d540f0854f7db0867611a611ea976f35a2 100644 --- a/src/pe/Types.h +++ b/src/pe/Types.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Types.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -167,7 +166,6 @@ typedef std::vector<Material> Materials; //!< Vector for materials. //************************************************************************************************* /*!\brief Unique material ID. - * \ingroup pe * * Every registered material has a unique MaterialID that can be used wherever the material is * required. The \b pe engine provides a couple of predefined materials (see the \ref materials diff --git a/src/pe/attachable/Attachable.cpp b/src/pe/attachable/Attachable.cpp index 1b64085dc2071437ceb73cca5a3c370aa5e98fc5..76056d6866479db8625431b72e49b7c87bcc06f8 100644 --- a/src/pe/attachable/Attachable.cpp +++ b/src/pe/attachable/Attachable.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Attachable.cpp -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for the Attachable class @@ -101,7 +100,6 @@ Attachable::~Attachable() //************************************************************************************************* /*!\brief Detaches the given attachable. - * \ingroup core * * \param attachable The detachable to be detached. */ diff --git a/src/pe/attachable/Attachable.h b/src/pe/attachable/Attachable.h index 5d6c7195221e56dffb3b0e61dbf60c83b7b1f95b..9c7b2b368ad9d0377cd3284be39132122cfeb752 100644 --- a/src/pe/attachable/Attachable.h +++ b/src/pe/attachable/Attachable.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Attachable.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the Attachable class @@ -47,7 +46,6 @@ namespace pe { //************************************************************************************************* /*!\brief Attachable interface class. - * \ingroup core * * The Attachable class is the base class for the Attachable concept of the physics engine. * Classes deriving from this interface class (which are simply called Attachables) can be diff --git a/src/pe/attachable/AttachableCast.h b/src/pe/attachable/AttachableCast.h index a87d045f5e82377c1cb23841dc5ead36e6ed8840..bace6db7f1aa632f16c9d70de8f8ede1f8ffcd49 100644 --- a/src/pe/attachable/AttachableCast.h +++ b/src/pe/attachable/AttachableCast.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file AttachableCast.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // diff --git a/src/pe/attachable/AttachableStorage.h b/src/pe/attachable/AttachableStorage.h index b2baaea511ad5fc30704f125e40f49e06a2117e0..009c3b087bef8d6556e071306846d210b548dd90 100644 --- a/src/pe/attachable/AttachableStorage.h +++ b/src/pe/attachable/AttachableStorage.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file AttachableStorage.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -47,7 +46,6 @@ namespace pe { //************************************************************************************************* /*!\brief Attachable storage of the rigid body simulation world. - * \ingroup core * * The AttachableStorage class stores all currently existing attachables in the simulation world * (see class World). diff --git a/src/pe/basic.h b/src/pe/basic.h index 47b6345e6bc89249e523d7572d2f69f3a8a14962..874531d82a76904f3109fc6c5f24f4c3c2fb25f5 100644 --- a/src/pe/basic.h +++ b/src/pe/basic.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file basic.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file which includes common pe headers! // diff --git a/src/pe/bg/IBG.h b/src/pe/bg/IBG.h index 844a470a188d7cd7d9ab46802994bcafb479b618..8c956b5675bb57fd2b02e701dedb39d7beb78d54 100644 --- a/src/pe/bg/IBG.h +++ b/src/pe/bg/IBG.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file IBG.h -//! \ingroup BatchGeneration //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/bg/SimpleBG.h b/src/pe/bg/SimpleBG.h index 80fbe6e1b79a495e18b2c7f737860e3707346e5f..aa65b79d6f60e8aa8fb98b2a6054b2a22b3c02f4 100644 --- a/src/pe/bg/SimpleBG.h +++ b/src/pe/bg/SimpleBG.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SimpleBG.h -//! \ingroup BatchGeneration //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/bg/SimpleBGDataHandling.h b/src/pe/bg/SimpleBGDataHandling.h index 658011557d9ddbaebe3bccf8b222fbb89d7c8596..7b31e020ba98d5622486e35bbdba5d108e7c32e4 100644 --- a/src/pe/bg/SimpleBGDataHandling.h +++ b/src/pe/bg/SimpleBGDataHandling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SimpleBGDataHandling.h -//! \ingroup FineCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/ccd/CCDDataHandling.h b/src/pe/ccd/CCDDataHandling.h index 5d11be07dd4480bd2b297fcbb00b59eba50d570f..f17c6f8d30e10a924eaa09f35eef23b9cf2f90de 100644 --- a/src/pe/ccd/CCDDataHandling.h +++ b/src/pe/ccd/CCDDataHandling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SimpleCCDDataHandling.h -//! \ingroup FineCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/ccd/HashGrids.cpp b/src/pe/ccd/HashGrids.cpp index 93a69bdc92c5cbc54646f955c4587e2972ae3454..b135767f8770416490266dcd3e8589de94955300 100644 --- a/src/pe/ccd/HashGrids.cpp +++ b/src/pe/ccd/HashGrids.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file HashGrids.cpp -//! \ingroup CoarseCollisionDetection //! \author Klaus Iglberger //! \author Florian Schornbaum //! \author Sebastian Eibl <sebastian.eibl@fau.de> @@ -1149,7 +1148,6 @@ bool HashGrids::powerOfTwo( size_t number ) //************************************************************************************************* /*!\brief The initial number of cells in x-direction of a newly created hash grid. - * \ingroup config * * This value represents the initial number of cells of a newly created hash grid in x-direction. * The larger the value (i.e. the greater the number of cells of every newly created hash grid), @@ -1167,7 +1165,6 @@ const size_t HashGrids::xCellCount = 16; //************************************************************************************************* /*!\brief The initial number of cells in y-direction of a newly created hash grid. - * \ingroup config * * This value represents the initial number of cells of a newly created hash grid in y-direction. * The larger the value (i.e. the greater the number of cells of every newly created hash grid), @@ -1185,7 +1182,6 @@ const size_t HashGrids::yCellCount = 16; //************************************************************************************************* /*!\brief The initial number of cells in z-direction of a newly created hash grid. - * \ingroup config * * This value represents the initial number of cells of a newly created hash grid in z-direction. * The larger the value (i.e. the greater the number of cells of every newly created hash grid), @@ -1203,7 +1199,6 @@ const size_t HashGrids::zCellCount = 16; //************************************************************************************************* /*!\brief The initial storage capaciy of a newly created grid cell body container. - * \ingroup config * * This value specifies the initial storage capacity reserved for every grid cell body container, * i.e., the number of bodies that can initially be assigned to a grid cell with the need to @@ -1220,7 +1215,6 @@ const size_t HashGrids::cellVectorSize = 16; //************************************************************************************************* /*!\brief The initial storage capacity of the grid-global vector. - * \ingroup config * * This value specifies the initial storage capacity of the grid-global vector that keeps track * of all body-occupied cells. As long as at least one body is assigned to a certain cell, this @@ -1234,7 +1228,6 @@ const size_t HashGrids::occupiedCellsVectorSize = 256; //************************************************************************************************* /*!\brief The minimal ratio of cells to bodies that must be maintained at any time. - * \ingroup config * * This \a minimalGridDensity specifies the minimal ratio of cells to bodies that is allowed * before a grid grows.\n @@ -1253,7 +1246,6 @@ const size_t HashGrids::minimalGridDensity = 8; //************************************************************************************************* /*!\brief Activation threshold for the hierarchical hash grids coarse collision detection algorithm. - * \ingroup config * * If the simulation only consists of a very small number of bodies, simply checking each body * against each other body proves to be faster than involving the far more complex mechanisms @@ -1272,7 +1264,6 @@ const size_t HashGrids::gridActivationThreshold = 32; //************************************************************************************************* /*!\brief The constant factor by which the cell size of any two successive grids differs. - * \ingroup config * * This factor specifies the size difference of two successive grid levels of the hierarchical * hash grids. The grid hierarchy is constructed such that the cell size of any two successive diff --git a/src/pe/ccd/HashGrids.h b/src/pe/ccd/HashGrids.h index 85c172f08333d6c877ddc5bea7a1f3fdd9942258..442fabe37095fa1ee7eb88d306f767cc7183cfdb 100644 --- a/src/pe/ccd/HashGrids.h +++ b/src/pe/ccd/HashGrids.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ICCD.h -//! \ingroup CoarseCollisionDetection //! \author Klaus Iglberger //! \author Florian Schornbaum //! \author Sebastian Eibl <sebastian.eibl@fau.de> @@ -57,7 +56,6 @@ namespace ccd { //************************************************************************************************* /*!\brief Implementation of the 'Hierarchical Hash Grids' coarse collision detection algorithm. - * \ingroup coarse_collision_detection * * The 'Hierarchical Hash Grids' coarse collision detection algorithm is based on a spatial * partitioning scheme that uses a hierarchy of uniform, hash storage based grids. Uniform grids diff --git a/src/pe/ccd/HashGridsBodyTrait.h b/src/pe/ccd/HashGridsBodyTrait.h index 87be586c46380cb40d1c5aef76bd9b3da9751eb4..40ab2505ecaffd12710fe6116f87dd2fca404769 100644 --- a/src/pe/ccd/HashGridsBodyTrait.h +++ b/src/pe/ccd/HashGridsBodyTrait.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file HashGridsBodyTrait.h -//! \ingroup CoarseCollisionDetection //! \author Klaus Iglberger //! \author Florian Schornbaum //! \author Sebastian Eibl <sebastian.eibl@fau.de> @@ -37,7 +36,6 @@ namespace ccd { //************************************************************************************************* /*!\brief Specialization of the BodyTrait class template for the 'hierarchical hash-grid' algorithm. - * \ingroup coarse_collision_detection * * This specialization of the BodyTrait class template adapts rigid bodies to the hierarchical hash-grid * coarse collision detection algorithm. diff --git a/src/pe/ccd/HashGridsDataHandling.h b/src/pe/ccd/HashGridsDataHandling.h index bead04555daebb41680d1641c4a63f2805c2076e..38d1d1b4f54b6c41db2d94fdc5e6f396a6704280 100644 --- a/src/pe/ccd/HashGridsDataHandling.h +++ b/src/pe/ccd/HashGridsDataHandling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file HashGridsDataHandling.h -//! \ingroup CoarseCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/ccd/ICCD.h b/src/pe/ccd/ICCD.h index c4164b84cafe2c3ab3c6b60a2b64fce543d1a7cd..cb4bf97592b12d8ab326c936961242105a6b5e28 100644 --- a/src/pe/ccd/ICCD.h +++ b/src/pe/ccd/ICCD.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ICCD.h -//! \ingroup CoarseCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/ccd/SimpleCCD.cpp b/src/pe/ccd/SimpleCCD.cpp index b85b15dd434c845ec9c1d2ff69409ba1f615b35f..b94a6669b100de1cbe8bb9a5c880b703967d05d1 100644 --- a/src/pe/ccd/SimpleCCD.cpp +++ b/src/pe/ccd/SimpleCCD.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ICCD.h -//! \ingroup CoarseCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/ccd/SimpleCCD.h b/src/pe/ccd/SimpleCCD.h index a548e109eae8f584ca672fc4922a3612551bcb9f..42a54f5993cf18bb5a9ee2073eb940d919660cfd 100644 --- a/src/pe/ccd/SimpleCCD.h +++ b/src/pe/ccd/SimpleCCD.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ICCD.h -//! \ingroup CoarseCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/ccd/SimpleCCDDataHandling.h b/src/pe/ccd/SimpleCCDDataHandling.h index f21f1adc0e924924fbcf05b84eb248a36b5e8682..e6eba77091c6ea9a72aa8f5659f82d76d5f04116 100644 --- a/src/pe/ccd/SimpleCCDDataHandling.h +++ b/src/pe/ccd/SimpleCCDDataHandling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SimpleCCDDataHandling.h -//! \ingroup FineCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/collision/Collide.h b/src/pe/collision/Collide.h index 2572faeafdf783ebad352a11ff8f0f2f07348323..1baf317ccdfe314e18c8f01a275430de7acbbbe8 100644 --- a/src/pe/collision/Collide.h +++ b/src/pe/collision/Collide.h @@ -50,7 +50,6 @@ struct DoubleDispatch; //************************************************************************************************* /*!\brief Contact generation between two colliding rigid bodies. - * \ingroup contact_generation * * \param s1 The first colliding rigid body. * \param s2 The second colliding rigid body. @@ -140,7 +139,6 @@ bool collide( PlaneID p, SphereID s, Container& container ) //************************************************************************************************* /*!\brief Contact generation between a Sphere and a Box. - * \ingroup contact_generation * * \param s The colliding sphere. * \param b The colliding box. @@ -1708,7 +1706,6 @@ bool collide( PlaneID p, BoxID b, Container& container ) /*!\brief Contact generation between two colliding Capsule primitives. - * \ingroup contact_generation * * \param c1 The first colliding capsule. * \param c2 The second colliding capsule. @@ -1822,7 +1819,6 @@ bool collide( CapsuleID c1, CapsuleID c2, Container& container ) //************************************************************************************************* /*!\brief Contact generation between a Capsule and a Plane. - * \ingroup contact_generation * * \param c The colliding capsule. * \param p The colliding plane. diff --git a/src/pe/communication/DynamicMarshalling.h b/src/pe/communication/DynamicMarshalling.h index 24246cbe11d72a9085a07ed9b3f0c83bcc7cda0d..121931250e48a482583ca3994f443d51bcb5489d 100644 --- a/src/pe/communication/DynamicMarshalling.h +++ b/src/pe/communication/DynamicMarshalling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Marshalling.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/Instantiate.h b/src/pe/communication/Instantiate.h index 3190de2a2e7ad736ee2e483c4ef604f88137f4a3..6096c6552d3e21e63ec29a99efbefcfc0cfb20c3 100644 --- a/src/pe/communication/Instantiate.h +++ b/src/pe/communication/Instantiate.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Instantiate.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/Marshalling.cpp b/src/pe/communication/Marshalling.cpp index ca1530f1d31d7f7c27a712855c1fc2471534fa28..bdeb9fd9d9e2d36c6d282cc57f833f99b231ac1b 100644 --- a/src/pe/communication/Marshalling.cpp +++ b/src/pe/communication/Marshalling.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Marshalling.cpp -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/Marshalling.h b/src/pe/communication/Marshalling.h index 1fc9353639a98c6b9fa548d32a2fb74c7fe47f92..225ffaa4f8dc6f6fb14580cb8f7b7736fe36b261 100644 --- a/src/pe/communication/Marshalling.h +++ b/src/pe/communication/Marshalling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Marshalling.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/NotificationType.h b/src/pe/communication/NotificationType.h index 5e6009fe46fd6250340b064b20e86761a7224b11..6584537fadbdcab15609ca49889d695a8385f16d 100644 --- a/src/pe/communication/NotificationType.h +++ b/src/pe/communication/NotificationType.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file NotificationType.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the notification types diff --git a/src/pe/communication/PackNotification.h b/src/pe/communication/PackNotification.h index 9a6dfeb983e32fe76eca44685719f0089ed2fbad..550309e98d24f2da6cef26f3616d7c6867dd2d30 100644 --- a/src/pe/communication/PackNotification.h +++ b/src/pe/communication/PackNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file PackNotification.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for packNotification // diff --git a/src/pe/communication/ParseMessage.h b/src/pe/communication/ParseMessage.h index ec0dd72da83af712ba868b896bedfed5945adb29..5735beb152fb332ae5d007ad56115d339b6f5194 100644 --- a/src/pe/communication/ParseMessage.h +++ b/src/pe/communication/ParseMessage.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ParseMessage.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Parsing of messages diff --git a/src/pe/communication/RigidBodyCopyNotification.h b/src/pe/communication/RigidBodyCopyNotification.h index 57f2688d9cc4b5193bcf8f955eec79ab6b36d2b4..cfa726e7c0dfedcc53af335072141b200db467c2 100644 --- a/src/pe/communication/RigidBodyCopyNotification.h +++ b/src/pe/communication/RigidBodyCopyNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyCopyNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyCopyNotification class @@ -48,7 +47,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body copies. - * \ingroup rigid_body * * The RigidBodyCopyNotification class is a wrapper class for marshaling and unmarshaling rigid body * copies. When receiving a copy notification a new shadow copy of the encapsulated body should be diff --git a/src/pe/communication/RigidBodyDeletionNotification.h b/src/pe/communication/RigidBodyDeletionNotification.h index 498e1ef3167d6b770bc0a92b8bafd4af90f02f06..a8197b2a1d150b557ee1a2df6d86b236285e306a 100644 --- a/src/pe/communication/RigidBodyDeletionNotification.h +++ b/src/pe/communication/RigidBodyDeletionNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyDeletionNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyDeletionNotification class @@ -43,7 +42,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body deletion notifications. - * \ingroup rigid_body * * The RigidBodyDeletionNotification class is a wrapper class for marshaling and unmarshaling rigid body * deletion notifications. When receiving a deletion notification this indicates that the body diff --git a/src/pe/communication/RigidBodyForceNotification.h b/src/pe/communication/RigidBodyForceNotification.h index 00e811fb4bdb9bec7e9e507e73c10a8146b1eb08..5ce3e9d558a5fec97c9e9448dd6589ea2fbdf5d2 100644 --- a/src/pe/communication/RigidBodyForceNotification.h +++ b/src/pe/communication/RigidBodyForceNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyForceNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyForceNotification class @@ -43,7 +42,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body force and torque contribution notifications. - * \ingroup rigid_body * * The RigidBodyForceNotification class is a wrapper class for marshaling and unmarshaling rigid body * force and torque contribution notifications. They may only be sent by processes registered diff --git a/src/pe/communication/RigidBodyMigrationNotification.h b/src/pe/communication/RigidBodyMigrationNotification.h index c5988c44ab9a44890422bcaa360fd699d428cd15..31c2e0882b8b0bdc850c9e9888c36f2c8a4f6e10 100644 --- a/src/pe/communication/RigidBodyMigrationNotification.h +++ b/src/pe/communication/RigidBodyMigrationNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyMigrationNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyMigrationNotification class @@ -43,7 +42,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body migration notifications. - * \ingroup rigid_body * * The RigidBodyMigrationNotification class is a wrapper class for marshaling and unmarshaling * rigid body migration notifications. When receiving a migration notification this indicates that diff --git a/src/pe/communication/RigidBodyNewShadowCopyNotification.h b/src/pe/communication/RigidBodyNewShadowCopyNotification.h index 5c5cd3aa6d4afaee594065bf6abd48c63e0d5d29..cf7f2d9b207d11ac281fbbe2746395fe55b9fb6a 100644 --- a/src/pe/communication/RigidBodyNewShadowCopyNotification.h +++ b/src/pe/communication/RigidBodyNewShadowCopyNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyNewShadowCopyNotification.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyNewShadowCopyNotification class // @@ -42,7 +41,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body new shadow copy notifications. - * \ingroup rigid_body * * The RigidBodyNewShadowCopyNotification class is a wrapper class for marshaling and unmarshaling * of rigid body new shadow copy notifications. This notification is send to the owner of a rigid diff --git a/src/pe/communication/RigidBodyRemoteMigrationNotification.h b/src/pe/communication/RigidBodyRemoteMigrationNotification.h index 01fa7fd6952cf65c8c4072a9da539975d539cac4..3dcd20a3cacc9b41052d03c48e00f1d0c86109f5 100644 --- a/src/pe/communication/RigidBodyRemoteMigrationNotification.h +++ b/src/pe/communication/RigidBodyRemoteMigrationNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyRemoteMigrationNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyRemoteMigrationNotification classs @@ -43,7 +42,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body remote migration notifications. - * \ingroup rigid_body * * The RigidBodyRemoteMigrationNotification class is a wrapper class for marshaling and unmarshaling * rigid body remote migration notifications. When receiving a remote migration notification this diff --git a/src/pe/communication/RigidBodyRemovalInformationNotification.h b/src/pe/communication/RigidBodyRemovalInformationNotification.h index b0a6d2833006a4f141ee1b7fb3bd637870a5082f..8b6d006af9985162e787b0e4cd227cb13866c41d 100644 --- a/src/pe/communication/RigidBodyRemovalInformationNotification.h +++ b/src/pe/communication/RigidBodyRemovalInformationNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyRemovalInformationNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyRemovalNotification class @@ -43,7 +42,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body removal notifications. - * \ingroup rigid_body * * The RigidBodyRemovalInformationNotification class is used to signal other processes that a * shadow copy was destroyed. diff --git a/src/pe/communication/RigidBodyRemovalNotification.h b/src/pe/communication/RigidBodyRemovalNotification.h index 7d9f7fd4c4a3314dd2edfcd030519bcc71b77085..75a94dd71a30935347496ca4c6e57e1846448537 100644 --- a/src/pe/communication/RigidBodyRemovalNotification.h +++ b/src/pe/communication/RigidBodyRemovalNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyRemovalNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyRemovalNotification class @@ -43,7 +42,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body removal notifications. - * \ingroup rigid_body * * The RigidBodyRemovalNotification class is a wrapper class for marshaling and unmarshaling rigid body * removal notifications. When receiving a removal notification this indicates that a shadow copy diff --git a/src/pe/communication/RigidBodyUpdateNotification.h b/src/pe/communication/RigidBodyUpdateNotification.h index 9c09c50ce8d806b7d22f34aaf94e645782737485..b6f16ce676b7c093925a3f85933d6058cda22ecb 100644 --- a/src/pe/communication/RigidBodyUpdateNotification.h +++ b/src/pe/communication/RigidBodyUpdateNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyUpdateNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyUpdateNotification class @@ -44,7 +43,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body updates. - * \ingroup rigid_body * * The RigidBodyUpdateNotification class is a wrapper class for marshalling and unmarshalling rigid * body updates. The class template should be the diff --git a/src/pe/communication/RigidBodyVelocityCorrectionNotification.h b/src/pe/communication/RigidBodyVelocityCorrectionNotification.h index 21e1af3da5c1a067099996ba19758488e0ac2600..71e5a59d133a4db338328977f4f95a5dbfb8e246 100644 --- a/src/pe/communication/RigidBodyVelocityCorrectionNotification.h +++ b/src/pe/communication/RigidBodyVelocityCorrectionNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyVelocityCorrectionNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyVelocityCorrectionNotification class @@ -42,7 +41,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body velocity corrections. - * \ingroup rigid_body * * The RigidBodyVelocityCorrectionNotification class is a wrapper class for marshalling and unmarshalling rigid body * velocity correction. It includes the system ID of the body the correction applies to and the linear and angular diff --git a/src/pe/communication/RigidBodyVelocityUpdateNotification.h b/src/pe/communication/RigidBodyVelocityUpdateNotification.h index ec4a592ec28bce3566ed4d4d0513694438691886..487a09472017f58fdf60458a3c603a2f3ef3ebaf 100644 --- a/src/pe/communication/RigidBodyVelocityUpdateNotification.h +++ b/src/pe/communication/RigidBodyVelocityUpdateNotification.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBodyVelocityUpdateNotification.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the RigidBodyVelocityUpdateNotification class @@ -42,7 +41,6 @@ namespace communication { //************************************************************************************************* /*!\brief Wrapper class for rigid body velocity updates. - * \ingroup rigid_body * * The RigidBodyVelocityUpdateNotification class is a wrapper class for marshalling and unmarshalling rigid body * velocity updates. It includes linear and angular velocities. diff --git a/src/pe/communication/rigidbody/Box.cpp b/src/pe/communication/rigidbody/Box.cpp index 40217acb6af675c5c45016c26906b86becb3b7b3..1b5bb4aac5b28621b4f22b77392e2463f8ce3488 100644 --- a/src/pe/communication/rigidbody/Box.cpp +++ b/src/pe/communication/rigidbody/Box.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Box.cpp -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/rigidbody/Box.h b/src/pe/communication/rigidbody/Box.h index 89324fbe6df5c32e5ad31b7c567937e5ce3eb7a5..3a4c35a20e31b259cddd3fc0cfea4bf1d87d95d8 100644 --- a/src/pe/communication/rigidbody/Box.h +++ b/src/pe/communication/rigidbody/Box.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Box.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/rigidbody/Capsule.cpp b/src/pe/communication/rigidbody/Capsule.cpp index 431f7ab02919fe5211ada039fb0b06d0abde0789..8499459199b54a655bf9ea78a5e5743bc8aa72fc 100644 --- a/src/pe/communication/rigidbody/Capsule.cpp +++ b/src/pe/communication/rigidbody/Capsule.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Capsule.cpp -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/rigidbody/Capsule.h b/src/pe/communication/rigidbody/Capsule.h index 45598783c98337aa0d860837567982890177905e..7f99b1d1d47d7fb4e96713213f3ecababd718915 100644 --- a/src/pe/communication/rigidbody/Capsule.h +++ b/src/pe/communication/rigidbody/Capsule.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Capsule.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/rigidbody/Sphere.cpp b/src/pe/communication/rigidbody/Sphere.cpp index bd663162ec9a6b74ed586300d99dfbe597d838d0..dedd8367ff870eec0a81e0cfefc9c7707fe2a947 100644 --- a/src/pe/communication/rigidbody/Sphere.cpp +++ b/src/pe/communication/rigidbody/Sphere.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Sphere.cpp -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/rigidbody/Sphere.h b/src/pe/communication/rigidbody/Sphere.h index 665a9a870a53f5042ad0e87cdf75ce1e5cdec20e..55881f65aa0e3c5e02cd0ea099093dd16ef45379 100644 --- a/src/pe/communication/rigidbody/Sphere.h +++ b/src/pe/communication/rigidbody/Sphere.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Sphere.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/communication/rigidbody/Union.h b/src/pe/communication/rigidbody/Union.h index d645d91c7cd6a72e4df391179c4d04e9461075ed..0850d0231cc604b4e7f5a5c9a3caec059b819adf 100644 --- a/src/pe/communication/rigidbody/Union.h +++ b/src/pe/communication/rigidbody/Union.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Union.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Marshalling of objects for data transmission or storage. diff --git a/src/pe/contact/Contact.cpp b/src/pe/contact/Contact.cpp index 4e49cd54bf5b7c8e5a773f52f6e101e1264d0dee..ed9e68e28cc7bff136a697d4b1716f3421f92a23 100644 --- a/src/pe/contact/Contact.cpp +++ b/src/pe/contact/Contact.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Contact.cpp -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for the Contact class. diff --git a/src/pe/contact/Contact.h b/src/pe/contact/Contact.h index badd0d2aec7ee3e8e26343e05dad6ced9bf37240..51adfc7c3ed7f46c9f2983b33abad630936bcb20 100644 --- a/src/pe/contact/Contact.h +++ b/src/pe/contact/Contact.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Contact.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the Contact class. @@ -47,11 +46,7 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\defgroup contact Contact - * \ingroup core - */ /*!\brief Contact between rigid bodies. - * \ingroup contact * * The Contact class is the base class for all types of contacts between rigid bodies in the * simulation system. Contacts between rigid bodies are classified depending on the relative @@ -339,7 +334,6 @@ inline const Vec3 Contact::getRelVel() const //************************************************************************************************* /*!\brief Global output operator for contacts. - * \ingroup contact * * \param os Reference to the output stream. * \param c Reference to a constant contact object. @@ -371,7 +365,6 @@ inline std::ostream& operator<<( std::ostream& os, const Contact& c ) //************************************************************************************************* /*!\brief Global output operator for contact handles. - * \ingroup contact * * \param os Reference to the output stream. * \param c Constant contact handle. diff --git a/src/pe/contact/ContactFunctions.h b/src/pe/contact/ContactFunctions.h index 38b271989310268cc71b4bb95dab361b515944bc..141ee743556edfb836c10755a77735ca04b46471 100644 --- a/src/pe/contact/ContactFunctions.h +++ b/src/pe/contact/ContactFunctions.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ContactFunctions.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // diff --git a/src/pe/contact/ContactFunctions.impl.h b/src/pe/contact/ContactFunctions.impl.h index d24f1ad6ff87ba836f8b774f22faa86e4f3c05ca..f48b0328124c735e4c003f50e7cec475449c6edf 100644 --- a/src/pe/contact/ContactFunctions.impl.h +++ b/src/pe/contact/ContactFunctions.impl.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ContactFunctions.impl.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // diff --git a/src/pe/cr/DEM.cpp b/src/pe/cr/DEM.cpp index 7ffba7d85b5a5381b873b00ddd112e47db959396..e4915c755efb69c49e0d9499db4e98f5ca1f90ad 100644 --- a/src/pe/cr/DEM.cpp +++ b/src/pe/cr/DEM.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file DEM.cpp -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for the DEM solver diff --git a/src/pe/cr/DEM.h b/src/pe/cr/DEM.h index 052b08adbf6b7e339547c3c38b47b2399a928466..100d921ceb2f46b2f2095ec378c7709c67afe22a 100644 --- a/src/pe/cr/DEM.h +++ b/src/pe/cr/DEM.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file DEM.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the DEM solver @@ -37,6 +36,9 @@ namespace walberla { namespace pe { namespace cr { +/** + * \ingroup pe + */ class DEM : public ICR { public: diff --git a/src/pe/cr/HCSITS.h b/src/pe/cr/HCSITS.h index ca6fcdb660bab88197c06c2cca7f39fb854ab9e3..17987b7a559a718caa932b876292d7ec5e3eb72c 100644 --- a/src/pe/cr/HCSITS.h +++ b/src/pe/cr/HCSITS.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file HCSITS.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the hard contact solver @@ -58,11 +57,12 @@ namespace cr { //================================================================================================= //************************************************************************************************* -/*!\brief Specialization of the collision system for the hard contact solvers. - * \ingroup core +/** + * \ingroup pe + * \brief Particular implementation of the collision resoution for the hard contacts. * - * This specialization of the CollisionSystem class template adapts the collision system of the - * rigid body simulation world to the requirements of the hard contact solvers. + * The following code example illustrates the setup of the solver: + * \snippet PeDocumentationSnippets.cpp Setup HCSITS */ class HardContactSemiImplicitTimesteppingSolvers : public ICR diff --git a/src/pe/cr/HCSITS.impl.h b/src/pe/cr/HCSITS.impl.h index c629bffd7345d93f2f668f02acccdaaeb5479db0..30f9914587ef2970e1522f5ae8d89eeef1601650 100644 --- a/src/pe/cr/HCSITS.impl.h +++ b/src/pe/cr/HCSITS.impl.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file HCSITS.impl.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for the hard contact solver diff --git a/src/pe/cr/HCSITSBodyTrait.h b/src/pe/cr/HCSITSBodyTrait.h index dfc1a8a1a53474c69aeb16b2ed451129c6a0a6c8..bf83f530573e4d027656eb44419774c55b10c6fd 100644 --- a/src/pe/cr/HCSITSBodyTrait.h +++ b/src/pe/cr/HCSITSBodyTrait.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file HCSITSBodyTrait.h -//! \ingroup pe //! \author Tobias Preclik //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the hard contact solver diff --git a/src/pe/cr/ICR.h b/src/pe/cr/ICR.h index adc5548867135cb3f51341b38bb8e782fc97d0ed..69cc1b83aaa91791655415292217a22915a32909 100644 --- a/src/pe/cr/ICR.h +++ b/src/pe/cr/ICR.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ICR.h -//! \ingroup CollisionResponse //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/cr/PlainIntegrator.cpp b/src/pe/cr/PlainIntegrator.cpp index 185ba4e5eb6dd45d2794d241c7e61e6123c52ecf..0267e80225ef58785794268c2e9f29e2fdb0f928 100644 --- a/src/pe/cr/PlainIntegrator.cpp +++ b/src/pe/cr/PlainIntegrator.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file PlainIntegrator.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for the Plain Integrator solver diff --git a/src/pe/cr/PlainIntegrator.h b/src/pe/cr/PlainIntegrator.h index 8eaad57e804d486830b0f3412e656f2733a66689..378af07f64685bed667819b0a2541d9b498ab7f5 100644 --- a/src/pe/cr/PlainIntegrator.h +++ b/src/pe/cr/PlainIntegrator.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file PlainIntegrator.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the Plain Integrator solver diff --git a/src/pe/debug/BodyData.h b/src/pe/debug/BodyData.h index 19c8ae481117112506b8e962a59c6b672f6f3255..e0a0227a68b20141a27ec8b78e9ddd32eca5fcda 100644 --- a/src/pe/debug/BodyData.h +++ b/src/pe/debug/BodyData.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyData.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/fcd/IFCD.h b/src/pe/fcd/IFCD.h index 76653030a69ace66a58e9fd1e74d668c79f0c2c6..63b7e5a4f53c672b9fd2a03942dbc3743213e02a 100644 --- a/src/pe/fcd/IFCD.h +++ b/src/pe/fcd/IFCD.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file IFCD.h -//! \ingroup FineCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/fcd/SimpleFCD.h b/src/pe/fcd/SimpleFCD.h index bf1c7731f1a212a3346863b59a5895a15d4634c4..456d9b73b41d22b69f83ba5bcf586d5ee5163883 100644 --- a/src/pe/fcd/SimpleFCD.h +++ b/src/pe/fcd/SimpleFCD.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file IFCD.h -//! \ingroup FineCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/fcd/SimpleFCDDataHandling.h b/src/pe/fcd/SimpleFCDDataHandling.h index 2f815a8eb6a356afac07f1136f745519a3d86d31..4f46eccf86c7b25a35a19231516d0cebe7b2cf21 100644 --- a/src/pe/fcd/SimpleFCDDataHandling.h +++ b/src/pe/fcd/SimpleFCDDataHandling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SimpleFCDDataHandling.h -//! \ingroup FineCollisionDetection //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/pe_module.dox b/src/pe/pe_module.dox new file mode 100644 index 0000000000000000000000000000000000000000..65f330c7052fe3e6276be5e44e343283f42a3fb6 --- /dev/null +++ b/src/pe/pe_module.dox @@ -0,0 +1,78 @@ +namespace walberla { +namespace pe { + +/** +\defgroup pe pe - Rigid Body Dynamics + +\section gtn Good to Know + +\subsection CreationMethods What geometries are supported? + - Box created via createBox() + - Capsule created via createCapsule() + - Plane created via createPlane() + - Sphere created via createSphere() + - Union created via createUnion() + +\subsection SyncMethods What synchronization functions are available? +Please check the documentation of each individual method for more information. + - syncNextNeighbors() + - syncShadowOwners() + +\subsection CCD What coarse collision detection functions are available? +Please check the documentation of each individual function for more information. + - ccd::SimpleCCD created via createSimpleCCDDataHandling() + - ccd::HashGrids created via createHashGridsDataHandling() + +\subsection FCD What fine collision detection functions are available? +Please check the documentation of each individual function for more information. + - fcd::SimpleFCD create via createSimpleFCDDataHandling() (analytic contact detection) + +\subsection CRSolvers What collision resolution solvers are available? +Please check the documentation of each individual solver for more information. + - cr::DEM (soft contact solver) + - cr::HardContactSemiImplicitTimesteppingSolvers (hard contact solver) + +\subsection BodyFlags Global, Communicating and InfiniteMass flags +These flags are given during the creation process of the rigid body. They can be retrieved with +RigidBody::isGlobal(), RigidBody::isCommunicating() and RigidBody::hasInfiniteMass(). + +The **global** flag decides if the rigid body is stored in the global body storage or in one of the +block local body storages. If the body is stored in the global body storage it will receive a +global system id. Infinitely large bodies like planes are always global. + +The **communicating** flag decides if the body takes part in the synchronization process, e.g. it spawns +shadow copies and updates already existent shadow copies. Bodies which do not move throughout +the simulation can be made non communicating. +\attention There will be no shadow copies of non communicating bodies even if they overlap a +subdomain boundary. To overcome this drawback you can set **syncNonCommunicatingBodies** +to **true** once in your sync call (syncNextNeighbors() or syncShadowOwners()). + +The **infiniteMass** flag decides if the body is "considered" by the collision resolution system. It still +influences other rigid bodies but will not be moved itself. Rigid bodies with the **infiniteMass** +flag set can still have a static velocity and will move accordingly. + +\subsection BodyNotFoundError "Object with id: xxx not found in shadowStorage! Cannot transfer ownership!" +Most likely one of your bodies got too fast. The process of migrating a rigid body to a new process is: + 1. overlap new subdomain + 2. sync + 3. move center of mass into the new subdomain + 4. sync + +If a rigid body gets fast enough to move its center of mass into a new subdomain without first creating +a shadow copy you will receive that error message. + +\subsection UnionContacts Contacts Involving Unions +Collision detection for unions is done by colliding each of its subbodies separately. +The contacts generated involves the **subbodies**. With this approach you can use different +material parameters for every subbody and the solver component can retrieve the material +of every collision partner by retrieving the material of Contact::getBody1(), Contact::getBody2(). + +\attention To get the correct mass and inertia of a union during collision resolution +you should call RigidBody::getTopSuperBody() and then RigidBody::getMass() +(RigidBody::getInertia()) using the returned rigid body. + +\section CommonFunctions Important Classes and Functions +**/ + +} +} diff --git a/src/pe/rigidbody/BodyIterators.h b/src/pe/rigidbody/BodyIterators.h index f52ac819c4899433938b0e26f8ef2178c454fe68..aaf7d7daf55ea5698822197817db048bdebee7a4 100644 --- a/src/pe/rigidbody/BodyIterators.h +++ b/src/pe/rigidbody/BodyIterators.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyIterators.h -//! \ingroup pe //! \author Florian Schornbaum <florian.schornbaum@fau.de> //! \author Christoph Rettinger <christoph.rettinger@fau.de> //! \author Sebastian Eibl <sebastian.eibl@fau.de> diff --git a/src/pe/rigidbody/BodyStorage.h b/src/pe/rigidbody/BodyStorage.h index eda17800743954e702850d02d5559f0d2c993d2b..fb34a55908f6a721914f9fcde6fb8e4953f73589 100644 --- a/src/pe/rigidbody/BodyStorage.h +++ b/src/pe/rigidbody/BodyStorage.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyStorage.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -54,7 +53,6 @@ namespace pe { //************************************************************************************************* /*!\brief Body storage of the rigid body simulation world. - * \ingroup pe * * A BodyStorage is a data structure for storing rigid bodies. It supports efficient insertion and * deletion operations. diff --git a/src/pe/rigidbody/Box.cpp b/src/pe/rigidbody/Box.cpp index 527ddbf6ffce66c122a7a03923d0a5e2178184c7..417af0f24293989aee22a9f84499cde30f8d8a6e 100644 --- a/src/pe/rigidbody/Box.cpp +++ b/src/pe/rigidbody/Box.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Box.cpp -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -345,7 +344,6 @@ void Box::calcInertia() //************************************************************************************************* /*!\brief Global output operator for boxes. - * \ingroup box * * \param os Reference to the output stream. * \param b Reference to a constant box object. @@ -365,7 +363,6 @@ std::ostream& operator<<( std::ostream& os, const Box& b ) //************************************************************************************************* /*!\brief Global output operator for box handles. - * \ingroup box * * \param os Reference to the output stream. * \param b Constant box handle. diff --git a/src/pe/rigidbody/Box.h b/src/pe/rigidbody/Box.h index 9f5659a044f52d651a1e64b1d30269d1dd16cc90..427c5ea2a9aa79e6c32866779b4315056171fd88 100644 --- a/src/pe/rigidbody/Box.h +++ b/src/pe/rigidbody/Box.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Box.h -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -49,7 +48,9 @@ namespace pe { // //================================================================================================= -/*!\brief Box geometry. +/** + * \ingroup pe + * \brief Box geometry. * * The Box class represents the geometric primitive box, which is one of the basic geometric * primitives of the \b pe physics module. The class is derived from the GeomPrimitive base class, diff --git a/src/pe/rigidbody/BoxFactory.h b/src/pe/rigidbody/BoxFactory.h index 4e0e9e3834046abd93613820e5f95353e9a0f134..3313cf87b05a6f00b1aa82237fd90bab7f76e3cb 100644 --- a/src/pe/rigidbody/BoxFactory.h +++ b/src/pe/rigidbody/BoxFactory.h @@ -38,8 +38,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Setup of a new Box. - * \ingroup rigidbody +/** + * \ingroup pe + * \brief Setup of a new Box. * * \param globalStorage process local global storage * \param blocks storage of all the blocks on this process @@ -60,17 +61,8 @@ namespace pe { * and consists of the material \a material. * * The following code example illustrates the setup of a box: - - \code - // Creating the iron box 1 with a side lengths of 2.5 at the global position (2,3,4). - // Note that the box is - // automatically added to the simulation world and is immediately part of the entire - // simulation. The function returns a handle to the newly created box, which can - // be used to for instance rotate the box around the global y-axis. - BoxID box = createBox( globalStorage, blocks, storageID, 1, Vec3(2,3,4), Vec3(2.5,2.5,2.5) ); - if (box != NULL) - box->rotate( 0.0, PI/3.0, 0.0 ); - \endcode + * \snippet PeDocumentationSnippets.cpp Create a Box + * */ BoxID createBox( BodyStorage& globalStorage, BlockStorage& blocks, BlockDataID storageID, id_t uid, const Vec3& gpos, const Vec3& lengths, diff --git a/src/pe/rigidbody/Capsule.cpp b/src/pe/rigidbody/Capsule.cpp index 7c614931a15b53286e2a72bd0f938f98d144f5c6..0a99487ef92f44a3b7b25134765727dfc994d501 100644 --- a/src/pe/rigidbody/Capsule.cpp +++ b/src/pe/rigidbody/Capsule.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Capsule.cpp -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -270,7 +269,6 @@ void Capsule::print( std::ostream& os, const char* tab ) const //************************************************************************************************* /*!\brief Global output operator for capsules. - * \ingroup capsule * * \param os Reference to the output stream. * \param c Reference to a constant capsule object. @@ -290,7 +288,6 @@ std::ostream& operator<<( std::ostream& os, const Capsule& c ) //************************************************************************************************* /*!\brief Global output operator for capsule handles. - * \ingroup capsule * * \param os Reference to the output stream. * \param c Constant capsule handle. diff --git a/src/pe/rigidbody/Capsule.h b/src/pe/rigidbody/Capsule.h index 4a41629c5b1577a391577d4d49b7e3ec49e61516..3be8e04530f9b725e2831de746ba8c1875143b98 100644 --- a/src/pe/rigidbody/Capsule.h +++ b/src/pe/rigidbody/Capsule.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Capsule.h -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -51,10 +50,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Capsule geometry. - * \ingroup rigidbody - * - * \section capsule_general General +/** + * \ingroup pe + * \brief Capsule geometry. * * The Capsule class represents the geometric primitive capsule, which is one of the basic * geometric primitives of the \b pe physics module. The class is derived from the GeomPrimitive diff --git a/src/pe/rigidbody/CapsuleFactory.h b/src/pe/rigidbody/CapsuleFactory.h index 49f92f97a9d3eec256ad75bed0cf5c03998032cc..012522b6005222f40cf92033a48804da0f28596e 100644 --- a/src/pe/rigidbody/CapsuleFactory.h +++ b/src/pe/rigidbody/CapsuleFactory.h @@ -38,8 +38,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Setup of a new Capsule. - * \ingroup rigidbody +/** + * \ingroup pe + * \brief Setup of a new Capsule. * * \param globalStorage process local global storage * \param blocks storage of all the blocks on this process @@ -54,6 +55,10 @@ namespace pe { * \param communicating specifies if the capsule should take part in synchronization (syncNextNeighbour, syncShadowOwner) * \param infiniteMass specifies if the capsule has infinite mass and will be treated as an obstacle * \return Handle for the new capsule. + * + * The following code example illustrates the setup of a capsule: + + \snippet PeDocumentationSnippets.cpp Create a Capsule */ CapsuleID createCapsule( BodyStorage& globalStorage, BlockStorage& blocks, BlockDataID storageID, id_t uid, const Vec3& gpos, const real_t radius, const real_t length, diff --git a/src/pe/rigidbody/GeomPrimitive.cpp b/src/pe/rigidbody/GeomPrimitive.cpp index ecc3cdef99ed8827390698130c32cf672087e13f..ce6d2d8113c69fde7724259fde28cbc46c5247ee 100644 --- a/src/pe/rigidbody/GeomPrimitive.cpp +++ b/src/pe/rigidbody/GeomPrimitive.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file GeomPrimitive.cpp -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Source file for the GeomPrimitive class diff --git a/src/pe/rigidbody/GeomPrimitive.h b/src/pe/rigidbody/GeomPrimitive.h index 05a5bcdfb5431c95b73aae98ba90e61cea92da23..2fa2f059d78d303c7df34748860eca66f070363a 100644 --- a/src/pe/rigidbody/GeomPrimitive.h +++ b/src/pe/rigidbody/GeomPrimitive.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file GeomPrimitive.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> //! \brief Header file for the GeomPrimitive class @@ -43,7 +42,6 @@ namespace pe { //************************************************************************************************* /*!\brief Base class for all primitive geometries. - * \ingroup rigidbody * * The GeomPrimitive class is the abstract basis for all geometric primitives of the rigid body * physics module. The class provides the common data members and the common functionality for diff --git a/src/pe/rigidbody/MPIRigidBodyTrait.h b/src/pe/rigidbody/MPIRigidBodyTrait.h index 4760175e2973bea63bd59657440b034ff4053bac..022bc2dbc7c8c1f670ac868ea06685a9009981c4 100644 --- a/src/pe/rigidbody/MPIRigidBodyTrait.h +++ b/src/pe/rigidbody/MPIRigidBodyTrait.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file MPIRigidBodyTrait.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== @@ -40,7 +39,6 @@ namespace pe{ //************************************************************************************************* /*!\brief Base class for a specialization of the RigidBodyTrait class template for MPI parallel solvers. - * \ingroup rigidbody * * This class adds functionality to track which process owns the rigid body and which processes * have remote copies of the body in case it is owned by this process. diff --git a/src/pe/rigidbody/Node.h b/src/pe/rigidbody/Node.h index c4adf726298f09b0cf53ab4bf47ca564aa45e5d4..584d44e4f5bb66ce8c2d55d7891992178776160e 100644 --- a/src/pe/rigidbody/Node.h +++ b/src/pe/rigidbody/Node.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Node.h -//! \ingroup pe //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -41,7 +40,6 @@ namespace pe { //************************************************************************************************* /*!\brief Node for the 'Union Find' algorithm. - * \ingroup batch_generation * * This specialization of the BodyTrait class template adapts rigid bodies to the 'Union Find' * batch generation algorithm. In this algorithm, rigid bodies act as nodes in a graph and diff --git a/src/pe/rigidbody/Owner.h b/src/pe/rigidbody/Owner.h index 783982bbc36c28ec1cf26e9c2fd41df976d0bc5d..53e15de8816e96d0e91bee393bb1242dce51c9c6 100644 --- a/src/pe/rigidbody/Owner.h +++ b/src/pe/rigidbody/Owner.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Owner.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/rigidbody/Plane.cpp b/src/pe/rigidbody/Plane.cpp index a515c26311b661735914e246b33bc0da25760cf5..ffb6c91a0690eaabb52bb7c45199b0255506deb3 100644 --- a/src/pe/rigidbody/Plane.cpp +++ b/src/pe/rigidbody/Plane.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Plane.cpp -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -566,7 +565,6 @@ void Plane::print( std::ostream& os, const char* tab ) const //************************************************************************************************* /*!\brief Global output operator for planes. - * \ingroup plane * * \param os Reference to the output stream. * \param p Reference to a constant plane object. @@ -586,7 +584,6 @@ std::ostream& operator<<( std::ostream& os, const Plane& p ) //************************************************************************************************* /*!\brief Global output operator for plane handles. - * \ingroup plane * * \param os Reference to the output stream. * \param p Constant plane handle. diff --git a/src/pe/rigidbody/Plane.h b/src/pe/rigidbody/Plane.h index 2e11d6f9bbc63ffd2e1d39f473b5238e8251a930..996edb3e84a4589be73f31a5e5cd61e9d9517e45 100644 --- a/src/pe/rigidbody/Plane.h +++ b/src/pe/rigidbody/Plane.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Plane.h -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -42,8 +41,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Plane geometry. - * \ingroup rigidbody +/** + * \ingroup pe + * \brief Plane geometry. * * The Plane class represents the geometric primitive plane, which is one of the basic geometric * primitives of the pe module. The class is derived from the GeomPrimitive base diff --git a/src/pe/rigidbody/PlaneFactory.h b/src/pe/rigidbody/PlaneFactory.h index d7ef0e797441b6f2eaaaaf2d6929f651210e6ac5..63345f54b0e57c527144cfdd7566871ea6fbb6d8 100644 --- a/src/pe/rigidbody/PlaneFactory.h +++ b/src/pe/rigidbody/PlaneFactory.h @@ -38,8 +38,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Setup of a new plane. - * \ingroup rigidbody +/** + * \ingroup pe + * \brief Setup of a new Plane. * * \param globalStorage process local global storage * \param uid The user-specific ID of the plane. @@ -51,12 +52,11 @@ namespace pe { * This function creates a plane primitive in the simulation system. The plane with * user-specific ID \a uid is placed at the global position \a gpos, oriented with \a normal * and consists of the material \a material - - * The following code example illustrates the setup of a sphere: - - \code - PlaneID plane = createPlane( globalStorage, 1, Vec3(2,3,4), Vec3(2,3,4) ); - \endcode + * + * The following code example illustrates the setup of a plane: + * + * \snippet PeDocumentationSnippets.cpp Create a Plane + * */ PlaneID createPlane( BodyStorage& globalStorage, id_t uid, Vec3 normal, const Vec3& gpos, diff --git a/src/pe/rigidbody/RigidBody.cpp b/src/pe/rigidbody/RigidBody.cpp index 8512ba329abc09b97005d997a20429dceb0100a1..c67cac62c77b044ed564cf86767229d862b80f89 100644 --- a/src/pe/rigidbody/RigidBody.cpp +++ b/src/pe/rigidbody/RigidBody.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBody.cpp -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -193,7 +192,6 @@ bool RigidBody::checkInvariants() //************************************************************************************************* /*!\brief Global output operator for rigid bodies. - * \ingroup rigid_body * * \param os Reference to the output stream. * \param b Reference to a constant rigid body object. @@ -213,7 +211,6 @@ std::ostream& operator<<( std::ostream& os, const RigidBody& b ) //************************************************************************************************* /*!\brief Global output operator for rigid body handles. - * \ingroup rigid_body * * \param os Reference to the output stream. * \param b Constant rigid body handle. diff --git a/src/pe/rigidbody/RigidBody.h b/src/pe/rigidbody/RigidBody.h index d6b3a9a44e0ca43b683146a7b107b73a49cb6101..408750a521d7d321a4be45303b5114dee9cdd56e 100644 --- a/src/pe/rigidbody/RigidBody.h +++ b/src/pe/rigidbody/RigidBody.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBody.h -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -47,6 +46,9 @@ namespace pe{ template <typename BodyTypeTuple> class Union; +/** + * \ingroup pe + */ class RigidBody : public Node , public ccd::HashGridsBodyTrait , public cr::HCSITSBodyTrait diff --git a/src/pe/rigidbody/SetBodyTypeIDs.h b/src/pe/rigidbody/SetBodyTypeIDs.h index 32bc79b988ad465e5a424e6440085c88f3eaf7be..a7a7996d7a71226f7fb46863be92343e5f6dcd5d 100644 --- a/src/pe/rigidbody/SetBodyTypeIDs.h +++ b/src/pe/rigidbody/SetBodyTypeIDs.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SetBodyTypeIDs.h -//! \ingroup RigidBody //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== @@ -31,6 +30,22 @@ namespace pe { template < typename BodyTypeTuple > struct SetBodyTypeIDs{ + /** + * \ingroup pe + * \brief Initial setup of static type ids. + * + * \tparam BodyTypeTuple boost::tuple of all geometries used throughout the simulation + * + * Each geometry has a unique type id which is used to identify the geometry. + * These type ids have to be set at the start of the simulation using this function. + * \note You have to call this function on all processes identically. + * + * The template parameter is a boost::tuple of geometries used during the simulation. + * Since the tuple is used often a typedef is used. + * \snippet PeDocumentationSnippets.cpp Definition BodyTypeTuple + * The function call then looks like: + * \snippet PeDocumentationSnippets.cpp Definition Setup TypeIds + */ static void execute(){ auto typeID = UniqueID<SetBodyTypeIDs<int> >::createGlobal(); BodyTypeTuple::head_type::setStaticTypeID( typeID ); diff --git a/src/pe/rigidbody/Sphere.cpp b/src/pe/rigidbody/Sphere.cpp index 791e0880b4d4b5867ec5feafa12c604b187be80f..78ceb34de931b4e3df2b770d489e88c302dbd4fb 100644 --- a/src/pe/rigidbody/Sphere.cpp +++ b/src/pe/rigidbody/Sphere.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Sphere.cpp -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -218,7 +217,6 @@ void Sphere::print( std::ostream& os, const char* tab ) const //************************************************************************************************* /*!\brief Global output operator for spheres. - * \ingroup sphere * * \param os Reference to the output stream. * \param s Reference to a constant sphere object. @@ -238,7 +236,6 @@ std::ostream& operator<<( std::ostream& os, const Sphere& s ) //************************************************************************************************* /*!\brief Global output operator for sphere handles. - * \ingroup sphere * * \param os Reference to the output stream. * \param s Constant sphere handle. diff --git a/src/pe/rigidbody/Sphere.h b/src/pe/rigidbody/Sphere.h index ccd227f754062c68bbb2d555e70845a7686c70c1..edfa5acfb8fd94e7510125d1ce3a86b52912689e 100644 --- a/src/pe/rigidbody/Sphere.h +++ b/src/pe/rigidbody/Sphere.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Sphere.h -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -50,8 +49,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Base class for the sphere geometry. - * \ingroup sphere +/** + * \ingroup pe + * \brief Base class for the sphere geometry. * * The Sphere class represents the base class for the sphere geometry. It provides * the basic functionality of a sphere. For a full description of the sphere geometry, diff --git a/src/pe/rigidbody/SphereFactory.h b/src/pe/rigidbody/SphereFactory.h index ecd81c82e06c7ab2fd16532dc133a430f355c1ac..e1f5774209d43abdba9d29e0060aacc586be3afa 100644 --- a/src/pe/rigidbody/SphereFactory.h +++ b/src/pe/rigidbody/SphereFactory.h @@ -38,8 +38,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Setup of a new sphere. - * \ingroup rigidbody +/** + * \ingroup pe + * \brief Setup of a new Sphere. * * \param globalStorage process local global storage * \param blocks storage of all the blocks on this process @@ -60,17 +61,9 @@ namespace pe { * and consists of the material \a material. * * The following code example illustrates the setup of a sphere: - - \code - // Creating the iron sphere 1 with a radius of 2.5 at the global position (2,3,4). - // Note that the sphere is - // automatically added to the simulation world and is immediately part of the entire - // simulation. The function returns a handle to the newly created sphere, which can - // be used to for instance rotate the sphere around the global y-axis. - SphereID sphere = createSphere( globalStorage, blocks, storageID, 1, Vec3(2,3,4), 2.5 ); - if (SphereID != NULL) - sphere->rotate( 0.0, PI/3.0, 0.0 ); - \endcode + * + * \snippet PeDocumentationSnippets.cpp Create a Sphere + * */ SphereID createSphere( BodyStorage& globalStorage, BlockStorage& blocks, BlockDataID storageID, id_t uid, const Vec3& gpos, real_t radius, diff --git a/src/pe/rigidbody/StorageDataHandling.h b/src/pe/rigidbody/StorageDataHandling.h index 55986823e32c7c5ed064b32066d16d7cfebf92bf..6e60e5f6f97a7438af1e7323030ab8d82aecd174 100644 --- a/src/pe/rigidbody/StorageDataHandling.h +++ b/src/pe/rigidbody/StorageDataHandling.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyStorageDataHandling.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/rigidbody/Union.h b/src/pe/rigidbody/Union.h index 0b979bb0251a5f8079ea88e4ebcdecfc5c598c54..1dacea3264ec0487a9e7c4d4cfeb06b40375c6ec 100644 --- a/src/pe/rigidbody/Union.h +++ b/src/pe/rigidbody/Union.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Union.h -//! \ingroup RigidBody //! \author Klaus Iglberger //! \author Sebastian Eibl <sebastian.eibl@fau.de> // @@ -53,8 +52,9 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\brief Base class for the sphere geometry. - * \ingroup sphere +/** + * \ingroup pe + * \brief Base class for the sphere geometry. * * The Sphere class represents the base class for the sphere geometry. It provides * the basic functionality of a sphere. For a full description of the sphere geometry, @@ -1094,7 +1094,6 @@ void Union<BodyTypeTuple>::print( std::ostream& os, const char* tab ) const //************************************************************************************************* /*!\brief Global output operator for unions. - * \ingroup union * * \param os Reference to the output stream. * \param u Reference to a constant union object. @@ -1115,7 +1114,6 @@ std::ostream& operator<<( std::ostream& os, const Union<BodyTypeTuple>& u ) //************************************************************************************************* /*!\brief Global output operator for union handles. - * \ingroup union * * \param os Reference to the output stream. * \param u Constant union handle. diff --git a/src/pe/rigidbody/UnionFactory.h b/src/pe/rigidbody/UnionFactory.h index 31096e92c1dc272628497ae774945fa330d5f04e..e237e0dd31d83642f80663ed48b7c083498cad63 100644 --- a/src/pe/rigidbody/UnionFactory.h +++ b/src/pe/rigidbody/UnionFactory.h @@ -39,14 +39,16 @@ namespace pe { //================================================================================================= // -// BOX SETUP FUNCTIONS +// UNION SETUP FUNCTIONS // //================================================================================================= //************************************************************************************************* -/*!\brief Setup of a new Union. - * \ingroup rigidbody +/** + * \ingroup pe + * \brief Setup of a new Union. * + * \tparam BodyTypeTuple boost::tuple of all geometries the Union should be able to contain * \param globalStorage process local global storage * \param blocks storage of all the blocks on this process * \param storageID BlockDataID of the BlockStorage block datum @@ -56,15 +58,20 @@ namespace pe { * \param communicating specifies if the union should take part in synchronization (syncNextNeighbour, syncShadowOwner) * \param infiniteMass specifies if the union has infinite mass and will be treated as an obstacle * \return Handle for the new union. - * \exception std::invalid_argument Invalid box radius. - * \exception std::invalid_argument Invalid global box position. + * \exception std::runtime_error Union TypeID not initalized! + * + * The code example illustrates the setup of a Union. For convenience the following typedefs were made. + * You can adapt them to your needs. + * \snippet PeDocumentationSnippets.cpp Definition of Union Types + * \snippet PeDocumentationSnippets.cpp Create a Union */ template <typename BodyTypeTuple> Union<BodyTypeTuple>* createUnion( BodyStorage& globalStorage, BlockStorage& blocks, BlockDataID storageID, id_t uid, const Vec3& gpos, bool global = false, bool communicating = true, bool infiniteMass = false ) { - WALBERLA_ASSERT_UNEQUAL( Union<BodyTypeTuple>::getStaticTypeID(), std::numeric_limits<id_t>::max(), "Union TypeID not initalized!"); + if (Union<BodyTypeTuple>::getStaticTypeID() == std::numeric_limits<id_t>::max()) + throw std::runtime_error("Union TypeID not initalized!"); Union<BodyTypeTuple>* bd = NULL; @@ -103,22 +110,34 @@ Union<BodyTypeTuple>* createUnion( BodyStorage& globalStorage, BlockStorage& b return bd; } +//************************************************************************************************* +/** + * \ingroup pe + * \brief Setup of a new Box directly attached to a Union. + * + * \tparam BodyTypeTuple boost::tuple of all geometries the Union is able to contain + * \exception std::runtime_error Box TypeID not initalized! + * \exception std::invalid_argument createBox: Union argument is NULL + * \exception std::logic_error createBox: Union is remote + * \exception std::invalid_argument Invalid side length + * \see createBox for more details + */ template <typename BodyTypeTuple> BoxID createBox( Union<BodyTypeTuple>* un, id_t uid, const Vec3& gpos, const Vec3& lengths, - MaterialID material, - bool global, bool communicating, bool infiniteMass ) + MaterialID material = Material::find("iron"), + bool global = false, bool communicating = true, bool infiniteMass = false ) { if (Box::getStaticTypeID() == std::numeric_limits<id_t>::max()) throw std::runtime_error("Box TypeID not initalized!"); // union not on this process/block -> terminate creation if (un == NULL) - throw std::invalid_argument( "createSphere: Union argument is NULL" ); + throw std::invalid_argument( "createBox: Union argument is NULL" ); // main union not on this process/block -> terminate creation if ( un->isRemote() ) - throw std::logic_error( "createSphere: Union is remote" ); + throw std::logic_error( "createBox: Union is remote" ); // Checking the side lengths if( lengths[0] <= real_t(0) || lengths[1] <= real_t(0) || lengths[2] <= real_t(0) ) @@ -157,22 +176,36 @@ BoxID createBox( Union<BodyTypeTuple>* un, return box; } +//************************************************************************************************* +/** + * \ingroup pe + * \brief Setup of a new Capsule directly attached to a Union. + * + * \tparam BodyTypeTuple boost::tuple of all geometries the Union is able to contain + * \exception std::runtime_error Capsule TypeID not initalized! + * \exception std::invalid_argument createCapsule: Union argument is NULL + * \exception std::logic_error createCapsule: Union is remote + * \exception std::invalid_argument Invalid capsule radius + * \exception std::invalid_argument Invalid capsule length + * + * \see createCapsule for more details + */ template <typename BodyTypeTuple> CapsuleID createCapsule( Union<BodyTypeTuple>* un, id_t uid, const Vec3& gpos, const real_t radius, const real_t length, - MaterialID material, - bool global, bool communicating, bool infiniteMass ) + MaterialID material = Material::find("iron"), + bool global = false, bool communicating = true, bool infiniteMass = false ) { if (Capsule::getStaticTypeID() == std::numeric_limits<id_t>::max()) throw std::runtime_error("Capsule TypeID not initalized!"); // union not on this process/block -> terminate creation if (un == NULL) - throw std::invalid_argument( "createSphere: Union argument is NULL" ); + throw std::invalid_argument( "createCapsule: Union argument is NULL" ); // main union not on this process/block -> terminate creation if ( un->isRemote() ) - throw std::logic_error( "createSphere: Union is remote" ); + throw std::logic_error( "createCapsule: Union is remote" ); // Checking the radius if( radius <= real_c(0) ) @@ -207,6 +240,19 @@ CapsuleID createCapsule( Union<BodyTypeTuple>* un, return capsule; } +//************************************************************************************************* +/** + * \ingroup pe + * \brief Setup of a new Sphere directly attached to a Union. + * + * \tparam BodyTypeTuple boost::tuple of all geometries the Union is able to contain + * \exception std::runtime_error Sphere TypeID not initalized! + * \exception std::invalid_argument createSphere: Union argument is NULL + * \exception std::logic_error createSphere: Union is remote + * \exception std::invalid_argument Invalid sphere radius + * + * \see createSphere for more details + */ template <typename BodyTypeTuple> SphereID createSphere( Union<BodyTypeTuple>* un, id_t uid, const Vec3& gpos, real_t radius, diff --git a/src/pe/synchronization/RemoveAndNotify.h b/src/pe/synchronization/RemoveAndNotify.h index e5a8ad523bc938e5d3de6d52eb13db4a79a5f9f7..8eaf880fe6e80157b7199d37dbf5b75606925a53 100644 --- a/src/pe/synchronization/RemoveAndNotify.h +++ b/src/pe/synchronization/RemoveAndNotify.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RemoveAndNotify.h -//! \ingroup pe //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/src/pe/utility/Distance.h b/src/pe/utility/Distance.h index 6869da63051e1032c98370c1687ea670aa4e3911..182932591f79a60f66345ee4b1cbda80f77f8561 100644 --- a/src/pe/utility/Distance.h +++ b/src/pe/utility/Distance.h @@ -45,11 +45,7 @@ namespace pe { //================================================================================================= //************************************************************************************************* -/*!\defgroup distance_calculation Distance calculation functions - * \ingroup pe - * - * These functions can be used to calculate the distance between two rigid bodies (surface to surface). - */ +//* These functions can be used to calculate the distance between two rigid bodies (surface to surface). //************************************************************************************************* @@ -65,7 +61,6 @@ inline real_t getSurfaceDistance( ConstPlaneID p1 , ConstPlaneID p2 ); //************************************************************************************************* /*!\brief Distance calculation between two Sphere primitives. - * \ingroup distance_calculation * * \param s1 The first sphere. * \param s2 The second sphere. @@ -84,7 +79,6 @@ inline real_t getSurfaceDistance( ConstSphereID s1, ConstSphereID s2 ) //************************************************************************************************* /*!\brief Distance calculation between a Sphere and a Plane. - * \ingroup distance_calculation * * \param s The sphere. * \param p The plane. @@ -102,7 +96,6 @@ inline real_t getSurfaceDistance( ConstSphereID s, ConstPlaneID p ) //************************************************************************************************* /*!\brief Distance calculation between two Plane primitives. - * \ingroup distance_calculation * * \param p1 The first plane. * \param p2 The second plane. diff --git a/tests/pe/BodyFlags.cpp b/tests/pe/BodyFlags.cpp index 228d0d83ac625206f0078b0b072e15404ecc630a..824b43e811f87bc2d809ebb1156cf0c720dcd6c8 100644 --- a/tests/pe/BodyFlags.cpp +++ b/tests/pe/BodyFlags.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyFlags.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/BodyIterators.cpp b/tests/pe/BodyIterators.cpp index 8b23a520512c716ef15243a8beaf8c5616c78664..a14fc38c543ae11787bd3ed28bda4f1ed1f1f803 100644 --- a/tests/pe/BodyIterators.cpp +++ b/tests/pe/BodyIterators.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyIterators.cpp -//! \ingroup pe_tests //! \author Florian Schornbaum <florian.schornbaum@fau.de> // //====================================================================================================================== diff --git a/tests/pe/BodyStorage.cpp b/tests/pe/BodyStorage.cpp index 4b3fae1127cfae9b6ab6b9c63d05aee8918ea949..644f29a1c063de596a9d15081778b2bd23ef784f 100644 --- a/tests/pe/BodyStorage.cpp +++ b/tests/pe/BodyStorage.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file BodyStorage.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/CMakeLists.txt b/tests/pe/CMakeLists.txt index 2f34fd7832d2b92e3ed7cfbc587fcfeeac0390f5..bf6297265c7b2174d56c55ab2ee8ae607758cbd8 100644 --- a/tests/pe/CMakeLists.txt +++ b/tests/pe/CMakeLists.txt @@ -26,6 +26,9 @@ waLBerla_execute_test( NAME PE_DELETEBODY_SO COMMAND $<TARGET_FILE:PE_DELETEBO waLBerla_compile_test( NAME PE_DESTROYBODY FILES DestroyBody.cpp DEPENDS core blockforest ) waLBerla_execute_test( NAME PE_DESTROYBODY ) +waLBerla_compile_test( NAME PE_DOCUMENTATIONSNIPPETS FILES PeDocumentationSnippets.cpp DEPENDS core ) +waLBerla_execute_test( NAME PE_DOCUMENTATIONSNIPPETS ) + waLBerla_compile_test( NAME PE_FORCESYNC FILES ForceSync.cpp DEPENDS core blockforest ) waLBerla_execute_test( NAME PE_FORCESYNC ) diff --git a/tests/pe/CheckVitalParameters.cpp b/tests/pe/CheckVitalParameters.cpp index 234d337b72ad9ec068e35df3a04ccd0982366414..2dceba711fb75b932e5c91cfb7b194bbae19998f 100644 --- a/tests/pe/CheckVitalParameters.cpp +++ b/tests/pe/CheckVitalParameters.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file CheckVitalParameters.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/CheckVitalParameters.h b/tests/pe/CheckVitalParameters.h index 710a760027922a051b08d587990a9c3e817c545b..424ef961278f839a79b251a7846d6599e4ac8d46 100644 --- a/tests/pe/CheckVitalParameters.h +++ b/tests/pe/CheckVitalParameters.h @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file CheckVitalParameters.h -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/Collision.cpp b/tests/pe/Collision.cpp index 89b81fbdf9de8a387afad952884a95c28d8b581f..faa5a5f420f7c2f6f259b03f79cf01012c4748f7 100644 --- a/tests/pe/Collision.cpp +++ b/tests/pe/Collision.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Collision.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/DeleteBody.cpp b/tests/pe/DeleteBody.cpp index 5eb18c428a9dde0ae9760a2a5c82b5915fb357bb..9b0d149bc327ed2bdfc6c9f79e6eeacfb5c8a0ba 100644 --- a/tests/pe/DeleteBody.cpp +++ b/tests/pe/DeleteBody.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Destroy.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/DestroyBody.cpp b/tests/pe/DestroyBody.cpp index c2cb329ff9dd8c7867a18af8cc0965eb36da4ee1..6233d4a91b33418d3b0326e310809d2916b2de48 100644 --- a/tests/pe/DestroyBody.cpp +++ b/tests/pe/DestroyBody.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Destroy.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/ForceSync.cpp b/tests/pe/ForceSync.cpp index 97f9d90344b8ebc5f3e1c849c0f896138256dee6..f0901d1b7039d9082dd6ed3569af9bf364d72f40 100644 --- a/tests/pe/ForceSync.cpp +++ b/tests/pe/ForceSync.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ForceSync.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/GJK_EPA.cpp b/tests/pe/GJK_EPA.cpp index 7ec32843969b0cda1bcd02ed6ee07d48774f19c0..931d14fd901d97a94059ee8397880b4d5e05ff5a 100644 --- a/tests/pe/GJK_EPA.cpp +++ b/tests/pe/GJK_EPA.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file GJK_EPA.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/HCSITS.cpp b/tests/pe/HCSITS.cpp index 908b2b39325563310e7e3d8f4776f0156d5a0595..ae0472195dbabc287b251b2550f7677ecdfd0cd7 100644 --- a/tests/pe/HCSITS.cpp +++ b/tests/pe/HCSITS.cpp @@ -15,7 +15,6 @@ // //! \file HCSITS.cpp //! \brief checks equality of hash grids and simple ccd -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/HashGrids.cpp b/tests/pe/HashGrids.cpp index 4063545fa0ddc942a767d0f918ac6fcf5da58607..1a01e29c6fbe01d8d30a080bf05f1cfa5f43a24d 100644 --- a/tests/pe/HashGrids.cpp +++ b/tests/pe/HashGrids.cpp @@ -15,7 +15,6 @@ // //! \file HashGrids.cpp //! \brief checks equality of hash grids and simple ccd -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/Marshalling.cpp b/tests/pe/Marshalling.cpp index 79e9dc9cd4e25996e8f49a78ebdef783f8fa180b..aedbc3566f44d99ccc0cc5e7c8fec198b3211c90 100644 --- a/tests/pe/Marshalling.cpp +++ b/tests/pe/Marshalling.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Marshalling.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/Material.cpp b/tests/pe/Material.cpp index c59352b27e9f02f32c5e9b3a13905a5139045919..0f3633a568c7355f83c30389bcedeb34db601ce5 100644 --- a/tests/pe/Material.cpp +++ b/tests/pe/Material.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Material.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/Overlap.cpp b/tests/pe/Overlap.cpp index d019b67aec05e99ced33ed0cf9cb8a7d02fbd074..9086a78828512884bf42036e5f3ef3e9babc5597 100644 --- a/tests/pe/Overlap.cpp +++ b/tests/pe/Overlap.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Overlap.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/ParallelEquivalence.cpp b/tests/pe/ParallelEquivalence.cpp index 60a69cbef807dbc7a019c8160e5c3db7d0bd0464..0448c509ee0a370b07947bba1f3090c64f9c2b6d 100644 --- a/tests/pe/ParallelEquivalence.cpp +++ b/tests/pe/ParallelEquivalence.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ParallelEquivalence.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/ParseMessage.cpp b/tests/pe/ParseMessage.cpp index 6a0593474e21701abcd608c4f85716d7ca73e71b..f80114989ce5515267d5d8265105243700b6df10 100644 --- a/tests/pe/ParseMessage.cpp +++ b/tests/pe/ParseMessage.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ParseMessage.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/PeDocumentationSnippets.cpp b/tests/pe/PeDocumentationSnippets.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2b68d1b534dc31c88c165364066e68b45f5df927 --- /dev/null +++ b/tests/pe/PeDocumentationSnippets.cpp @@ -0,0 +1,136 @@ +//====================================================================================================================== +// +// This file is part of waLBerla. waLBerla is free software: you can +// redistribute it and/or modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// waLBerla is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \file DocumentationSnippets.cpp +//! \author Sebastian Eibl <sebastian.eibl@fau.de> +// +//====================================================================================================================== + + +#include "blockforest/all.h" +#include "core/all.h" +#include "domain_decomposition/all.h" + +#include "pe/basic.h" +#include "pe/rigidbody/BoxFactory.h" +#include "pe/rigidbody/CapsuleFactory.h" +#include "pe/rigidbody/SphereFactory.h" +#include "pe/rigidbody/UnionFactory.h" +#include "pe/ccd/SimpleCCDDataHandling.h" +#include "pe/synchronization/SyncNextNeighbors.h" +#include "pe/vtk/BodyVtkOutput.h" +#include "pe/vtk/SphereVtkOutput.h" + +#include "CheckVitalParameters.h" + +#include "core/debug/TestSubsystem.h" +#include "vtk/VTKOutput.h" + +#include <boost/tuple/tuple.hpp> + +#include <algorithm> +#include <vector> + +using namespace walberla; +using namespace walberla::pe; + +//! [Definition of Union Types] +typedef boost::tuple<Box, Capsule, Sphere> UnionTypeTuple; +typedef Union< UnionTypeTuple > UnionT; +typedef UnionT* UnionID; +//! [Definition of Union Types] + +//! [Definition BodyTypeTuple] +typedef boost::tuple<Box, Capsule, Plane, Sphere, UnionT> BodyTypeTuple ; +//! [Definition BodyTypeTuple] + +int main( int argc, char ** argv ) +{ + walberla::debug::enterTestMode(); + + walberla::MPIManager::instance()->initializeMPI( &argc, &argv ); + + shared_ptr<BodyStorage> globalBodyStorage = make_shared<BodyStorage>(); + + // create blocks + shared_ptr< StructuredBlockForest > forest = blockforest::createUniformBlockGrid( + uint_c( 1), uint_c( 1), uint_c( 1), // number of blocks in x,y,z direction + uint_c( 1), uint_c( 1), uint_c( 1), // how many cells per block (x,y,z) + real_c(10), // dx: length of one cell in physical coordinates + 0, // max blocks per process + false, false, // include metis / force metis + false, false, false ); // full periodicity + + //! [Definition Setup TypeIds] + SetBodyTypeIDs<BodyTypeTuple>::execute(); + //! [Definition Setup TypeIds] + + auto storageID = forest->addBlockData(createStorageDataHandling<BodyTypeTuple>(), "Storage"); + auto ccdID = forest->addBlockData(ccd::createHashGridsDataHandling( globalBodyStorage, storageID ), "CCD"); + auto fcdID = forest->addBlockData(fcd::createSimpleFCDDataHandling<BodyTypeTuple>(), "FCD"); + + //! [Setup HCSITS] + cr::HCSITS hcsits(globalBodyStorage, forest->getBlockStoragePointer(), storageID, ccdID, fcdID); + hcsits.setMaxIterations ( uint_c(10) ); + hcsits.setRelaxationModel ( cr::HCSITS::InelasticGeneralizedMaximumDissipationContact ); + hcsits.setRelaxationParameter ( real_t(0.7) ); + hcsits.setErrorReductionParameter ( real_t(0.8) ); + hcsits.setGlobalLinearAcceleration( Vec3(0,0,-1) ); + //! [Setup HCSITS] + + //! [Create a Box] + // Creating the iron box 1 with a side lengths of 2.5 at the global position (2,3,4). + // Note that the box is + // automatically added to the simulation world and is immediately part of the entire + // simulation. The function returns a handle to the newly created box, which can + // be used to for instance rotate the box around the global y-axis. + BoxID box = createBox( *globalBodyStorage, forest->getBlockStorage(), storageID, 1, Vec3(2,3,4), Vec3(2.5,2.5,2.5) ); + if (box != NULL) + box->rotate( 0.0, math::PI/3.0, 0.0 ); + //! [Create a Box] + + //! [Create a Capsule] + // Create a capsule and rotate it after successfull creation. + CapsuleID capsule = createCapsule( *globalBodyStorage, forest->getBlockStorage(), storageID, 1, Vec3(2,3,4), real_t(1), real_t(1) ); + if (capsule != NULL) + capsule->rotate( 0.0, math::PI/3.0, 0.0 ); + //! [Create a Capsule] + + //! [Create a Plane] + // Create a plane + PlaneID plane = createPlane( *globalBodyStorage, 1, Vec3(2,3,4), Vec3(2,3,4) ); + //! [Create a Plane] + WALBERLA_UNUSED( plane ); + + //! [Create a Sphere] + // Create a sphere and rotate it after successfull creation. + SphereID sphere = createSphere( *globalBodyStorage, forest->getBlockStorage(), storageID, 1, Vec3(2,3,4), real_t(1) ); + if (sphere != NULL) + sphere->rotate( 0.0, math::PI/3.0, 0.0 ); + //! [Create a Sphere] + + //! [Create a Union] + // Create a union and add a box, capsule and sphere. + UnionID un = createUnion<UnionTypeTuple>( *globalBodyStorage, forest->getBlockStorage(), storageID, 1, Vec3(2,3,4) ); + if (un != NULL) + { + createBox ( un, 1, Vec3(2,3,4), Vec3(2.5,2.5,2.5) ); + createCapsule( un, 1, Vec3(3,3,4), real_t(1), real_t(1) ); + createSphere ( un, 1, Vec3(4,3,4), real_t(1) ); + } + //! [Create a Union] + + return EXIT_SUCCESS; +} diff --git a/tests/pe/Refinement.cpp b/tests/pe/Refinement.cpp index ef6a6aa207df5fc97812d6b9abbf0ce580636f33..cb8291d28632befc0e92a15ad47ec38f8258e8f6 100644 --- a/tests/pe/Refinement.cpp +++ b/tests/pe/Refinement.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ParallelEquivalence.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/RigidBody.cpp b/tests/pe/RigidBody.cpp index 2df26b61d3177f05bfc35d32e1c1e257da0f29d0..58926892dfa4786e5baaa3a9413bbf04df96390c 100644 --- a/tests/pe/RigidBody.cpp +++ b/tests/pe/RigidBody.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file RigidBody.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/SerializeDeserialize.cpp b/tests/pe/SerializeDeserialize.cpp index 8c59d3e1da8baf147b1b2a88648cd8cbea6f8bf1..6fb932c020ceed6607248d076906dfeb790db2a5 100644 --- a/tests/pe/SerializeDeserialize.cpp +++ b/tests/pe/SerializeDeserialize.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Synchronization.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/SetBodyTypeIDs.cpp b/tests/pe/SetBodyTypeIDs.cpp index 389adbd157b4765fb3cb35f02af90577dcbd673e..dee15759db4c51d2f8c9ee88d66a2bfde8af081b 100644 --- a/tests/pe/SetBodyTypeIDs.cpp +++ b/tests/pe/SetBodyTypeIDs.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SetBodyTypeIDs.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/ShadowCopy.cpp b/tests/pe/ShadowCopy.cpp index b709ae03e81c29d31883b0b6aad2682b85ccb28a..1661343557cd7a9018241c07c85d25637b13d928 100644 --- a/tests/pe/ShadowCopy.cpp +++ b/tests/pe/ShadowCopy.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ShadowCopy.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/SimpleCCD.cpp b/tests/pe/SimpleCCD.cpp index 07f1287108e808d31efdcc70a63d95ae7ac5c5e6..cd0095811a842b11aa2d3bc2d54d95c60d93a0b9 100644 --- a/tests/pe/SimpleCCD.cpp +++ b/tests/pe/SimpleCCD.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SimpleCCD.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/SyncEquivalence.cpp b/tests/pe/SyncEquivalence.cpp index 6eab05807e54329ef27b06f89280480287dde39d..728268de134ef3e58d74fbfcaf3c3756fbb02d1c 100644 --- a/tests/pe/SyncEquivalence.cpp +++ b/tests/pe/SyncEquivalence.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SyncEquivalence.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/Synchronization.cpp b/tests/pe/Synchronization.cpp index 02245c300be3d8abb5e5dbe6cc0fa6f7a70e1864..c8ad534ffe4d84a832ba4e4986eacc1e62d72501 100644 --- a/tests/pe/Synchronization.cpp +++ b/tests/pe/Synchronization.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file Synchronization.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/SynchronizationDelete.cpp b/tests/pe/SynchronizationDelete.cpp index c276985c64d2fb5fd6870f39b100f9518a7996e3..fb40078fd1e4b121b02684800cf22d7c7537a2c0 100644 --- a/tests/pe/SynchronizationDelete.cpp +++ b/tests/pe/SynchronizationDelete.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SynchronizationDelete.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/SynchronizationLargeBody.cpp b/tests/pe/SynchronizationLargeBody.cpp index bcbbc7b7ad4b81d25cf4c0cf41fb93691e525955..ab7123da2b10ac22081e798867e8584315fdc9d7 100644 --- a/tests/pe/SynchronizationLargeBody.cpp +++ b/tests/pe/SynchronizationLargeBody.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file SynchronizationLargeBody.cpp -//! \ingroup pe_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //====================================================================================================================== diff --git a/tests/pe/Union.cpp b/tests/pe/Union.cpp index 4e274d22d5b9f16575c6685f6df67bfae4a67dc4..b451b128841267d75fb3317116152b34c101f24e 100644 --- a/tests/pe/Union.cpp +++ b/tests/pe/Union.cpp @@ -14,7 +14,6 @@ // with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. // //! \file ParallelEquivalence.cpp -//! \ingroup pe2_tests //! \author Sebastian Eibl <sebastian.eibl@fau.de> // //======================================================================================================================