Dear CS10-Gitlab-users, on Thursday, Feb 3 there will be maintenance. That will lead to a downtime of the CS10-Gitlab-service including Subversion and Mattermost chat from 09:30. This might take the whole day since we don't know how long it is going to take. We are sorry for the inconvenience! Best regards, CS10-Admin-Team

Commit 58a35558 authored by Sebastian Eibl's avatar Sebastian Eibl
Browse files

Merge branch 'TechnicalDetails' into 'master'

Adding special documentation for modules (pe)

See merge request !14
parents e500deb9 c183c5cb
......@@ -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>
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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>
//
//======================================================================================================================
......
......@@ -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
......
......@@ -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.
......
......@@ -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
......
......@@ -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>
......
......@@ -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
......
......@@ -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.
*/
......
......@@ -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
......
......@@ -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>
//
......
......@@ -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).
......
......@@ -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!
//
......
......@@ -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>
//
//======================================================================================================================
......
......@@ -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>
//
//======================================================================================================================
......
......@@ -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>
//
//======================================================================================================================
......
......@@ -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>
//
//======================================================================================================================
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment