===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
yade-2020.01a/cMake/FindGTS.cmake-94-        OUTPUT_VARIABLE  GTS_CXX_FLAGS )
yade-2020.01a/cMake/FindGTS.cmake:95:       #SET(GTS_CXX_FLAGS "`${GTS_CONFIG} --cflags`")
yade-2020.01a/cMake/FindGTS.cmake-96-      SET(CMAKE_GTS_CXX_FLAGS ${GTS_CXX_FLAGS}) 
##############################################
yade-2020.01a/cMake/FindGTS.cmake-104-      
yade-2020.01a/cMake/FindGTS.cmake:105:      #SET(GSL_LIBRARIES "`${GSL_CONFIG} --libs`")
yade-2020.01a/cMake/FindGTS.cmake-106-      
##############################################
yade-2020.01a/core/Cell.hpp-178-		.def("setBox",&Cell::setBox,"Set :yref:`Cell` shape to be rectangular, with dimensions along axes specified by given argument. Shorthand for assigning diagonal matrix with respective entries to :yref:`hSize<Cell.hSize>`.")
yade-2020.01a/core/Cell.hpp:179:		.def("setBox",&Cell::setBox3,"Set :yref:`Cell` shape to be rectangular, with dimensions along $x$, $y$, $z$ specified by arguments. Shorthand for assigning diagonal matrix with the respective entries to :yref:`hSize<Cell.hSize>`.")
yade-2020.01a/core/Cell.hpp-180-		// debugging only
##############################################
yade-2020.01a/doc/sphinx/FEMxDEM.rst-75-   a) Determine the current tangent operator for each RVE.
yade-2020.01a/doc/sphinx/FEMxDEM.rst:76:   b) Assemble the global tangent matrix using equation :eq:`FDeq2` and obtain a trial solution of displacement $\vec{u}$ by solving Equation :eq:`FDeq1` with FEM.
yade-2020.01a/doc/sphinx/FEMxDEM.rst-77-   c) Interpolate the deformation $\nabla\vec{u}$ at each Gauss point of the FEM mesh and run the DEM simulation for the corresponding RVE using $\nabla\vec{u}$ as the DEM boundary conditions.
##############################################
yade-2020.01a/doc/sphinx/FoamCoupling.rst-108-
yade-2020.01a/doc/sphinx/FoamCoupling.rst:109:where in :eq:`svolfrac` $N_{p}$ is the number of particle contributions on the cell $c$, $G_{\star (i,c)}$ is the Gaussian weight obtained from :eq:`gausseq`, $V_{p,i}G_{\star (i,c)}$ forms the individual particle volume contribution.  $V_{c}$ is the fluid cell volume and $\epsilon_{f}+\epsilon_{s}=1$
yade-2020.01a/doc/sphinx/FoamCoupling.rst-110-
##############################################
yade-2020.01a/doc/sphinx/HydroForceEngine.rst-38-
yade-2020.01a/doc/sphinx/HydroForceEngine.rst:39:In case where the fluid is at rest (HydroForceEngine.steadyFlow = False), HydroForceEngine applies buoyancy on a particle $p$ from the fluid density and the acceleration of gravity $g$ as:
yade-2020.01a/doc/sphinx/HydroForceEngine.rst-40-
##############################################
yade-2020.01a/doc/sphinx/HydroForceEngine.rst-50-
yade-2020.01a/doc/sphinx/HydroForceEngine.rst:51:where $\mathbf u^f_p$ is the fluid velocity at the center of particle $p$, $\mathbf v^p$ is the particle velocity, $\rho^f$ is the fluid density, $A = \pi d^2/4$ is the area of the sphere submitted to the flow, and $C_d$ is the drag coefficient accounts for the effects of particle Reynolds number [Dallavalle1948]_ and of increased drag due to the presence of other particles (hindrance, [Richardson1954]_: 
yade-2020.01a/doc/sphinx/HydroForceEngine.rst-52-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-27-
yade-2020.01a/doc/sphinx/formulation.rst:28:Exact computation of collision configuration between two particles can be relatively expensive (for instance between :yref:`Sphere` and :yref:`Facet`). Taking a general pair of bodies $i$ and $j$ and their \`\`exact`` (In the sense of precision admissible by numerical implementation.) spatial predicates (called :yref:`Shape` in Yade) represented by point sets $P_i$, $P_j$ the detection generally proceeds in 2 passes:
yade-2020.01a/doc/sphinx/formulation.rst-29-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-75-----------------
yade-2020.01a/doc/sphinx/formulation.rst:76:Let us describe in detail the sweep and prune algorithm used for collision detection in Yade (class :yref:`InsertionSortCollider`). Axis-aligned bounding boxes (:yref:`Aabb`) are used as $\tilde P_i$; each :yref:`Aabb` is given by lower and upper corner $\in R^3$ (in the following, $\tilde P_i^{x0}$, $\tilde P_i^{x1}$ are minimum/maximum coordinates of $\tilde P_i$ along the $x$-axis and so on). Construction of :yref:`Aabb` from various particle :yref:`Shape`'s (such as :yref:`Sphere`, :yref:`Facet`, :yref:`Wall`) is straightforward, handled by appropriate classes deriving form :yref:`BoundFunctor` (:yref:`Bo1_Sphere_Aabb`, :yref:`Bo1_Facet_Aabb`, …).
yade-2020.01a/doc/sphinx/formulation.rst-77-			
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-86-
yade-2020.01a/doc/sphinx/formulation.rst:87:   Sweep and prune algorithm (shown in 2D), where :yref:`Aabb` of each sphere is represented by minimum and maximum value along each axis. Spatial overlap of :yref:`Aabb`'s is present if they overlap along all axes. In this case, $\tilde P_1\cap\tilde P_2\neq\emptyset$ (but note that $P_1\cap P_2=\emptyset$) and $\tilde P_2 \cap\tilde P_3\neq\emptyset$.}
yade-2020.01a/doc/sphinx/formulation.rst-88-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-163-				
yade-2020.01a/doc/sphinx/formulation.rst:164:In Yade, this is achieved by enlarging :yref:`Aabb` of particles by fixed relative length (or Verlet's distance) in all dimensions $\Delta L$ (:yref:`InsertionSortCollider.sweepLength`). Suppose the collider run last time at step $m$ and the current step is $n$. :yref:`NewtonIntegrator` tracks the cummulated distance traversed by each particle between $m$ and $n$ by comparing the current position with the reference position from time $n$  (:yref:`Bound::refPos`),
yade-2020.01a/doc/sphinx/formulation.rst-165-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-173-
yade-2020.01a/doc/sphinx/formulation.rst:174::yref:`InsertionSortCollider.targetInterv` is used to adjust $\Delta L$ independently for each particle. Larger $\Delta L$ will be assigned to the fastest ones, so that all particles would ideally reach the edge of their bounds after this "target" number of iterations. Results of using Verlet distance depend highly on the nature of simulation and choice of :yref:`InsertionSortCollider.targetInterv`. Adjusting the sizes independently for each particle is especially efficient if some parts of a problem have high-speed particles will others are not moving. If it is not the case, no significant gain should be expected as compared to targetInterv=0 (assigning the same $\Delta L$ to all particles).
yade-2020.01a/doc/sphinx/formulation.rst-175-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-198-				
yade-2020.01a/doc/sphinx/formulation.rst:199:Let us define distance $l=l_1+l_2$, where $l_i$ are distances between contact point and sphere centers, which are initially (roughly speaking) equal to sphere radii. Change of distance between the sphere centers $\Delta l$ is distributed onto deformations of both spheres $\Delta l=\Delta l_1+\Delta l_2$ proportionally to their compliances. Displacement change $\Delta l_i$ generates force $F_i=K_i \Delta l_i$, where $K_i$ assures proportionality and has physical meaning and dimension of stiffness; $K_i$ is related to the sphere material modulus $E_i$ and some length $\tilde l_i$ proportional to $r_i$.
yade-2020.01a/doc/sphinx/formulation.rst-200-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-216-				
yade-2020.01a/doc/sphinx/formulation.rst:217:Some formulations define an equivalent cross-section $A_{\rm eq}$, which in that case appears in the $\tilde l_i$ term as $K_i=E_i\tilde l_i=E_i\frac{A_{\rm eq}}{l_i}$. Such is the case for the concrete model (:yref:`Ip2_CpmMat_CpmMat_CpmPhys`), where $A_{\rm eq}=\min(r_1,r_2)$.
yade-2020.01a/doc/sphinx/formulation.rst-218-				
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-262-				
yade-2020.01a/doc/sphinx/formulation.rst:263:Distances $d_1$ and $d_2$ define reduced (or expanded) radii of spheres; geometrical radii $r_1$ and $r_2$ are used only for collision detection and may not be the same as $d_1$ and $d_2$, as shown in fig. `fig-sphere-sphere`_. This difference is exploited in cases where the average number of contacts between spheres should be increased, e.g. to influence the response in compression or to stabilize the packing. In such case, interactions will be created also for spheres that do not geometrically overlap based on the *interaction radius* $R_I$, a dimensionless parameter determining „non-locality“ of contact detection. For $R_I=1$, only spheres that touch are considered in contact; the general condition reads
yade-2020.01a/doc/sphinx/formulation.rst-264-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-267-
yade-2020.01a/doc/sphinx/formulation.rst:268:The value of $R_I$ directly influences the average number of interactions per sphere (percolation), which for some models is necessary in order to achieve realistic results. In such cases, :yref:`Aabb` (or $\tilde P_i$ predicates in general) must be enlarged accordingly (:yref:`Bo1_Sphere_Aabb.aabbEnlargeFactor`).
yade-2020.01a/doc/sphinx/formulation.rst-269-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-455-------------------------
yade-2020.01a/doc/sphinx/formulation.rst:456:Updating particle orientation $\curr{q}$ proceeds in an analogous way to position update. First, we compute current angular acceleration $\curraaccel$ from known current torque $\vec{T}$. For spherical particles where the inertia tensor is diagonal in any orientation (therefore also in current global orientation), satisfying $\vec{I}_{11}=\vec{I}_{22}=\vec{I}_{33}$, we can write
yade-2020.01a/doc/sphinx/formulation.rst-457-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-483-
yade-2020.01a/doc/sphinx/formulation.rst:484:Due to the presence of the current values of both $\vec{\omega}$ and $\dot{\vec{\omega}}$, they cannot be solved using the standard leapfrog algorithm (that was the case for translational motion and also for the spherical bodies' rotation where this equation reduced to $\vec{T}=\mat{I}\dot{\vec{\omega}}$).
yade-2020.01a/doc/sphinx/formulation.rst-485-			
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-586-
yade-2020.01a/doc/sphinx/formulation.rst:587:In Yade, damping :eq:`eq-damping-yade` is implemented in the :yref:`NewtonIntegrator` engine; the damping coefficient $\lambda_d$ is :yref:`NewtonIntegrator.damping`.
yade-2020.01a/doc/sphinx/formulation.rst-588-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-619-
yade-2020.01a/doc/sphinx/formulation.rst:620:where $x$ is displacement from the mean (equilibrium) position. The solution of harmonic oscillation is $x(t)=A\cos(\omega t+\phi)$ where phase $\phi$ and amplitude $A$ are determined by initial conditions. The angular frequency
yade-2020.01a/doc/sphinx/formulation.rst-621-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-666-
yade-2020.01a/doc/sphinx/formulation.rst:667:with $i$ and $j\in\{x,y,z\}$. Equations :eq:`eq-dtcr-axes` and :eq:`eq-dtcr-particle-stiffness` determine $\Dtcr$ in a simulation. A similar approach generalized to all 6 DOFs is implemented by the :yref:`GlobalStiffnessTimeStepper` engine in Yade. The derivation of generalized stiffness including rotational terms is very similar and can be found in [AboulHosn2017]_.
yade-2020.01a/doc/sphinx/formulation.rst-668-					
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-680-			 
yade-2020.01a/doc/sphinx/formulation.rst:681:In Yade, particles have associated :yref:`Material` which defines density $\rho$ (:yref:`Material.density`), and also may define (in :yref:`ElastMat` and derived classes) particle's "Young's modulus" $E$ (:yref:`ElastMat.young`). $\rho$ is used when particle's mass $m$ is initially computed from its $\rho$, while $E$ is taken in account when creating new interaction between particles, affecting stiffness $K_N$. Knowing $m$ and $K_N$, we can estimate :eq:`eq-dtcr-particle-stiffness` for each particle; we obviously neglect 
yade-2020.01a/doc/sphinx/formulation.rst-682-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-711-
yade-2020.01a/doc/sphinx/formulation.rst:712:  where $\pi'$ is some constant depending on the algorithm in use\footnote{For example, $\pi'=\pi/2$ in the concrete particle model (:yref:`Ip2_CpmMat_CpmMat_CpmPhys`), while $\pi'=2$ in the classical DEM model (:yref:`Ip2_FrictMat_FrictMat_FrictPhys`) as implemented in Yade.} and $R'$ is half-distance between spheres in contact, equal to $R$ for the case of interaction radius $R_I=1$. If $R_I=1$ (and $R'\equiv R$ by consequence), all interactions will have the same stiffness $K_N$. In other cases, we will consider $K_N$ as the average stiffness computed from average $R'$ (see below).
yade-2020.01a/doc/sphinx/formulation.rst-713-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-761-Non-cohesive dry friction model
yade-2020.01a/doc/sphinx/formulation.rst:762:   is the basic model proposed by Cundall explained in :ref:`sect-formulation-stress-cundall`. Supposing almost-constant sphere radius $R$ and rather dense packing, each sphere will have $N=6$ interactions on average (that corresponds to maximally dense packing of spheres with a constant radius). If we use the :yref:`Ip2_FrictMat_FrictMat_FrictPhys` class, we have $\pi'=2$, as $K_N=E2R$; we again use $\xi=0.2$ (for lack of a more significant value). In this case, we obtain the result
yade-2020.01a/doc/sphinx/formulation.rst-763-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-779-============================
yade-2020.01a/doc/sphinx/formulation.rst:780:While most DEM simulations happen in $R^3$ space, it is frequently useful to avoid boundary effects by using periodic space instead. In order to satisfy periodicity conditions, periodic space is created by repetition of parallelepiped-shaped cell. In Yade, periodic space is implemented in the :yref:`Cell` class. The geometry of the cell in the reference coordinates system is defined by three edges of the parallepiped. The corresponding base vectors are stored in the columns of matrix $\mat{H}$ (:yref:`Cell.hSize`).
yade-2020.01a/doc/sphinx/formulation.rst-781-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-817-
yade-2020.01a/doc/sphinx/formulation.rst:818:The restriction of a single particle not spanning more than half of the transformed axis becomes stringent as :yref:`Aabb` is enlarged due to shear. Considering :yref:`Aabb` of a sphere with radius $r$ in the cell where $x'\equiv x$, $z'\equiv z$, but $\angle(y,y')=\phi$, the $x$-span of the :yref:`Aabb` will be multiplied by $1/\cos\phi$. For the infinite shear $\phi\to\pi/2$, which can be desirable to simulate, we have $1/\cos\phi \to \infty$. Fortunately, this limitation can be easily circumvented by realizing the quasi-identity of all periodic cells which, if repeated in space, create the same grid with their corners: the periodic cell can be flipped, keeping all particle interactions intact, as shown in fig. `fig-cell-flip`_. It only necessitates adjusting the :yref:`Interaction.cellDist` of interactions and re-initialization of the collider (``Collider::invalidatePersistentData``). Cell flipping is implemented in the :yref:`yade.utils.flipCell` function.
yade-2020.01a/doc/sphinx/formulation.rst-819-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-833-^^^^^^^^^^^^^^^^^^^^^^^^^
yade-2020.01a/doc/sphinx/formulation.rst:834:When the collider detects approximate contact (on the :yref:`Aabb` level) and the contact does not yet exist, it creates *potential* contact, which is subsequently checked by exact collision algorithms (depending on the combination of :yref:`Shapes<Shape>`). Since particles can interact over many periodic cells (recall we never change their positions in simulation space), the collider embeds the relative cell coordinate of particles in the interaction itself (:yref:`Interaction.cellDist`) as an *integer* vector $c$. Multiplying current cell size $\mat{T}\vec{s}$ by $c$ component-wise, we obtain particle offset $\Delta \vec{x}$ in aperiodic $R^3$; this value is passed (from :yref:`InteractionLoop`) to the functor computing exact collision (:yref:`IGeomFunctor`), which adds it to the position of the particle :yref:`Interaction.id2`.
yade-2020.01a/doc/sphinx/formulation.rst-835-
##############################################
yade-2020.01a/doc/sphinx/formulation.rst-906-
yade-2020.01a/doc/sphinx/formulation.rst:907:* linearly, the number of steps $i=T/(s_t \Dtcr)$, where $s_t$ is timestep safety factor; $\Dtcr$ can be estimated by p-wave velocity using $E$ and $\rho$ (sect. :ref:`sect-dt-pwave`) as $\Dtcr^{(p)}=r\sqrt{\frac{\rho}{E}}$. Therefore
yade-2020.01a/doc/sphinx/formulation.rst-908-
##############################################
yade-2020.01a/doc/sphinx/introduction.rst-103-.. [#f1] The executable name can carry a suffix, such as version number (``yade-0.20``), depending on compilation options. Packaged versions on Debian systems always provide the plain ``yade`` alias, by default pointing to latest stable version (or latest snapshot, if no stable version is installed). You can use ``update-alternatives`` to change this.
yade-2020.01a/doc/sphinx/introduction.rst:104:.. [#fcmd] In general, Unix *shell* (command line) has environment variable ``PATH`` defined, which determines directories searched for executable files if you give name of the file without path. Typically, \$PATH contains ``/usr/bin/``, ``/usr/local/bin``, ``/bin`` and others; you can inspect your ``PATH`` by typing ``echo \$PATH`` in the shell (directories are separated by ``:``).
yade-2020.01a/doc/sphinx/introduction.rst-105-
##############################################
yade-2020.01a/doc/sphinx/introduction.rst-107-
yade-2020.01a/doc/sphinx/introduction.rst:108:	To save typing, you can add the directory where Yade is installed to your ``PATH``, typically by editing ``~/.profile`` (in normal cases automatically executed when shell starts up) file adding line like ``export PATH=/home/user/bin:\$PATH``. You can also define an *alias* by saying ``alias yade="/home/users/bin/yade"`` in that file.
yade-2020.01a/doc/sphinx/introduction.rst-109-
##############################################
yade-2020.01a/doc/sphinx/prog.rst-556-	
yade-2020.01a/doc/sphinx/prog.rst:557:``\$...\$``
yade-2020.01a/doc/sphinx/prog.rst-558-	delimits inline math expressions; they will be replaced by::
##############################################
yade-2020.01a/doc/sphinx/prog.rst-1880------------------
yade-2020.01a/doc/sphinx/prog.rst:1881:Yade's main program is python script in :ysrc:`core/main/main.py.in`; the build system replaces a few ``\${variables}`` in that file before copying it to its install location. It does the following:
yade-2020.01a/doc/sphinx/prog.rst-1882-
##############################################
yade-2020.01a/doc/sphinx/tutorial-data-mining.rst-196-
yade-2020.01a/doc/sphinx/tutorial-data-mining.rst:197:History of all values is given as the name used for :yref:`yade.plot.addData`; keys of the dictionary are $x$-axis values, and values are sequence of data on the $y$ axis; the ``None`` separates data on the left and right axes (they are scaled independently). The plot itself is created with ::
yade-2020.01a/doc/sphinx/tutorial-data-mining.rst-198-
##############################################
yade-2020.01a/doc/sphinx/tutorial-hands-on.rst-92-
yade-2020.01a/doc/sphinx/tutorial-hands-on.rst:93:When a program is being run (without giving its full path), several directories are searched for program of that name; those directories are given by ``\$PATH``::
yade-2020.01a/doc/sphinx/tutorial-hands-on.rst-94-
##############################################
yade-2020.01a/doc/sphinx/user.rst-1091-
yade-2020.01a/doc/sphinx/user.rst:1092:Greek letters are simply a ``'\$\alpha$'``, ``'\$\beta\$'`` etc. in those labels. To change the font style a following command could be used::
yade-2020.01a/doc/sphinx/user.rst-1093-
##############################################
yade-2020.01a/doc/sphinx/user.rst-1112-
yade-2020.01a/doc/sphinx/user.rst:1113:You can, however, distinguish them by prepending/appending space to the x-axis variable, which will be removed automatically when looking for the variable in :yref:`yade.plot.data` -- both $x$-axes will use the ``i`` column:
yade-2020.01a/doc/sphinx/user.rst-1114-
##############################################
yade-2020.01a/gui/CMakeLists.txt-56-  ELSE(USE_QT5)
yade-2020.01a/gui/CMakeLists.txt:57:    INCLUDE(${QT_USE_FILE})
yade-2020.01a/gui/CMakeLists.txt-58-    
##############################################
yade-2020.01a/pkg/common/ForceEngine.hpp-64-	// clang-format off
yade-2020.01a/pkg/common/ForceEngine.hpp:65:	YADE_CLASS_BASE_DOC_ATTRS(DragEngine,PartialEngine,"Apply `drag force <http://en.wikipedia.org/wiki/Drag_equation>`__ on some particles at each step, decelerating them proportionally to their linear velocities. The applied force reads\n\n.. math:: F_{d}=-\\frac{\\vec{v}}{|\\vec{v}|}\\frac{1}{2}\\rho|\\vec{v}|^2 C_d A\n\nwhere $\\rho$ is the medium density (:yref:`density<DragEngine.Rho>`), $v$ is particle's velocity,  $A$ is particle projected area (disc), $C_d$ is the drag coefficient (0.47 for :yref:`Sphere`), \n\n.. note:: Drag force is only applied to spherical particles, listed in ids.",
yade-2020.01a/pkg/common/ForceEngine.hpp-66-		((Real,Rho,1.225,,"Density of the medium (fluid or air), by default - the density of the air."))
##############################################
yade-2020.01a/pkg/common/ForceEngine.hpp-76-	// clang-format off
yade-2020.01a/pkg/common/ForceEngine.hpp:77:	YADE_CLASS_BASE_DOC_ATTRS(LinearDragEngine,PartialEngine,"Apply `viscous resistance or linear drag <http://en.wikipedia.org/wiki/Drag_%28physics%29#Very_low_Reynolds_numbers_.E2.80.94_Stokes.27_drag>`__ on some particles at each step, decelerating them proportionally to their linear velocities. The applied force reads\n\n.. math:: F_{d}=-b{\\vec{v}} \n\nwhere $b$ is the linear drag, $\\vec{v}$ is particle's velocity. \n\n.. math:: b=6\\pi\\nu r \n\nwhere $\\nu$ is the medium viscosity, $r$ is the `Stokes radius <http://en.wikipedia.org/wiki/Stokes_radius>`__ of the particle (but in this case we accept it equal to sphere radius for simplification), \n\n.. note:: linear drag is only applied to spherical particles, listed in ids.",
yade-2020.01a/pkg/common/ForceEngine.hpp-78-		((Real,nu,0.001,,"Viscosity of the medium."))
##############################################
yade-2020.01a/pkg/common/HydroForceEngine.hpp-26-	// clang-format off
yade-2020.01a/pkg/common/HydroForceEngine.hpp:27:	YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY(HydroForceEngine,PartialEngine,"Engine performing a coupling of the DEM with a volume-averaged 1D fluid resolution to simulate steady uniform unidirectional fluid flow. It has been developed and used to model steady uniform gravity-driven turbulent bedload transport [Maurin2015b]_ [Maurin2016]_ [Maurin2018]_, but can be also used in its current state for laminar or pressure-driven configurations. The fundamentals of the model can be found in [Maurin2015b]_ and [Maurin2015PhD]_, and in more details in [Maurin2018_VANSbasis]_, [Maurin2018_VANSfluidResol]_ and [Maurin2018_VANSvalidations]_. \n The engine can be decomposed in three different parts:\n (i) It applies the fluid force on the particles imposed by the fluid velocity profiles and fluid properties,\n (ii) It evaluates averaged solid depth profiles necessary for the fluid force application and for the fluid resolution,\n (iii) It solve the volume-averaged 1D fluid momentum balance. \nThe three different functions are detailed below: \n\n (i) Fluid force on particles \n Apply to each particles, buoyancy, drag and lift force due to a 1D fluid flow. The applied drag force reads\n\n $F_{d}=\\frac{1}{2} C_d A\\rho^f|\\vec{v_f - v}| \\vec{v_f - v}$ \n\n where $\\rho$ is the fluid density (:yref:`densFluid<HydroForceEngine.densFluid>`), $v$ is particle's velocity,  $v_f$ is the velocity of the fluid at the particle center (taken from the fluid velocity profile :yref:`vxFluid<HydroForceEngine.vxFluid>`),  $A = \\pi d^2/4$ is particle projected area (disc), $C_d$ is the drag coefficient. The formulation of the drag coefficient depends on the local particle reynolds number and the solid volume fraction. The formulation of the drag is [Dallavalle1948]_ [RevilBaudard2013]_ with a correction of Richardson-Zaki [Richardson1954]_ to take into account the hindrance effect. This law is classical in sediment transport. It is possible to activate a fluctuation of the drag force for each particle which account for the turbulent fluctuation of the fluid velocity (:yref:`velFluct<HydroForceEngine.velFluct>`). Three simple discrete random walk model have been implemented for the turbulent velocity fluctuation. The main one (turbulentFluctuations) takes as input the Reynolds stress tensor $R^f_{xz}$ as a function of the depth, and allows to recover the main property of the fluctuations by imposing $<u_x'u_z'> (z) = <R^f_{xz}>(z)/\\rho^f$. It requires as input $<R^f_{xz}>(z)$ called :yref:`ReynoldStresses<HydroForceEngine.ReynoldStresses>` in the code. \n The formulation of the lift is taken from [Wiberg1985]_ and is such that : \n\n $F_{L}=\\frac{1}{2} C_L A\\rho^f((v_f - v)^2_{top} - (v_f - v)^2_{bottom})$ \n\n Where the subscript top and bottom means evaluated at the top (respectively the bottom) of the sphere considered. This formulation of the lift account for the difference of pressure at the top and the bottom of the particle inside a turbulent shear flow. As this formulation is controversial when approaching the threshold of motion [Schmeeckle2007]_ it is possible to desactivate it with the variable :yref:`lift<HydroForceEngine.lift>`.\n The buoyancy is taken into account through the buoyant weight : \n\n $F_{buoyancy}= - \\rho^f V^p g$ \n\n, where g is the gravity vector along the vertical, and $V^p$ is the volume of the particle. In the case where the fluid flow is steady and uniform, the buoyancy reduces to its wall-normal component (see [Maurin2017]_ for a full explanation), and one should put :yref:`steadyFlow<HydroForceEngine.steadyFlow>` to true in order to kill the streamwise component. \n\n (ii)  Averaged solid depth profiles\n The function averageProfile evaluates the volume averaged depth profiles (1D) of particle velocity, particle solid volume fraction and particle drag force. It uses a volume-weighting average following [Maurin2015PhD]_[Maurin2015b]_, i.e. the average of a variable $A^p$ associated to particles at a given discretized wall-normal position $z$ is given by: \n\n $\\left< A \\right>^s(z) = \\displaystyle \\frac{\\displaystyle \\sum_{p|z^p\\in[z-dz/2,z+dz/2]}  A^p(t) V^p_z}{\\displaystyle \\sum_{p|z^p\\in[z-dz/2,z+dz/2]}  V^p_z}$\n\n Where the sums are over the particles contained inside the slice between the wall-normal position $z-dz/2$ and $z+dz/2$, and $V^p$ represents the part of the volume of the given particle effectively  contained inside the slice. For more details, see [Maurin2015PhD]_. \n\n (iii) 1D volume-average fluid resolution\n The fluid resolution is based on the resolution of the 1D volume-averaged fluid momentum balance. It assumes by definition (unidirectional) that the fluid flow is steady and uniform. It is the same fluid resolution as [RevilBaudard2013]_. Details can be found in this paper and in [Maurin2015PhD]_ [Maurin2015b]_.\n\n The three different component can be used independently, e.g. applying a fluid force due to an imposed fluid profile or solving the fluid momentum balance for a given concentration of particles.",
yade-2020.01a/pkg/common/HydroForceEngine.hpp-28-		//// General parameters
##############################################
yade-2020.01a/pkg/common/HydroForceEngine.hpp-92-	,/*py*/
yade-2020.01a/pkg/common/HydroForceEngine.hpp:93:	 .def("averageProfile",&HydroForceEngine::averageProfile,"Compute and store the particle velocity (:yref:`vxPart<HydroForceEngine.vxPart>`, :yref:`vyPart<HydroForceEngine.vyPart>`, :yref:`vzPart<HydroForceEngine.vzPart>`) and solid volume fraction (:yref:`phiPart<HydroForceEngine.phiPart>`) depth profile. For each defined cell z, the k component of the average particle velocity reads: \n\n $<v_k>^z= \\sum_p V^p v_k^p/\\sum_p V^p$,\n\n where the sum is made over the particles contained in the cell, $v_k^p$ is the k component of the velocity associated to particle p, and $V^p$ is the part of the volume of the particle p contained inside the cell. This definition allows to smooth the averaging, and is equivalent to taking into account the center of the particles only when there is a lot of particles in each cell. As for the solid volume fraction, it is evaluated in the same way:  for each defined cell z, it reads: \n\n $<\\phi>^z= \\frac{1}{V_{cell}}\\sum_p V^p$, where $V_{cell}$ is the volume of the cell considered, and $V^p$ is the volume of particle p contained in cell z.\n This function gives depth profiles of average velocity and solid volume fraction, returning the average quantities in each cell of height dz, from the reference horizontal plane at elevation :yref:`zRef<HydroForceEngine.zRef>` (input parameter) until the plane of elevation :yref:`zRef<HydroForceEngine.zRef>` plus :yref:`nCell<HydroForceEngine.nCell>` times :yref:`deltaZ<HydroForceEngine.deltaZ>` (input parameters). When the option :yref:`twoSize<HydroForceEngine.twoSize>` is set to True, evaluate in addition the average drag (:yref:`averageDrag1<HydroForceEngine.averageDrag1>` and :yref:`averageDrag2<HydroForceEngine.averageDrag2>`) and solid volume fraction (:yref:`phiPart1<HydroForceEngine.phiPart1>` and :yref:`phiPart2<HydroForceEngine.phiPart2>`) depth profiles considering only the particles of radius respectively :yref:`radiusPart1<HydroForceEngine.radiusPart1>` and :yref:`radiusPart2<HydroForceEngine.radiusPart2>` in the averaging.")
yade-2020.01a/pkg/common/HydroForceEngine.hpp-94-	 .def("averageProfilePP",&HydroForceEngine::averageProfilePP,"Same as averageProfile function but considering point particles, i.e. particles for which all the quantites are defined at their center (no extent considered).")
##############################################
yade-2020.01a/pkg/dem/CapillaryPhys.hpp-31-				 ((short int,fusionNumber,0.,,"Indicates the number of meniscii that overlap with this one"))
yade-2020.01a/pkg/dem/CapillaryPhys.hpp:32:				 ((Real,nn11,0.,,":math:`\\iint_A n_1 n_1 \\, dS = \\iint_A n_2 n_2 \\, dS`, $A$ being the liquid-gas surface of the meniscus, $\\vec n$ the associated normal, and $(1,2,3)$ a local basis with $3$ the meniscus orientation (:yref:`ScGeom.normal`). NB: $A$ = 2 :yref:`nn11<CapillaryPhys.nn11>` + :yref:`nn33<CapillaryPhys.nn33>`."))
yade-2020.01a/pkg/dem/CapillaryPhys.hpp:33:				 ((Real,nn33,0.,,":math:`\\iint_A n_3 n_3 \\, dS`, $A$ being the liquid-gas surface of the meniscus, $\\vec n$ the associated normal, and $(1,2,3)$ a local basis with $3$ the meniscus orientation (:yref:`ScGeom.normal`). NB: $A$ = 2 :yref:`nn11<CapillaryPhys.nn11>` + :yref:`nn33<CapillaryPhys.nn33>`."))
yade-2020.01a/pkg/dem/CapillaryPhys.hpp-34-				 ,,
##############################################
yade-2020.01a/pkg/dem/CohesiveFrictionalContactLaw.hpp-98-	// clang-format off
yade-2020.01a/pkg/dem/CohesiveFrictionalContactLaw.hpp:99:	YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY(Law2_ScGeom6D_CohFrictPhys_CohesionMoment,LawFunctor,"Law for linear traction-compression-bending-twisting, with cohesion+friction and Mohr-Coulomb plasticity surface. This law adds adhesion and moments to :yref:`Law2_ScGeom_FrictPhys_CundallStrack`.\n\nThe normal force is (with the convention of positive tensile forces) $F_n=min(k_n*(u_n-u_n^p), a_n)$, with $a_n$ the normal adhesion and $u_n^p$ the plastic part of normal displacement. The shear force is $F_s=k_s*u_s$, the plasticity condition defines the maximum value of the shear force, by default $F_s^{max}=F_n*tan(\\phi)+a_s$, with $\\phi$ the friction angle and $a_s$ the shear adhesion. If :yref:`CohFrictPhys::cohesionDisablesFriction` is True, friction is ignored as long as adhesion is active, and the maximum shear force is only $F_s^{max}=a_s$.\n\nIf the maximum tensile or maximum shear force is reached and :yref:`CohFrictPhys::fragile` =True (default), the cohesive link is broken, and $a_n, a_s$ are set back to zero. If a tensile force is present, the contact is lost, else the shear strength is $F_s^{max}=F_n*tan(\\phi)$. If :yref:`CohFrictPhys::fragile` =False, the behaviour is perfectly plastic, and the shear strength is kept constant.\n\nIf :yref:`Law2_ScGeom6D_CohFrictPhys_CohesionMoment::momentRotationLaw` =True, bending and twisting moments are computed using a linear law with moduli respectively $k_t$ and $k_r$, so that the moments are : $M_b=k_b*\\Theta_b$ and $M_t=k_t*\\Theta_t$, with $\\Theta_{b,t}$ the relative rotations between interacting bodies (details can be found in [Bourrier2013]_). The maximum value of moments can be defined and takes the form of rolling friction. Cohesive -type moment may also be included in the future.\n\nCreep at contact is implemented in this law, as defined in [Hassan2010]_. If activated, there is a viscous behaviour of the shear and twisting components, and the evolution of the elastic parts of shear displacement and relative twist is given by $du_{s,e}/dt=-F_s/\\nu_s$ and $d\\Theta_{t,e}/dt=-M_t/\\nu_t$.",
yade-2020.01a/pkg/dem/CohesiveFrictionalContactLaw.hpp-100-		((bool,neverErase,false,,"Keep interactions even if particles go away from each other (only in case another constitutive law is in the scene, e.g. :yref:`Law2_ScGeom_CapillaryPhys_Capillarity`)"))
##############################################
yade-2020.01a/pkg/dem/CohesiveFrictionalContactLaw.hpp-157-		YADE_CLASS_BASE_DOC_ATTRS_CTOR(Ip2_CohFrictMat_CohFrictMat_CohFrictPhys,IPhysFunctor,
yade-2020.01a/pkg/dem/CohesiveFrictionalContactLaw.hpp:158:		"Generates cohesive-frictional interactions with moments, used in the contact law :yref:`Law2_ScGeom6D_CohFrictPhys_CohesionMoment`. The normal/shear stiffness and friction definitions are the same as in :yref:`Ip2_FrictMat_FrictMat_FrictPhys`, check the documentation there for details.\n\nAdhesions related to the normal and the shear components are calculated from :yref:`CohFrictMat::normalCohesion` ($C_n$) and :yref:`CohFrictMat::shearCohesion` ($C_s$). For particles of size $R_1$,$R_2$ the adhesion will be $a_i=C_i min(R_1,R_2)^2$, $i=n,s$.\n\nTwist and rolling stiffnesses are proportional to the shear stiffness through dimensionless factors alphaKtw and alphaKr, such that the rotational stiffnesses are defined by $k_s \\alpha_i R_1 R_2$, $i=tw\\,r$",
yade-2020.01a/pkg/dem/CohesiveFrictionalContactLaw.hpp-159-		((bool,setCohesionNow,false,,"If true, assign cohesion to all existing contacts in current time-step. The flag is turned false automatically, so that assignment is done in the current timestep only."))
##############################################
yade-2020.01a/pkg/dem/ConcretePM.hpp-339-			((bool,normal,false,,"Show contact normal"))
yade-2020.01a/pkg/dem/ConcretePM.hpp:340:			((Real,colorStrainRatio,-1,,"If positive, set the interaction (wire) color based on $\\eps_N$ normalized by $\\eps_0$ x :yref:`colorStrainRatio<CpmPhys.colorStrainRatio>` ($\\eps_0$ = :yref:`CpmPhys.epsCrackOnset` ). Otherwise, color based on the residual strength."))
yade-2020.01a/pkg/dem/ConcretePM.hpp-341-			((bool,epsNLabel,false,,"Numerically show normal strain"))
##############################################
yade-2020.01a/pkg/dem/FrictPhys.hpp-53-	// clang-format off
yade-2020.01a/pkg/dem/FrictPhys.hpp:54:	YADE_CLASS_BASE_DOC_ATTRS(Ip2_FrictMat_FrictMat_FrictPhys,IPhysFunctor,"Create a :yref:`FrictPhys` from two :yref:`FrictMats<FrictMat>`. The compliance of one sphere under point load is defined here as $1/(E.D)$, with $E$ the stiffness of the sphere and $D$ its diameter. The compliance of the contact itself is taken as the sum of compliances from each sphere, i.e. $1/(E_1.D_1)+1/(E_2.D_2)$ in the general case, or $2/(E.D)$ in the special case of equal sizes and equal stiffness. Note that summing compliances is equivalent to summing the harmonic average of stiffnesses. This reasoning is applied in both the normal and the tangential directions (as in e.g. [Scholtes2009a]_), hence the general form of the contact stiffness:\n\n $k = \\frac{E_1D_1*E_2D_2}{E_1D_1+E_2D_2}=\\frac{k_1*k_2}{k_1+k_2}$, with $k_i=E_iD_i$.\n\n In the above equation $E_i$ is taken equal to :yref:`FrictMat::young` of sphere $i$ for the normal stiffness, and :yref:`FrictMat::young` $\\times$ :yref:`ElastMat::poisson` for the shear stiffness. In the case of a contact between a :yref:`ViscElMat` and a :yref:`FrictMat`, be sure to set :yref:`FrictMat::young` and :yref:`FrictMat::poisson`, otherwise the default value will be used.\n\n The contact friction is defined according to :yref:`Ip2_FrictMat_FrictMat_FrictPhys::frictAngle` (minimum of the two materials by default).",
yade-2020.01a/pkg/dem/FrictPhys.hpp-55-		((shared_ptr<MatchMaker>,kn,,,"Instance of :yref:`MatchMaker` determining how to compute interaction's normal stiffness. If ``None``, harmonic average is used."))
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1412-  }
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1413:  char transA = 'N';  /* char transB = 'N'; int  blasM = 3; int  blasN = 3; */ int  blasK = 3;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1414-  /* int blasLDA = 3; */ int  blasLDB = 3;    Real blasAlpha = 1.0;  Real blasBeta = 0.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1441-  //Eigen::MatrixXd P1Q = P1*QA;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1442:  //transA = 'N'; transB = 'N'; blasM = planeNoA;  blasN = 3; blasK = 3;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1443- // blasLDA = std::max(1,blasM);  blasLDC = std::max(1,blasM); blasLDB = 3; blasAlpha=1.0; blasBeta = 0.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1454-  }
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1455:  //transA = 'N'; blasM = 3;  blasN = 3;  blasLDA = 3;   blasAlpha=1.0; blasBeta = 0.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1456-  //dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasQB[0], &blasLDA, &blasTemPB2[0], &incx, &blasBeta, &blasLocalP2[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1478- //Eigen::MatrixXd P2Q = P2*QB;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1479:  //transA = 'N'; transB = 'N'; blasM = planeNoB;    blasN = 3; blasK = 3;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1480-  //blasLDA = std::max(1,blasM);   blasLDC = std::max(1,blasM); blasLDB = 3; blasAlpha=1.0; blasBeta = 0.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1544-  memset(blasB1,0.0,sizeof(blasB1));
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1545: // blasM = 3;   blasN=3;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1546-//  blasLDA = 3;    blasAlpha = -1.0;  blasBeta=0.0;  blasLDC = 3;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1559-  memset(blasB2,0.0,sizeof(blasB2));
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1560: //  blasM = 3;   blasN=3; blasLDA = 3; blasAlpha=-1.0; blasBeta=0.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1561- // dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasQBs[0], &blasLDA, &blasPosB[0], &incx, &blasBeta, &blasB2temp[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1595-  dcopy_(&noElements, &blasD1[0], &incx, &blasBTempU[0], &incx);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1596:  //transA = 'N';	blasM = planeNoA;   blasN = 3;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1597-  //blasLDA = std::max(1,planeNoA);      blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1601-  dcopy_(&noElements, &blasD2[0], &incx, &blasBTempL[0], &incx);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1602:  //transA = 'N';	blasM = planeNoB;   blasN = 3;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1603-  //blasLDA = std::max(1,planeNoB);      blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1627-
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1628:	  //transA = 'T';   transB = 'N';   blasM = varNo;   blasN = varNo;   blasK = 3+planeNoA;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1629-	   //blasLDA = blasK;   blasLDB = blasK;     blasAlpha = -1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1638-
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1639:	 //transA = 'T';   transB = 'N';   blasM = varNo;   blasN = varNo;  blasK = 3+planeNoB;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1640-	 // blasLDA = blasK;   blasLDB = blasK;     blasAlpha = -1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1678-  	dcopy_(&noElements, &blasB1[0], &incx, &blasW1[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1679:	//transA = 'N';	blasM = 3+planeNoA;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1680-	//blasLDA = 3+planeNoA;      blasAlpha = 1.0;   blasBeta = 1.0;    incx =1;  incy=1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1686-  	dcopy_(&noElements, &blasB2[0], &incx, &blasW2[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1687:	//transA = 'N';	blasM = 3+planeNoB;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1688-	//blasLDA = 3+planeNoB;    blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1715-  	dcopy_(&noElements, &blasB1[0], &incx, &blasW1[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1716:	//transA = 'N';	blasM = 3+planeNoA;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1717-	//blasLDA = 3+planeNoA;      blasAlpha = 1.0;   blasBeta = 1.0;    incx =1;  incy=1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1723-  	dcopy_(&noElements, &blasB2[0], &incx, &blasW2[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1724:	//transA = 'N';	blasM = 3+planeNoB;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1725-	//blasLDA = 3+planeNoB;    blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1741-	//transA = 'N';	blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1742:	//blasM = planeNoAB;     blasLDA = std::max(1,planeNoAB);      blasAlpha = -1.0;   blasBeta = 1.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1743-	//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasX[0], &incx, &blasBeta, &blasWL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1760-  	dcopy_(&varNo, &blasC[0], &incx, &blasGA[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1761:	//transA = 'T';      blasM = 3+planeNoA;   blasLDA = 3+planeNoA;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1762-  	blasAlpha = -1.0*-2.0/u1;   blasBeta = 1.0*-2.0/u1*s;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1767-  	dcopy_(&varNo, &blasC[0], &incx, &blasGB[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1768:	//transA = 'T';  blasM = 3+planeNoB;   blasLDA = 3+planeNoB;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1769-  	blasAlpha = -1.0*-2.0/u2;   blasBeta = 1.0*-2.0/u2*s;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1773-/* gL */
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1774:  	//transA = 'T'; blasM = planeNoAB;   blasLDA = std::max(1,planeNoAB);      blasAlpha = 1.0;   blasBeta = 0.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1775-  	//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasVL[0], &incx, &blasBeta, &blasGL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1787-   	dcopy_(&varNo2, &blasCa1[0], &incx, &blasHA[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1788:	//transA = 'N';   transB = 'T';   blasM = varNo;   blasN = varNo;   blasK = 1;blasLDA = blasM;   blasLDB = blasN;     blasAlpha = 1.0;  blasLDC = blasM;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1789-        blasBeta = -2.0/(u1);  blasK = 1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1794-   	dcopy_(&varNo2, &blasCa2[0], &incx, &blasHB[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1795:	//transA = 'N';   transB = 'T';   blasM = varNo;   blasN = varNo;   blasK = 1; blasLDA = blasM;   blasLDB = blasN;     blasAlpha = 1.0;      blasLDC = blasM;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1796-	blasBeta = -2.0/(u2);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1801-	/* HL */  //Eigen::MatrixXd HL1 = AL.transpose()*DL*AL;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1802:	//transA = 'T';   transB = 'N';   blasM = varNo;   blasN = planeNoAB;   blasK = planeNoAB;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1803-        //blasLDA = std::max(1,blasK);   blasLDB = std::max(1,blasK);     blasAlpha = 1.0;   blasBeta = 0.0; blasLDC = blasM;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1805-	dgemm_(&blasT, &blasNT, &varNo, &planeNoAB, &planeNoAB, &blas1, &blasAL[0], &blas1planeNoAB, &blasDL[0], &blas1planeNoAB, &blas0, &blasADAtemp[0], &varNo);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1806:    	//transA = 'N';   transB = 'N';   blasM = varNo;   blasN = varNo;   blasK = planeNoAB;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1807-        //blasLDA = blasM;   blasLDB = std::max(1,blasK);     blasAlpha = 1.0;   blasBeta = 0.0;  blasLDC = blasM;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1948-	// blasAlpha = -1.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1949:	//blasM = planeNoAB;   blasLDA = std::max(1,planeNoAB);     blasN = varNo;    blasAlpha = -1.0;    blasBeta = 1.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1950-	//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasNewX[0], &incx, &blasBeta, &blasWL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1990-  	dcopy_(&planeNoA3, &blasB1[0], &incx, &blasW1[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1991:	//transA = 'N';	blasM = 3+planeNoA;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1992-	//blasLDA = 3+planeNoA;      blasAlpha = 1.0;   blasBeta = 1.0;    incx =1;  incy=1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-1998-  	dcopy_(&planeNoB3, &blasB2[0], &incx, &blasW2[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:1999:	//blasM = 3+planeNoB;   blasLDA = 3+planeNoB;     blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-2000-	//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasA2[0], &blasLDA, &blasNewX[0], &incx, &blasBeta, &blasW2[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-2015-  	dcopy_(&planeNoAB, &blasBL[0], &incx, &blasWL[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp:2016:	//blasM = planeNoAB;   blasLDA = std::max(1,planeNoAB);     blasN = varNo;    blasAlpha = -1.0;    blasBeta = 1.0;
yade-2020.01a/pkg/dem/Ig2_PB_PB_ScGeom.cpp-2017-	//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasNewX[0], &incx, &blasBeta, &blasWL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-676-	//char transB = 'N';
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:677:	//int  blasM = 3;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-678-	//int  blasN = 3;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-714-	//Eigen::MatrixXd P1Q = P1*QA;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:715:	//transA = 'N'; transB = 'N'; blasM = planeNoA;  blasN = 3; blasK = 3;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-716-// blasLDA = std::max(1,blasM);  blasLDC = std::max(1,blasM); blasLDB = 3; blasAlpha=1.0; blasBeta = 0.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-728-	}
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:729:	//transA = 'N'; blasM = 3;  blasN = 3;  blasLDA = 3;   blasAlpha=1.0; blasBeta = 0.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-730-	//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasQB[0], &blasLDA, &blasTempP2[0], &incx, &blasBeta, &blasLocalP2[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-755-//Eigen::MatrixXd P2Q = P2*QB;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:756:	//transA = 'N'; transB = 'N'; blasM = planeNoB;    blasN = 3; blasK = 3;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-757-	//blasLDA = std::max(1,blasM);   blasLDC = std::max(1,blasM); blasLDB = 3; blasAlpha=1.0; blasBeta = 0.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-833-	memset(blasB1,0.0,sizeof(blasB1));
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:834:// blasM = 3;   blasN=3;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-835-//  blasLDA = 3;    blasAlpha = -1.0;  blasBeta=0.0;  blasLDC = 3;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-853-	memset(blasB2,0.0,sizeof(blasB2));
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:854://  blasM = 3;   blasN=3; blasLDA = 3; blasAlpha=-1.0; blasBeta=0.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-855-// dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasQBs[0], &blasLDA, &blasPosB[0], &incx, &blasBeta, &blasB2temp[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-903-	dcopy_(&noElements, &blasD1[0], &incx, &blasBTempU[0], &incx);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:904:	//transA = 'N';	blasM = planeNoA;   blasN = 3;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-905-	//blasLDA = std::max(1,planeNoA);      blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-909-	dcopy_(&noElements, &blasD2[0], &incx, &blasBTempL[0], &incx);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:910:	//transA = 'N';	blasM = planeNoB;   blasN = 3;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-911-	//blasLDA = std::max(1,planeNoB);      blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-938-
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:939:	//transA = 'T';   transB = 'N';   blasM = varNo;   blasN = varNo;   blasK = 3+planeNoA;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-940-	//blasLDA = blasK;   blasLDB = blasK;     blasAlpha = -1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-950-
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:951:	//transA = 'T';   transB = 'N';   blasM = varNo;   blasN = varNo;  blasK = 3+planeNoB;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-952-	// blasLDA = blasK;   blasLDB = blasK;     blasAlpha = -1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1006-	dcopy_(&noElements, &blasB1[0], &incx, &blasW1[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1007:	//transA = 'N';	blasM = 3+planeNoA;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1008-	//blasLDA = 3+planeNoA;      blasAlpha = 1.0;   blasBeta = 1.0;    incx =1;  incy=1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1014-	dcopy_(&noElements, &blasB2[0], &incx, &blasW2[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1015:	//transA = 'N';	blasM = 3+planeNoB;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1016-	//blasLDA = 3+planeNoB;    blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1043-		dcopy_(&noElements, &blasB1[0], &incx, &blasW1[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1044:		//transA = 'N';	blasM = 3+planeNoA;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1045-		//blasLDA = 3+planeNoA;      blasAlpha = 1.0;   blasBeta = 1.0;    incx =1;  incy=1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1051-		dcopy_(&noElements, &blasB2[0], &incx, &blasW2[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1052:		//transA = 'N';	blasM = 3+planeNoB;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1053-		//blasLDA = 3+planeNoB;    blasAlpha = 1.0;   blasBeta = 1.0;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1069-		//transA = 'N';	blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1070:		//blasM = planeNoAB;     blasLDA = std::max(1,planeNoAB);      blasAlpha = -1.0;   blasBeta = 1.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1071-		//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasX[0], &incx, &blasBeta, &blasWL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1088-		dcopy_(&varNo, &blasC[0], &incx, &blasGA[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1089:		//transA = 'T';      blasM = 3+planeNoA;   blasLDA = 3+planeNoA;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1090-		blasAlpha = -1.0*-2.0/u1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1096-		dcopy_(&varNo, &blasC[0], &incx, &blasGB[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1097:		//transA = 'T';  blasM = 3+planeNoB;   blasLDA = 3+planeNoB;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1098-		blasAlpha = -1.0*-2.0/u2;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1103-		/* gL */
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1104:		//transA = 'T'; blasM = planeNoAB;   blasLDA = std::max(1,planeNoAB);      blasAlpha = 1.0;   blasBeta = 0.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1105-		//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasVL[0], &incx, &blasBeta, &blasGL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1117-		dcopy_(&varNo2, &blasCa1[0], &incx, &blasHA[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1118:		//transA = 'N';   transB = 'T';   blasM = varNo;   blasN = varNo;   blasK = 1;blasLDA = blasM;   blasLDB = blasN;     blasAlpha = 1.0;  blasLDC = blasM;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1119-		blasBeta = -2.0/(u1);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1125-		dcopy_(&varNo2, &blasCa2[0], &incx, &blasHB[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1126:		//transA = 'N';   transB = 'T';   blasM = varNo;   blasN = varNo;   blasK = 1; blasLDA = blasM;   blasLDB = blasN;     blasAlpha = 1.0;      blasLDC = blasM;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1127-		blasBeta = -2.0/(u2);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1132-		/* HL */  //Eigen::MatrixXd HL1 = AL.transpose()*DL*AL;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1133:		//transA = 'T';   transB = 'N';   blasM = varNo;   blasN = planeNoAB;   blasK = planeNoAB;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1134-		//blasLDA = std::max(1,blasK);   blasLDB = std::max(1,blasK);     blasAlpha = 1.0;   blasBeta = 0.0; blasLDC = blasM;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1136-		dgemm_(&blasT, &blasNT, &varNo, &planeNoAB, &planeNoAB, &blas1, &blasAL[0], &blas1planeNoAB, &blasDL[0], &blas1planeNoAB, &blas0, &blasADAtemp[0], &varNo);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1137:		//transA = 'N';   transB = 'N';   blasM = varNo;   blasN = varNo;   blasK = planeNoAB;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1138-		//blasLDA = blasM;   blasLDB = std::max(1,blasK);     blasAlpha = 1.0;   blasBeta = 0.0;  blasLDC = blasM;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1281-			// blasAlpha = -1.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1282:			//blasM = planeNoAB;   blasLDA = std::max(1,planeNoAB);     blasN = varNo;    blasAlpha = -1.0;    blasBeta = 1.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1283-			//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasNewX[0], &incx, &blasBeta, &blasWL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1323-			dcopy_(&planeNoA3, &blasB1[0], &incx, &blasW1[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1324:			//transA = 'N';	blasM = 3+planeNoA;   blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1325-			//blasLDA = 3+planeNoA;      blasAlpha = 1.0;   blasBeta = 1.0;    incx =1;  incy=1;
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1331-			dcopy_(&planeNoB3, &blasB2[0], &incx, &blasW2[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1332:			//blasM = 3+planeNoB;   blasLDA = 3+planeNoB;     blasN = varNo;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1333-			//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasA2[0], &blasLDA, &blasNewX[0], &incx, &blasBeta, &blasW2[0], &incy);
##############################################
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1348-			dcopy_(&planeNoAB, &blasBL[0], &incx, &blasWL[0], &incy);
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp:1349:			//blasM = planeNoAB;   blasLDA = std::max(1,planeNoAB);     blasN = varNo;    blasAlpha = -1.0;    blasBeta = 1.0;
yade-2020.01a/pkg/dem/Ig2_PP_PP_ScGeom.cpp-1350-			//dgemv_(&transA, &blasM, &blasN, &blasAlpha, &blasAL[0], &blasLDA, &blasNewX[0], &incx, &blasBeta, &blasWL[0], &incy);
##############################################
yade-2020.01a/pkg/dem/LubricationWithPotential.hpp-79-        YADE_CLASS_BASE_DOC_ATTRS_CTOR_PY(CundallStrackAdhesivePotential, CundallStrackPotential,
yade-2020.01a/pkg/dem/LubricationWithPotential.hpp:80:                                          "CundallStrack model with adhesive part. Contact is created when $u/a-\\varepsilon < 0$ and released when $u/a-\\varepsilon > l_{adh}$, where $l_{adh} = f_{adh}/k_n$. This lead to an hysteretic attractive part.",
yade-2020.01a/pkg/dem/LubricationWithPotential.hpp-81-                                          // ATTRS
##############################################
yade-2020.01a/pkg/dem/MeasureCapStress.hpp-19-	// clang-format off
yade-2020.01a/pkg/dem/MeasureCapStress.hpp:20:    YADE_CLASS_BASE_DOC_ATTRS(MeasureCapStress,PeriodicEngine,"Post-processing engine giving :yref:`the capillary stress tensor<MeasureCapStress.sigmaCap>` (the fluids mixture contribution to the total stress in unsaturated, i.e. triphasic, conditions) according to the $\\mu$UNSAT expression detailled in [Duriez2017c]_. Although this expression differs in nature from the one of utils.getCapillaryStress (consideration of distributed integrals herein, vs resultant capillary force therein), both are equivalent [Duriez2016b]_, [Duriez2017]_, [Duriez2017c]_. The REV volume $V$ entering the expression is automatically measured, from the :yref:`Cell` for periodic conditions, or from utils.aabbExtrema function otherwise.",
yade-2020.01a/pkg/dem/MeasureCapStress.hpp-21-			      ((Matrix3r,sigmaCap,Matrix3r::Zero(),Attr::readonly,"The capillary stress tensor $\\boldsymbol{\\sigma^{cap}}$ itself, expressed as $\\boldsymbol{\\sigma^{cap}} = 1/V \\, [ u_c (\\boldsymbol{\\mu_{Vw}} + \\boldsymbol{\\mu_{Ssw}}) + \\gamma_{nw} (\\boldsymbol{\\mu_{Snw}} + \\boldsymbol{\\mu_{\\Gamma}}) ]$ where the four microstructure tensors $\\boldsymbol{\\mu_{Vw}}, \\boldsymbol{\\mu_{Ssw}}, \\boldsymbol{\\mu_{Snw}}, \\boldsymbol{\\mu_{\\Gamma}}$ correspond to :yref:`muVw<MeasureCapStress.muVw>`, :yref:`muSsw<MeasureCapStress.muSsw>`, :yref:`muSnw<MeasureCapStress.muSnw>` and :yref:`muGamma<MeasureCapStress.muGamma>` attributes. |yupdate|"))
yade-2020.01a/pkg/dem/MeasureCapStress.hpp:22:			      ((Matrix3r,muVw,Matrix3r::Zero(),Attr::readonly,"Tensorial contribution (spherical i.e. isotropic) to :yref:`sigmaCap<MeasureCapStress.sigmaCap>` from the wetting fluid volume: $\\boldsymbol{\\mu_{Vw}} = V_w \\, \\boldsymbol{\\delta}$ with $V_w =$ :yref:`vW<MeasureCapStress.vW>` and $\\boldsymbol{\\delta}$ the identity tensor. |yupdate|"))
yade-2020.01a/pkg/dem/MeasureCapStress.hpp-23-			      ((Matrix3r,muSsw,Matrix3r::Zero(),Attr::readonly,"Tensorial contribution to :yref:`sigmaCap<MeasureCapStress.sigmaCap>` from the wetted solid surfaces $Ssw$: $\\boldsymbol{\\mu_{Ssw}} = \\int_{Ssw} \\vec n \\otimes \\vec x dS$ with $\\vec n$ the outward normal and $\\vec x$ the position. |yupdate|"))
##############################################
yade-2020.01a/pkg/dem/WirePM.hpp-71-			((Real,lambdau,0.2,,"Parameter between 0 and 1 introduced by [Thoeni2013]_ which defines the maximum shift of the force-displacement curve in order to take an additional initial elongation (e.g. wire distortion/imperfections, slipping, system flexibility) into account: $\\Delta l^*=\\lambda_u l_0 \\text{rnd(seed)}$. [-]"))
yade-2020.01a/pkg/dem/WirePM.hpp:72:			((Real,lambdaF,1.0,,"Parameter between 0 and 1 introduced by [Thoeni2013]_ which defines where the shifted force-displacement curve intersects with the new initial stiffness: $F^*=\\lambda_F F_{\\text{elastic}}$. [-]"))
yade-2020.01a/pkg/dem/WirePM.hpp-73-			((Real,as,0.,Attr::readonly,"Cross-section area of a single wire used to transform stress into force. [m²]"))
##############################################
yade-2020.01a/py/__init__.py.in-27-		import DLFCN as dl
yade-2020.01a/py/__init__.py.in:28:	if True: # not eval('${mono}'):
yade-2020.01a/py/__init__.py.in-29-		# see file:///usr/share/doc/python2.6/html/library/sys.html#sys.setdlopenflags
##############################################
yade-2020.01a/py/_extraDocs.py-102-
yade-2020.01a/py/_extraDocs.py:103:The new value of :yref:`trsf<Cell.trsf>` is computed at $\mat{T}_{i+1}=\mat{UP}_{i+1}$. From current and next :yref:`trsf<Cell.trsf>` the cell's velocity gradient :yref:`velGrad<Cell.velGrad>` is computed (according to its definition) as
yade-2020.01a/py/_extraDocs.py-104-
##############################################
yade-2020.01a/py/_extraDocs.py-112-
yade-2020.01a/py/_extraDocs.py:113:wrapper.Ig2_Sphere_Sphere_L3Geom.__doc__=r'''Functor for computing incrementally configuration of 2 :yref:`Spheres<Sphere>` stored in :yref:`L3Geom`; the configuration is positioned in global space by local origin $\vec{c}$ (contact point) and rotation matrix $\mat{T}$ (orthonormal transformation matrix), and its degrees of freedom are local displacement $\vec{u}$ (in one normal and two shear directions); with :yref:`Ig2_Sphere_Sphere_L6Geom` and :yref:`L6Geom`, there is additionally $\vec{\phi}$. The first row of $\mat{T}$, i.e. local $x$-axis, is the contact normal noted $\vec{n}$ for brevity. Additionally, quasi-constant values of $\vec{u}_0$ (and $\vec{\phi}_0$) are stored as shifted origins of $\vec{u}$ (and $\vec{\phi}$); therefore, current value of displacement is always $\curr{\vec{u}}-\vec{u}_0$.
yade-2020.01a/py/_extraDocs.py-114-
##############################################
yade-2020.01a/py/_extraDocs.py-117-When there is not yet contact, it will be created if $u_N=|\curr{\vec{x}}_2-\curr{\vec{x}}_1|-|f_d|(r_1+r2)<0$, where $f_d$ is :yref:`distFactor<Ig2_Sphere_Sphere_L3Geom.distFactor>` (sometimes also called 
yade-2020.01a/py/_extraDocs.py:118:\`\`interaction radius''). If $f_d>0$, then $\vec{u}_{0x}$ will be initalized to $u_N$, otherwise to 0. In another words, contact will be created if spheres enlarged by $|f_d|$ touch, and the \`\`equilibrium distance'' (where $\vec{u}_x-\vec{u}-{0x}$ is zero) will be set to the current distance if $f_d$ is positive, and to the geometrically-touching distance if negative.
yade-2020.01a/py/_extraDocs.py-119-
##############################################
yade-2020.01a/py/_extraDocs.py-153-
yade-2020.01a/py/_extraDocs.py:154:where $\vec{\tilde{v}}_2$ is $\vec{v}_2$ without mean-field velocity gradient in periodic boundary conditions (see :yref:`Cell.homoDeform`). In the numerial implementation, the normal part of incident velocity is removed (since it is computed directly) with $\pprev{\vec{v}_{r2}}=\pprev{\vec{v}_r}-(\pprev{\vec{n}}\cdot\pprev{\vec{v}_r})\pprev{\vec{n}}$.
yade-2020.01a/py/_extraDocs.py-155-
##############################################
yade-2020.01a/py/_extraDocs.py-189-
yade-2020.01a/py/_extraDocs.py:190:wrapper.LawTester.__doc__='''Prescribe and apply deformations of an interaction in terms of local mutual displacements and rotations. The loading path is specified either using :yref:`path<LawTester.path>` (as sequence of 6-vectors containing generalized displacements $u_x$, $u_y$, $u_z$, $\phi_x$, $\phi_y$, $\phi_z$) or :yref:`disPath<LawTester.disPath>` ($u_x$, $u_y$, $u_z$) and :yref:`rotPath<LawTester.rotPath>` ($\phi_x$, $\phi_y$, $\phi_z$). Time function with time values (step numbers) corresponding to points on loading path is given by :yref:`pathSteps<LawTester.pathSteps>`. Loading values are linearly interpolated between given loading path points, and starting zero-value (the initial configuration) is assumed for both :yref:`path<LawTester.path>` and :yref:`pathSteps<LawTester.pathSteps>`. :yref:`hooks<LawTester.hooks>` can specify python code to run when respective point on the path is reached; when the path is finished, :yref:`doneHook<LawTester.doneHook>` will be run.
yade-2020.01a/py/_extraDocs.py-191-
##############################################
yade-2020.01a/py/_extraDocs.py-210-
yade-2020.01a/py/_extraDocs.py:211::yref:`idWeight<LawTester.idWeight>` distributes prescribed motion between both particles (resulting local deformation is the same if ``id1`` is moved towards ``id2`` or ``id2`` towards ``id1``). This is true only for $u_x$, $u_y$, $u_z$, $\phi_x$ however ; bending rotations $\phi_y$, $\phi_z$ are nevertheless always distributed regardless of ``idWeight`` to both spheres in inverse proportion to their radii, so that there is no shear induced.
yade-2020.01a/py/_extraDocs.py-212-
##############################################
yade-2020.01a/py/_utils.cpp-771-	        "float m: sphere mass $m$\n:param float tc: collision time $t_c$\n:param float en: normal restitution coefficient $e_n$\n:param float es: "
yade-2020.01a/py/_utils.cpp:772:	        "tangential restitution coefficient $e_s$\n:return: dictionary with keys ``kn`` (the value of $k_n$), ``cn`` ($c_n$), ``kt`` ($k_t$), ``ct`` "
yade-2020.01a/py/_utils.cpp-773-	        "($c_t$).");
##############################################
yade-2020.01a/scripts/checks-and-tests/gui/testGui.sh-19-testTool () {
yade-2020.01a/scripts/checks-and-tests/gui/testGui.sh:20:	WHICHtool=`which $1`
yade-2020.01a/scripts/checks-and-tests/gui/testGui.sh-21-	echo -e "is $1 present? We found this: ${WHICHtool}"
##############################################
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-19-	if [[ -f ${file_location} ]]; then
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh:20:		BASENAME=`basename ${example} .py`
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh:21:		TMP_SECTION=`dirname ${file_location}`
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh:22:		TMP2_SECTION=`echo "$TMP_SECTION" | cut -d "/" -f1`
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-23-		# capitalize first letter in section name
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-24-		NEW_SECTION="$(tr '[:lower:]' '[:upper:]' <<< ${TMP2_SECTION:0:1})${TMP2_SECTION:1}"
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh:25:		YOUTUBEURL=`grep -E " ${example}\>" ../examples/list_of_examples.txt | sed -e "s/.* ${example}\>.*https:\/\/youtu.be\/\([^ ]\+\).*/\1/"`
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-26-		# make sure that .rst references do not contain illegal characters
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh:27:		SANITIZE=`echo ${BASENAME} | sed -e "s/[^A-Za-z0-9]/-/g"`
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-28-		Sanitize="$(tr '[:lower:]' '[:upper:]' <<< ${SANITIZE:0:1})${SANITIZE:1}"
##############################################
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-37-		echo ".. _ref${Sanitize}:\n"                                                                  >> ../doc/sphinx/tutorial-more-examples.rst
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh:38:		echo "* ref${Sanitize}_, "':ysrc:`source file<examples/'${file_location}'>`, `video`__'".\n"  >> ../doc/sphinx/tutorial-more-examples.rst
yade-2020.01a/scripts/list_of_examples_append_to_rst.sh-39-		echo "__ https://youtu.be/${YOUTUBEURL}\n"                                                    >> ../doc/sphinx/tutorial-more-examples.rst
##############################################
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh-44-	count=$((${count}+1))
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh:45:	DIRPLACE=`dirname ${file_location}`
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh:46:	PARENT=`basename ${DIRPLACE}`
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh-47-	cp -a ${DIRPLACE} /tmp/testEx/${PARENT}
##############################################
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh-49-	if [ ${SUCCESS} -eq 0 ]; then
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh:50:		BASENAME=`basename ${example} .py`
yade-2020.01a/scripts/test_all_examples_or_make_videos.sh-51-		xterm -en UTF-8 -b 0 -bg black -fg darkgray -geometry ${XTERM1_POS} -fn "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1" -e bash -c "cd /tmp/testEx/${PARENT} ; ../yade ./${example}" &!