    

 ## On this page

  

 

 # rocky\_pair\_scalars

 Last update: 17.07.2025 

<a id="l00001" name="l00001"></a> 1\#pragma once

<a id="l00002" name="l00002"></a> 2 

<a id="l00003" name="l00003"></a> 3// Includes ========================================================================================

<a id="l00004" name="l00004"></a> 4\#include "rocky\_scalars.h"

<a id="l00005" name="l00005"></a> 5 

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7// =================================================================================================

<a id="l00008" name="l00008"></a> 8// IRockyPairScalarsModel

<a id="l00009" name="l00009"></a> 9// =================================================================================================

<a id="l00010" name="l00010"></a> 10 

<a id="l00019" name="l00019"></a>[ 19](structIRockyPairScalarsModel.xhtml)struct [IRockyPairScalarsModel](structIRockyPairScalarsModel.xhtml) : ScalarsModel&lt;rocky20::PairScalarsController&gt;

<a id="l00020" name="l00020"></a> 20{

<a id="l00023" name="l00023"></a> 23 [IRockyPairScalarsModel](structIRockyPairScalarsModel.xhtml)(RockyModel* solver_model) :

<a id="l00024" name="l00024"></a> 24 ScalarsModel&lt;rocky20::PairScalarsController&gt;(solver_model-&gt;pair_scalars_controller,

<a id="l00025" name="l00025"></a> 25 solver_model-&gt;gpu_device_ids) 

<a id="l00026" name="l00026"></a> 26 {}

<a id="l00027" name="l00027"></a> 27 

<a id="l00039" name="l00039"></a> 39 [IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml)* [get\_statistics\_adder\_array](structIRockyPairScalarsModel.xhtml#a6c98a12b64d8698092cf6977a1c2b1ca)(int scalar_index);

<a id="l00040" name="l00040"></a> 40 

<a id="l00042" name="l00042"></a> 42 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]

<a id="l00043" name="l00043"></a> 43 IRockyStatisticsCounter* get_statistics_counter_array(int scalar_index);

<a id="l00055" name="l00055"></a> 55 [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml)* [get\_statistics\_accumulator\_array](structIRockyPairScalarsModel.xhtml#ab74d805c25cdf60a17a2df3addd8e1df)(int scalar_index);

<a id="l00056" name="l00056"></a> 56 

<a id="l00057" name="l00057"></a> 57\#ifdef ONLY\_FOR\_DOXYGEN

<a id="l00058" name="l00058"></a> 58 

<a id="l00060" name="l00060"></a>[ 60](structIRockyPairScalarsModel.xhtml#a9db6d59f40d249a8bee649b0830a3cd2) int [find](structIRockyPairScalarsModel.xhtml#a9db6d59f40d249a8bee649b0830a3cd2)(const char* name);

<a id="l00061" name="l00061"></a> 61 

<a id="l00063" name="l00063"></a>[ 63](structIRockyPairScalarsModel.xhtml#ac7c9db171244f51dd12e41bcd16629a8) int [add](structIRockyPairScalarsModel.xhtml#ac7c9db171244f51dd12e41bcd16629a8)(const char* name, const char* unit, bool output = true);

<a id="l00064" name="l00064"></a> 64 

<a id="l00066" name="l00066"></a>[ 66](structIRockyPairScalarsModel.xhtml#aae898890d803e0df2c0bf0ac23553f6a) void [reset](structIRockyPairScalarsModel.xhtml#aae898890d803e0df2c0bf0ac23553f6a)(int scalar_index);

<a id="l00067" name="l00067"></a> 67 

<a id="l00069" name="l00069"></a>[ 69](structIRockyPairScalarsModel.xhtml#a4134ab37bc984b4443ecf94dff64e720) void [set\_dimension](structIRockyPairScalarsModel.xhtml#a4134ab37bc984b4443ecf94dff64e720)(int scalar_index, double dimension_factor);

<a id="l00070" name="l00070"></a> 70 

<a id="l00071" name="l00071"></a> 71\#endif 

<a id="l00072" name="l00072"></a> 72};



<a id="l00073" name="l00073"></a> 73 

<a id="l00074" name="l00074"></a>[ 74](structIRockyPairScalarsModel.xhtml#a6c98a12b64d8698092cf6977a1c2b1ca)inline [IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml)* [IRockyPairScalarsModel::get\_statistics\_adder\_array](structIRockyPairScalarsModel.xhtml#a6c98a12b64d8698092cf6977a1c2b1ca)(int scalar_index)

<a id="l00075" name="l00075"></a> 75{

<a id="l00076" name="l00076"></a> 76 return this-&gt;_impl.template get_scalars&lt;IRockyStatisticsAdder&gt;(scalar_index);

<a id="l00077" name="l00077"></a> 77}



<a id="l00078" name="l00078"></a> 78 

<a id="l00079" name="l00079"></a> 79inline IRockyStatisticsCounter* IRockyPairScalarsModel::get_statistics_counter_array(int scalar_index)

<a id="l00080" name="l00080"></a> 80{

<a id="l00081" name="l00081"></a> 81 return this-&gt;_impl.template get_scalars&lt;IRockyStatisticsCounter&gt;(scalar_index);

<a id="l00082" name="l00082"></a> 82}

<a id="l00083" name="l00083"></a> 83 

<a id="l00084" name="l00084"></a>[ 84](structIRockyPairScalarsModel.xhtml#ab74d805c25cdf60a17a2df3addd8e1df)inline [IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml)* [IRockyPairScalarsModel::get\_statistics\_accumulator\_array](structIRockyPairScalarsModel.xhtml#ab74d805c25cdf60a17a2df3addd8e1df)(int scalar_index)

<a id="l00085" name="l00085"></a> 85{

<a id="l00086" name="l00086"></a> 86 return this-&gt;_impl.template get_scalars&lt;IRockyStatisticsAccumulator&gt;(scalar_index);

<a id="l00087" name="l00087"></a> 87}



<a id="l00088" name="l00088"></a> 88 

<a id="l00089" name="l00089"></a> 89// =================================================================================================

<a id="l00090" name="l00090"></a> 90// IRockyPairScalars

<a id="l00091" name="l00091"></a> 91// =================================================================================================

<a id="l00092" name="l00092"></a> 92 

<a id="l00099" name="l00099"></a>[ 99](structIRockyPairScalars.xhtml)struct [IRockyPairScalars](structIRockyPairScalars.xhtml) : EntityScalars&lt;rocky20::PairScalars&gt;

<a id="l00100" name="l00100"></a> 100{

<a id="l00103" name="l00103"></a> 103 __host__ __device__

<a id="l00104" name="l00104"></a> 104 [IRockyPairScalars](structIRockyPairScalars.xhtml)(rocky20::PairScalars &amp;_scalars, int _element_index) :

<a id="l00105" name="l00105"></a> 105 EntityScalars&lt; rocky20::PairScalars&gt;(_scalars, _element_index)

<a id="l00106" name="l00106"></a> 106 {}

<a id="l00107" name="l00107"></a> 107 

<a id="l00110" name="l00110"></a> 110\#ifdef ONLY\_FOR\_DOXYGEN

<a id="l00111" name="l00111"></a> 111 

<a id="l00113" name="l00113"></a>[ 113](structIRockyPairScalars.xhtml#a2115866634ce54e7425ab949bb87d006) ROCKY_FUNCTIONS double [get\_scalar](structIRockyPairScalars.xhtml#a2115866634ce54e7425ab949bb87d006)(int scalar_index) const;

<a id="l00114" name="l00114"></a> 114 

<a id="l00116" name="l00116"></a>[ 116](structIRockyPairScalars.xhtml#a5b7525f5f3d361571c0a2de51c61f189) ROCKY_FUNCTIONS void [set\_scalar](structIRockyPairScalars.xhtml#a5b7525f5f3d361571c0a2de51c61f189)(int scalar_index, double value) const;

<a id="l00117" name="l00117"></a> 117 

<a id="l00119" name="l00119"></a>[ 119](structIRockyPairScalars.xhtml#ac4629dbc764141b132b43a4ed53c1412) ROCKY_FUNCTIONS void [add\_scalar](structIRockyPairScalars.xhtml#ac4629dbc764141b132b43a4ed53c1412)(int scalar_index, double value) const;

<a id="l00120" name="l00120"></a> 120 

<a id="l00122" name="l00122"></a>[ 122](structIRockyPairScalars.xhtml#ac5e39d90b8b54baf30023e7665d55555) ROCKY_FUNCTIONS void [max\_scalar](structIRockyPairScalars.xhtml#ac5e39d90b8b54baf30023e7665d55555)(int scalar_index, double value) const;

<a id="l00123" name="l00123"></a> 123 

<a id="l00124" name="l00124"></a> 124\#endif

<a id="l00125" name="l00125"></a> 125};



<a id="l00126" name="l00126"></a> 126 

[IRockyPairScalarsModel](structIRockyPairScalarsModel.xhtml)

**Definition** rocky_pair_scalars.hpp:20



[IRockyPairScalarsModel::set\_dimension](structIRockyPairScalarsModel.xhtml#a4134ab37bc984b4443ecf94dff64e720)

void set_dimension(int scalar_index, double dimension_factor)



[IRockyPairScalarsModel::get\_statistics\_adder\_array](structIRockyPairScalarsModel.xhtml#a6c98a12b64d8698092cf6977a1c2b1ca)

IRockyStatisticsAdder * get_statistics_adder_array(int scalar_index)

**Definition** rocky_pair_scalars.hpp:74



[IRockyPairScalarsModel::find](structIRockyPairScalarsModel.xhtml#a9db6d59f40d249a8bee649b0830a3cd2)

int find(const char *name)



[IRockyPairScalarsModel::reset](structIRockyPairScalarsModel.xhtml#aae898890d803e0df2c0bf0ac23553f6a)

void reset(int scalar_index)



[IRockyPairScalarsModel::get\_statistics\_accumulator\_array](structIRockyPairScalarsModel.xhtml#ab74d805c25cdf60a17a2df3addd8e1df)

IRockyStatisticsAccumulator * get_statistics_accumulator_array(int scalar_index)

**Definition** rocky_pair_scalars.hpp:84



[IRockyPairScalarsModel::add](structIRockyPairScalarsModel.xhtml#ac7c9db171244f51dd12e41bcd16629a8)

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



[IRockyPairScalars](structIRockyPairScalars.xhtml)

**Definition** rocky_pair_scalars.hpp:100



[IRockyPairScalars::get\_scalar](structIRockyPairScalars.xhtml#a2115866634ce54e7425ab949bb87d006)

ROCKY_FUNCTIONS double get_scalar(int scalar_index) const



[IRockyPairScalars::set\_scalar](structIRockyPairScalars.xhtml#a5b7525f5f3d361571c0a2de51c61f189)

ROCKY_FUNCTIONS void set_scalar(int scalar_index, double value) const



[IRockyPairScalars::add\_scalar](structIRockyPairScalars.xhtml#ac4629dbc764141b132b43a4ed53c1412)

ROCKY_FUNCTIONS void add_scalar(int scalar_index, double value) const



[IRockyPairScalars::max\_scalar](structIRockyPairScalars.xhtml#ac5e39d90b8b54baf30023e7665d55555)

ROCKY_FUNCTIONS void max_scalar(int scalar_index, double value) const



[IRockyStatisticsAccumulator](structIRockyStatisticsAccumulator.xhtml)

**Definition** rocky_statistics_data.hpp:181



[IRockyStatisticsAdder](structIRockyStatisticsAdder.xhtml)

**Definition** rocky_statistics_data.hpp:21