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