From c183c5cb299a4f820157ec0b37c1987b9917c803 Mon Sep 17 00:00:00 2001 From: Sebastian Eibl <sebastian.eibl@fau.de> Date: Thu, 23 Mar 2017 16:28:52 +0100 Subject: [PATCH] reworked documentation & introduction of module page pe --- doc/Mainpage.dox | 7 +- src/core/math/MatrixMxN.h | 4 - src/core/math/Quaternion.h | 4 - src/core/math/RotationMatrix.h | 4 - src/pe/BlockFunctions.h | 1 - src/pe/Config.h | 3 - src/pe/Materials.cpp | 5 - src/pe/Materials.h | 31 ---- src/pe/Thresholds.h | 5 - src/pe/Types.h | 2 - src/pe/attachable/Attachable.cpp | 2 - src/pe/attachable/Attachable.h | 2 - src/pe/attachable/AttachableCast.h | 1 - src/pe/attachable/AttachableStorage.h | 2 - src/pe/basic.h | 1 - src/pe/bg/IBG.h | 1 - src/pe/bg/SimpleBG.h | 1 - src/pe/bg/SimpleBGDataHandling.h | 1 - src/pe/ccd/CCDDataHandling.h | 1 - src/pe/ccd/HashGrids.cpp | 9 -- src/pe/ccd/HashGrids.h | 2 - src/pe/ccd/HashGridsBodyTrait.h | 2 - src/pe/ccd/HashGridsDataHandling.h | 1 - src/pe/ccd/ICCD.h | 1 - src/pe/ccd/SimpleCCD.cpp | 1 - src/pe/ccd/SimpleCCD.h | 1 - src/pe/ccd/SimpleCCDDataHandling.h | 1 - src/pe/collision/Collide.h | 4 - src/pe/communication/DynamicMarshalling.h | 1 - src/pe/communication/Instantiate.h | 1 - src/pe/communication/Marshalling.cpp | 1 - src/pe/communication/Marshalling.h | 1 - src/pe/communication/NotificationType.h | 1 - src/pe/communication/PackNotification.h | 1 - src/pe/communication/ParseMessage.h | 1 - .../communication/RigidBodyCopyNotification.h | 2 - .../RigidBodyDeletionNotification.h | 2 - .../RigidBodyForceNotification.h | 2 - .../RigidBodyMigrationNotification.h | 2 - .../RigidBodyNewShadowCopyNotification.h | 2 - .../RigidBodyRemoteMigrationNotification.h | 2 - .../RigidBodyRemovalInformationNotification.h | 2 - .../RigidBodyRemovalNotification.h | 2 - .../RigidBodyUpdateNotification.h | 2 - .../RigidBodyVelocityCorrectionNotification.h | 2 - .../RigidBodyVelocityUpdateNotification.h | 2 - src/pe/communication/rigidbody/Box.cpp | 1 - src/pe/communication/rigidbody/Box.h | 1 - src/pe/communication/rigidbody/Capsule.cpp | 1 - src/pe/communication/rigidbody/Capsule.h | 1 - src/pe/communication/rigidbody/Sphere.cpp | 1 - src/pe/communication/rigidbody/Sphere.h | 1 - src/pe/communication/rigidbody/Union.h | 1 - src/pe/contact/Contact.cpp | 1 - src/pe/contact/Contact.h | 7 - src/pe/contact/ContactFunctions.h | 1 - src/pe/contact/ContactFunctions.impl.h | 1 - src/pe/cr/DEM.cpp | 1 - src/pe/cr/DEM.h | 4 +- src/pe/cr/HCSITS.h | 10 +- src/pe/cr/HCSITS.impl.h | 1 - src/pe/cr/HCSITSBodyTrait.h | 1 - src/pe/cr/ICR.h | 1 - src/pe/cr/PlainIntegrator.cpp | 1 - src/pe/cr/PlainIntegrator.h | 1 - src/pe/debug/BodyData.h | 1 - src/pe/fcd/IFCD.h | 1 - src/pe/fcd/SimpleFCD.h | 1 - src/pe/fcd/SimpleFCDDataHandling.h | 1 - src/pe/pe_module.dox | 78 ++++++++++ src/pe/rigidbody/BodyIterators.h | 1 - src/pe/rigidbody/BodyStorage.h | 2 - src/pe/rigidbody/Box.cpp | 3 - src/pe/rigidbody/Box.h | 5 +- src/pe/rigidbody/BoxFactory.h | 18 +-- src/pe/rigidbody/Capsule.cpp | 3 - src/pe/rigidbody/Capsule.h | 8 +- src/pe/rigidbody/CapsuleFactory.h | 9 +- src/pe/rigidbody/GeomPrimitive.cpp | 1 - src/pe/rigidbody/GeomPrimitive.h | 2 - src/pe/rigidbody/MPIRigidBodyTrait.h | 2 - src/pe/rigidbody/Node.h | 2 - src/pe/rigidbody/Owner.h | 1 - src/pe/rigidbody/Plane.cpp | 3 - src/pe/rigidbody/Plane.h | 6 +- src/pe/rigidbody/PlaneFactory.h | 16 +-- src/pe/rigidbody/RigidBody.cpp | 3 - src/pe/rigidbody/RigidBody.h | 4 +- src/pe/rigidbody/SetBodyTypeIDs.h | 17 ++- src/pe/rigidbody/Sphere.cpp | 3 - src/pe/rigidbody/Sphere.h | 6 +- src/pe/rigidbody/SphereFactory.h | 19 +-- src/pe/rigidbody/StorageDataHandling.h | 1 - src/pe/rigidbody/Union.h | 8 +- src/pe/rigidbody/UnionFactory.h | 74 ++++++++-- src/pe/synchronization/RemoveAndNotify.h | 1 - src/pe/utility/Distance.h | 9 +- tests/pe/BodyFlags.cpp | 1 - tests/pe/BodyIterators.cpp | 1 - tests/pe/BodyStorage.cpp | 1 - tests/pe/CMakeLists.txt | 3 + tests/pe/CheckVitalParameters.cpp | 1 - tests/pe/CheckVitalParameters.h | 1 - tests/pe/Collision.cpp | 1 - tests/pe/DeleteBody.cpp | 1 - tests/pe/DestroyBody.cpp | 1 - tests/pe/ForceSync.cpp | 1 - tests/pe/GJK_EPA.cpp | 1 - tests/pe/HCSITS.cpp | 1 - tests/pe/HashGrids.cpp | 1 - tests/pe/Marshalling.cpp | 1 - tests/pe/Material.cpp | 1 - tests/pe/Overlap.cpp | 1 - tests/pe/ParallelEquivalence.cpp | 1 - tests/pe/ParseMessage.cpp | 1 - tests/pe/PeDocumentationSnippets.cpp | 136 ++++++++++++++++++ tests/pe/Refinement.cpp | 1 - tests/pe/RigidBody.cpp | 1 - tests/pe/SerializeDeserialize.cpp | 1 - tests/pe/SetBodyTypeIDs.cpp | 1 - tests/pe/ShadowCopy.cpp | 1 - tests/pe/SimpleCCD.cpp | 1 - tests/pe/SyncEquivalence.cpp | 1 - tests/pe/Synchronization.cpp | 1 - tests/pe/SynchronizationDelete.cpp | 1 - tests/pe/SynchronizationLargeBody.cpp | 1 - tests/pe/Union.cpp | 1 - 127 files changed, 352 insertions(+), 290 deletions(-) create mode 100644 src/pe/pe_module.dox create mode 100644 tests/pe/PeDocumentationSnippets.cpp diff --git a/doc/Mainpage.dox b/doc/Mainpage.dox index 29e5aa72b..b31a3a182 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 a908a0787..b3d9faceb 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 b7b71b453..098c8325b 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 0a398e6aa..7bb34ac51 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 e90725b3e..c1e8e466d 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 56e069559..93fde81a7 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 8d7e35e71..ef789831e 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 01f9da609..355099c08 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 8c7cee3e9..f0993be59 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 8eb0d3560..15d386d54 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 1b64085dc..76056d686 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 5d6c71952..9c7b2b368 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 a87d045f5..bace6db7f 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 b2baaea51..009c3b087 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 47b6345e6..874531d82 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 844a470a1..8c956b567 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 80fbe6e1b..aa65b79d6 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 658011557..7b31e020b 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 5d11be07d..f17c6f8d3 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 93a69bdc9..b135767f8 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 85c172f08..442fabe37 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 87be586c4..40ab2505e 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 bead04555..38d1d1b4f 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 c4164b84c..cb4bf9759 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 b85b15dd4..b94a6669b 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 a548e109e..42a54f599 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 f21f1adc0..e6eba7709 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 2572faeaf..1baf317cc 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 24246cbe1..121931250 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 3190de2a2..6096c6552 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 ca1530f1d..bdeb9fd9d 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 1fc935363..225ffaa4f 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 5e6009fe4..6584537fa 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 9a6dfeb98..550309e98 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 ec0dd72da..5735beb15 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 57f2688d9..cfa726e7c 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 498e1ef31..a8197b2a1 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 00e811fb4..5ce3e9d55 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 c5988c44a..31c2e0882 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 5c5cd3aa6..cf7f2d9b2 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 01fa7fd69..3dcd20a3c 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 b0a6d2833..8b6d006af 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 7d9f7fd4c..75a94dd71 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 9c09c50ce..b6f16ce67 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 21e1af3da..71e5a59d1 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 ec4a592ec..487a09472 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 40217acb6..1b5bb4aac 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 89324fbe6..3a4c35a20 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 431f7ab02..849945919 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 45598783c..7f99b1d1d 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 bd663162e..dedd8367f 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 665a9a870..55881f65a 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 d645d91c7..0850d0231 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 4e49cd54b..ed9e68e28 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 badd0d2ae..51adfc7c3 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 38b271989..141ee7435 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 d24f1ad6f..f48b03281 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 7ffba7d85..e4915c755 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 052b08adb..100d921ce 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 ca6fcdb66..17987b7a5 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 c629bffd7..30f991458 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 dfc1a8a1a..bf83f5305 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 adc554886..69cc1b83a 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 185ba4e5e..0267e8022 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 8eaad57e8..378af07f6 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 19c8ae481..e0a0227a6 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 76653030a..63b7e5a4f 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 bf1c7731f..456d9b73b 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 2f815a8eb..4f46eccf8 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 000000000..65f330c70 --- /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 f52ac819c..aaf7d7daf 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 eda178007..fb34a5590 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 527ddbf6f..417af0f24 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 9f5659a04..427c5ea2a 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 4e0e9e383..3313cf87b 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 7c614931a..0a99487ef 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 4a41629c5..3be8e0453 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 49f92f97a..012522b60 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 ecc3cdef9..ce6d2d811 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 05a5bcdfb..2fa2f059d 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 4760175e2..022bc2dbc 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 c4adf7262..584d44e4f 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 783982bbc..53e15de88 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 a515c2631..ffb6c91a0 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 2e11d6f9b..996edb3e8 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 d7ef0e797..63345f54b 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 8512ba329..c67cac62c 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 d6b3a9a44..408750a52 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 32bc79b98..a7a7996d7 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 791e0880b..78ceb34de 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 ccd227f75..edfa5acfb 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 ecd81c82e..e1f577420 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 55986823e..6e60e5f6f 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 0b979bb02..1dacea326 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 31096e92c..e237e0dd3 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 e5a8ad523..8eaf880fe 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 6869da630..182932591 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 228d0d83a..824b43e81 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 8b23a5205..a14fc38c5 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 4b3fae112..644f29a1c 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 2f34fd783..bf6297265 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 234d337b7..2dceba711 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 710a76002..424ef9612 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 89b81fbdf..faa5a5f42 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 5eb18c428..9b0d149bc 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 c2cb329ff..6233d4a91 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 97f9d9034..f0901d1b7 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 7ec328439..931d14fd9 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 908b2b393..ae0472195 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 4063545fa..1a01e29c6 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 79e9dc9cd..aedbc3566 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 c59352b27..0f3633a56 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 d019b67ae..9086a7882 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 60a69cbef..0448c509e 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 6a0593474..f80114989 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 000000000..2b68d1b53 --- /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 ef6a6aa20..cb8291d28 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 2df26b61d..58926892d 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 8c59d3e1d..6fb932c02 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 389adbd15..dee15759d 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 b709ae03e..166134355 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 07f128710..cd0095811 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 6eab05807..728268de1 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 02245c300..c8ad534ff 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 c276985c6..fb40078fd 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 bcbbc7b7a..ab7123da2 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 4e274d22d..b451b1288 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> // //====================================================================================================================== -- GitLab