Skip to main content

Rocky Solver SDK 2025 R2

rocky_contact_output_data_api

Last update: 16.07.2025
1// (C) 2024 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
2#pragma once
3
4#include <rocky20/model/contact_data.h>
5
6
7// =================================================================================================
8// IRockyContactOutputData
9// =================================================================================================
10
38{
39 // Setters -------------------------------------------------------------------------------------
40
52 ROCKY_FUNCTIONS void set_normal_force(double value);
53
54
66 ROCKY_FUNCTIONS void set_tangential_force(double3 value);
67
83 ROCKY_FUNCTIONS void set_home_impact_energy(double value);
84
85
101 ROCKY_FUNCTIONS void set_near_impact_energy(double value);
102
103
118 ROCKY_FUNCTIONS void set_sliding(bool value);
119
120
131 ROCKY_FUNCTIONS void set_home_moment(double3 value);
132
133
145 ROCKY_FUNCTIONS void set_near_moment(double3 value);
146
147
159 ROCKY_FUNCTIONS void set_rolling_dissipated_power(double value);
160
161 // Getters -------------------------------------------------------------------------------------
162
178 ROCKY_FUNCTIONS double get_normal_force();
179
180
197 ROCKY_FUNCTIONS double3 get_tangential_force();
198
199
206 ROCKY_FUNCTIONS double get_normal_relative_velocity();
207
214 ROCKY_FUNCTIONS double3 get_tangential_relative_velocity();
215
216
217
220 bool _sliding{false};
221 bool _is_rr_power_set{ false };
222 contact_output_data _output{};
223
225};
226
227// Setters -------------------------------------------------------------------------------------
228inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_normal_force(double value)
229{
230 this->_output.normal_force = value;
231}
232
233inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_tangential_force(double3 value)
234{
235 this->_output.tangential_force = value;
236}
237
238inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_home_impact_energy(double value)
239{
240 this->_output.home_normal_energy = value;
241}
242
243inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_near_impact_energy(double value)
244{
245 this->_output.near_normal_energy = value;
246}
247
248inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_sliding(bool value)
249{
250 this->_sliding = value;
251}
252
253inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_home_moment(double3 value)
254{
255 this->_output.home_moment = value;
256}
257
258inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_near_moment(double3 value)
259{
260 this->_output.near_moment = value;
261}
262
263inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_rolling_dissipated_power(double value)
264{
265 this->_is_rr_power_set = true;
266 this->_output.rr_power = value;
267}
268
269// Getters -------------------------------------------------------------------------------------
270inline ROCKY_FUNCTIONS double IRockyContactOutputData::get_normal_force()
271{
272 return this->_output.normal_force;
273}
274
275inline ROCKY_FUNCTIONS double3 IRockyContactOutputData::get_tangential_force()
276{
277 return this->_output.tangential_force;
278}
279
281{
282 return this->_output.normal_velocity;
283}
284
286{
287 return this->_output.tangential_velocity;
288}
289
290
291
292// =================================================================================================
293// IRockyAdhesionOutputData
294// =================================================================================================
295
304{
315 ROCKY_FUNCTIONS void set_normal_force(double value);
316
327 ROCKY_FUNCTIONS void set_tangential_force(double3 value);
328
329
332 adhesion_output_data _output{};
333
335};
336
337inline ROCKY_FUNCTIONS void IRockyAdhesionOutputData::set_normal_force(double value)
338{
339 this->_output.adhesive_normal_force = value;
340}
341
342inline ROCKY_FUNCTIONS void IRockyAdhesionOutputData::set_tangential_force(double3 value)
343{
344 this->_output.adhesive_tangential_force = value;
345}
Definition rocky_contact_output_data_api.hpp:304
ROCKY_FUNCTIONS void set_tangential_force(double3 value)
Definition rocky_contact_output_data_api.hpp:342
ROCKY_FUNCTIONS void set_normal_force(double value)
Definition rocky_contact_output_data_api.hpp:337
Definition rocky_contact_output_data_api.hpp:38
ROCKY_FUNCTIONS double3 get_tangential_force()
Definition rocky_contact_output_data_api.hpp:275
ROCKY_FUNCTIONS void set_normal_force(double value)
Definition rocky_contact_output_data_api.hpp:228
ROCKY_FUNCTIONS void set_home_moment(double3 value)
Definition rocky_contact_output_data_api.hpp:253
ROCKY_FUNCTIONS void set_home_impact_energy(double value)
Definition rocky_contact_output_data_api.hpp:238
ROCKY_FUNCTIONS void set_near_moment(double3 value)
Definition rocky_contact_output_data_api.hpp:258
ROCKY_FUNCTIONS void set_tangential_force(double3 value)
Definition rocky_contact_output_data_api.hpp:233
ROCKY_FUNCTIONS void set_rolling_dissipated_power(double value)
Definition rocky_contact_output_data_api.hpp:263
ROCKY_FUNCTIONS double get_normal_relative_velocity()
Definition rocky_contact_output_data_api.hpp:280
ROCKY_FUNCTIONS double get_normal_force()
Definition rocky_contact_output_data_api.hpp:270
ROCKY_FUNCTIONS void set_sliding(bool value)
Definition rocky_contact_output_data_api.hpp:248
ROCKY_FUNCTIONS void set_near_impact_energy(double value)
Definition rocky_contact_output_data_api.hpp:243
ROCKY_FUNCTIONS double3 get_tangential_relative_velocity()
Definition rocky_contact_output_data_api.hpp:285

Connect with Ansys