    

 ## On this page

  

 

 # IRockyPairScalarsModel Struct Reference

 Last update: 16.07.2025 

`#include <<a class="el" href="rocky__pair__scalars_8hpp_source.xhtml">rocky_pair_scalars.hpp</a>>`

Inherits ScalarsModel&lt; rocky20::PairScalarsController &gt;.

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

[IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml) \* [get\_statistics\_adder\_array](#a6c98a12b64d8698092cf6977a1c2b1ca) (int scalar\_index) [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml) \* [get\_statistics\_accumulator\_array](#ab74d805c25cdf60a17a2df3addd8e1df) (int scalar\_index) int [find](#a9db6d59f40d249a8bee649b0830a3cd2) (const char \*name) int [add](#ac7c9db171244f51dd12e41bcd16629a8) (const char \*name, const char \*unit, bool output=true) void [reset](#aae898890d803e0df2c0bf0ac23553f6a) (int scalar\_index) void [set\_dimension](#a4134ab37bc984b4443ecf94dff64e720) (int scalar\_index, double dimension\_factor) <a id="details" name="details"></a>## Detailed Description

An `<a class="el" href="structIRockyPairScalarsModel.xhtml">IRockyPairScalarsModel</a>` object allows users to create and configure custom pair scalars. Pair scalars are special variables with a value attached to every combination of two particle groups and each combination of a particle group and a geometry. Their typical use is the accumulation of collision data for inter-group collision statistics, but they can be used in any other application in which it is necessary to associate values to such combination pairs.



## Member Function Documentation

<a id="ac7c9db171244f51dd12e41bcd16629a8" name="ac7c9db171244f51dd12e41bcd16629a8"></a>## [◆ ](#ac7c9db171244f51dd12e41bcd16629a8)add()

 int IRockyPairScalarsModel::add  ( const char \* *name*,    const char \* *unit*,    bool *output* = true )

This method creates a new scalar variable of type `double`for storing custom values during a simulation, preserving them between time iterations.Parameters nameThe name given to the scalar variable. The purpose of this name is twofold. First, it enables to find this scalar variable from other module, in order to share their values. Second, if the scalar variable can be displayed in a 3D window as a property, this name will identify it in the Rocky UI.unitA string specifying the unit in S.I. associated to the scalar variable.outputEnables/disables the storage in disk at output times, for the visualization and post-processing of the scalar values.ReturnsThe index that will uniquely identify the scalar variable during the execution of the simulation. 



<a id="a9db6d59f40d249a8bee649b0830a3cd2" name="a9db6d59f40d249a8bee649b0830a3cd2"></a>## [◆ ](#a9db6d59f40d249a8bee649b0830a3cd2)find()

 int IRockyPairScalarsModel::find  ( const char \* *name*) 

This method searches for a scalar variable already created by other modules,in order to allow access to its values, or store new values on it, during the execution of the simulation.Parameters nameThe name given to the scalar at the moment of its creation.ReturnsThe index that uniquely identifies the wanted scalar if it was actually found. It returns -1 otherwise. 



<a id="ab74d805c25cdf60a17a2df3addd8e1df" name="ab74d805c25cdf60a17a2df3addd8e1df"></a>## [◆ ](#ab74d805c25cdf60a17a2df3addd8e1df)get\_statistics\_accumulator\_array()

 [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml) \* IRockyPairScalarsModel::get\_statistics\_accumulator\_array  ( int *scalar\_index*) 

ReturnsThe array of all `<a class="el" href="structIRockyStatisticsAccumulator.xhtml">IRockyStatisticsAccumulator</a>` objects currently stored in a given scalar. The size of this array will be the number of combinations between particle groups plus the number of combinations between particle groups and geometries in a project.Parameters scalar\_indexThe index that identifies the scalar, attributed when it was created. 



<a id="a6c98a12b64d8698092cf6977a1c2b1ca" name="a6c98a12b64d8698092cf6977a1c2b1ca"></a>## [◆ ](#a6c98a12b64d8698092cf6977a1c2b1ca)get\_statistics\_adder\_array()

 [IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml) \* IRockyPairScalarsModel::get\_statistics\_adder\_array  ( int *scalar\_index*) 

ReturnsThe array of all `<a class="el" href="structIRockyStatisticsAdder.xhtml">IRockyStatisticsAdder</a>` objects currently stored in a given scalar. The size of this array will be the number of combinations between particle groups plus the number of combinations between particle groups and geometries in a project.Parameters scalar\_indexThe index that identifies the scalar, attributed when it was created. 



<a id="aae898890d803e0df2c0bf0ac23553f6a" name="aae898890d803e0df2c0bf0ac23553f6a"></a>## [◆ ](#aae898890d803e0df2c0bf0ac23553f6a)reset()

 void IRockyPairScalarsModel::reset  ( int *scalar\_index*) 

This method resets to zero all values stored in a scalar variable.Parameters scalar\_indexThe index attributed to the scalar variable at the moment of its creation. 



<a id="a4134ab37bc984b4443ecf94dff64e720" name="a4134ab37bc984b4443ecf94dff64e720"></a>## [◆ ](#a4134ab37bc984b4443ecf94dff64e720)set\_dimension()

 void IRockyPairScalarsModel::set\_dimension  ( int *scalar\_index*,    double *dimension\_factor* )

The purpose of this method is to associate a dimensional factorto a scalar variable. This factor will be used to nondimensionalize their values. For instance, if the scalar represents a force, a force dimensional factor must be associated through this method. Dimensional factors for the fundamental magnitudes are provided by functions of a `<a class="el" href="structIRockyModel.xhtml">IRockyModel</a>` object.Parameters scalar\_indexThe index attributed to the scalar variable at the moment of its creation.dimension\_factorThe appropriate dimensional factor for the scalar variable.