Skip to main content

Rocky Solver SDK 2024 R2

rocky_model_api

Last update: 17.07.2025
1#pragma once
2
3// Includes =======================================================================================
4#include "rocky_model.hpp"
5#include "rocky_particle_api.hpp"
6
7// ================================================================================================
8// IRockyDeviceModel
9// ================================================================================================
10
19{
20
24 ROCKY_FUNCTIONS double get_timestep() const;
25
29 ROCKY_FUNCTIONS double get_current_time() const;
30
47 int point_cloud_index, const IRockyParticle &particle);
48
56 ROCKY_FUNCTIONS IRockyPairScalars get_pair_scalars(int pair_index);
57
65 ROCKY_FUNCTIONS IRockyGeometryScalars get_geometry_scalars(int geometry_index);
66
69 [[deprecated("Use get_timestep() instead.")]]
70 ROCKY_FUNCTIONS double get_time_step() const;
71
72 RockyDeviceModel _impl;
73
75};
76
77// deprecated
78inline
79ROCKY_FUNCTIONS double IRockyDeviceModel::get_time_step() const
80{
81 return this->_impl.get_timestep();
82}
83
84inline
85ROCKY_FUNCTIONS double IRockyDeviceModel::get_timestep() const
86{
87 return this->_impl.get_timestep();
88}
89
90inline
91ROCKY_FUNCTIONS double IRockyDeviceModel::get_current_time() const
92{
93 return this->_impl.get_current_time();
94}
95
96inline ROCKY_FUNCTIONS IRockyCloudPoint
97IRockyDeviceModel::get_particle_cloud_point(int point_cloud_index, const IRockyParticle& particle)
98{
99 auto point_cloud = this->_impl.model->point_clouds + point_cloud_index;
100 int point_index = this->_impl.model->particle_scalars->get_scalar<int>(
101 point_cloud->particle_scalars_index, particle._impl.particle_index);
102 return IRockyCloudPoint(point_cloud, point_index);
103}
104
105inline ROCKY_FUNCTIONS IRockyPairScalars IRockyDeviceModel::get_pair_scalars(int pair_index)
106{
107 return IRockyPairScalars(*this->_impl.model->pair_scalars, pair_index);
108}
109
110inline ROCKY_FUNCTIONS IRockyGeometryScalars IRockyDeviceModel::get_geometry_scalars(int geometry_index)
111{
112 return IRockyGeometryScalars(*this->_impl.model->boundary_scalars, geometry_index);
113}
Definition rocky_point_cloud_api.hpp:15
Definition rocky_model_api.hpp:19
ROCKY_FUNCTIONS double get_current_time() const
Definition rocky_model_api.hpp:91
ROCKY_FUNCTIONS IRockyPairScalars get_pair_scalars(int pair_index)
Definition rocky_model_api.hpp:105
ROCKY_FUNCTIONS IRockyGeometryScalars get_geometry_scalars(int geometry_index)
Definition rocky_model_api.hpp:110
ROCKY_FUNCTIONS double get_timestep() const
Definition rocky_model_api.hpp:85
ROCKY_FUNCTIONS IRockyCloudPoint get_particle_cloud_point(int point_cloud_index, const IRockyParticle &particle)
Definition rocky_model_api.hpp:97
Definition rocky_boundary_scalars.hpp:96
Definition rocky_pair_scalars.hpp:100
Definition rocky_particle_api.hpp:27

Connect with Ansys