Skip to main content

Rocky Solver SDK 2025 R2

rocky_pair_scalars

Last update: 16.07.2025
1// (C) 2024 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
2#pragma once
3
4// Includes ========================================================================================
5#include "rocky_scalars.h"
6
7
8// =================================================================================================
9// IRockyPairScalarsModel
10// =================================================================================================
11
20struct IRockyPairScalarsModel : ScalarsModel<rocky20::PairScalarsController>
21{
24 IRockyPairScalarsModel(RockyModel* solver_model) :
25 ScalarsModel<rocky20::PairScalarsController>(solver_model->pair_scalars_controller,
26 solver_model->gpu_device_ids)
27 {}
28
41
43 [[deprecated("IRockyStatisticsCounter is no longer needed for statistics")]]
44 IRockyStatisticsCounter* get_statistics_counter_array(int scalar_index);
57
58#ifdef ONLY_FOR_DOXYGEN
59
61 int find(const char* name);
62
64 int add(const char* name, const char* unit, bool output = true);
65
67 void reset(int scalar_index);
68
70 void set_dimension(int scalar_index, double dimension_factor);
71
72#endif
73};
74
76{
77 return this->_impl.template get_scalars<IRockyStatisticsAdder>(scalar_index);
78}
79
80inline IRockyStatisticsCounter* IRockyPairScalarsModel::get_statistics_counter_array(int scalar_index)
81{
82 return this->_impl.template get_scalars<IRockyStatisticsCounter>(scalar_index);
83}
84
86{
87 return this->_impl.template get_scalars<IRockyStatisticsAccumulator>(scalar_index);
88}
89
90// =================================================================================================
91// IRockyPairScalars
92// =================================================================================================
93
100struct IRockyPairScalars : EntityScalars<rocky20::PairScalars>
101{
104 __host__ __device__
105 IRockyPairScalars(rocky20::PairScalars &_scalars, int _element_index) :
106 EntityScalars< rocky20::PairScalars>(_scalars, _element_index)
107 {}
108
111#ifdef ONLY_FOR_DOXYGEN
112
114 ROCKY_FUNCTIONS double get_scalar(int scalar_index) const;
115
117 ROCKY_FUNCTIONS void set_scalar(int scalar_index, double value) const;
118
120 ROCKY_FUNCTIONS void add_scalar(int scalar_index, double value) const;
121
123 ROCKY_FUNCTIONS void max_scalar(int scalar_index, double value) const;
124
125#endif
126};
127
Definition rocky_pair_scalars.hpp:21
void set_dimension(int scalar_index, double dimension_factor)
IRockyStatisticsAdder * get_statistics_adder_array(int scalar_index)
Definition rocky_pair_scalars.hpp:75
int find(const char *name)
void reset(int scalar_index)
IRockyStatisticsAccumulator * get_statistics_accumulator_array(int scalar_index)
Definition rocky_pair_scalars.hpp:85
int add(const char *name, const char *unit, bool output=true)
Definition rocky_pair_scalars.hpp:101
ROCKY_FUNCTIONS double get_scalar(int scalar_index) const
ROCKY_FUNCTIONS void set_scalar(int scalar_index, double value) const
ROCKY_FUNCTIONS void add_scalar(int scalar_index, double value) const
ROCKY_FUNCTIONS void max_scalar(int scalar_index, double value) const
Definition rocky_statistics_data.hpp:182
Definition rocky_statistics_data.hpp:22

Connect with Ansys