Skip to main content

Rocky Solver SDK 2025 R2

rocky_timestep_api

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 <memory>
6#include <vector>
7
8
9// Forward Declaration ============================================================================
10struct IRockyMaterial;
12class cuda_host;
13typedef cuda_host RockyModel;
14
15namespace timestep
16{
17 struct ParticleGroupData;
18}
19
20// ================================================================================================
21// IRockyInteractionCalculationsData
22// ================================================================================================
23
32{
33public:
34
35 // Particle ------------------------------------------------------------------------------------
36
43
51 int get_particle_material_index(int group_index) const;
52
61 double get_particle_min_sieve_size(int group_index) const;
62
71 double get_particle_max_sieve_size(int group_index) const;
72
81 double get_particle_min_mass(int group_index) const;
82
83 // Geometry ------------------------------------------------------------------------------------
84
90
97 int get_geometry_material_index(int index) const;
98
99 // Material ------------------------------------------------------------------------------------
100
107 IRockyMaterial get_material(int index) const;
108
116 int get_material_interaction_index(int home_index, int near_index) const;
117
126 IRockyMaterialInteraction get_material_interaction(int home_index, int near_index) const;
127
131 IRockyInteractionCalculationsData(RockyModel &model, const std::vector<timestep::ParticleGroupData>& group_data);
132 IRockyInteractionCalculationsData(RockyModel &model);
133
134protected:
135 struct impl;
136 std::unique_ptr<impl> pImpl;
137
139};
140
141
142// ================================================================================================
143// IRockyTimestepData
144// ================================================================================================
145
153{
154public:
155
161 int get_loading_n_steps() const;
164 IRockyTimestepData(RockyModel &model, const std::vector<timestep::ParticleGroupData>& group_data);
165
167};
168
169
170// ================================================================================================
171// IRockyAdhesiveDistanceData
172// ================================================================================================
173
190{
191public:
194 IRockyAdhesiveDistanceData(RockyModel &model);
195
208 void set_adhesive_distance(int home_index, int near_index, double adhesive_distance);
209
210};
211
Definition rocky_timestep_api.h:190
void set_adhesive_distance(int home_index, int near_index, double adhesive_distance)
Definition rocky_timestep_api.cpp:168
Definition rocky_timestep_api.h:32
int get_geometry_material_index(int index) const
Definition rocky_timestep_api.cpp:107
double get_particle_min_sieve_size(int group_index) const
Definition rocky_timestep_api.cpp:80
int get_material_interaction_index(int home_index, int near_index) const
Definition rocky_timestep_api.cpp:118
IRockyMaterial get_material(int index) const
Definition rocky_timestep_api.cpp:113
double get_particle_min_mass(int group_index) const
Definition rocky_timestep_api.cpp:94
int get_particle_material_index(int group_index) const
Definition rocky_timestep_api.cpp:75
int get_number_geometry_materials() const
Definition rocky_timestep_api.cpp:102
int get_number_particle_groups() const
Definition rocky_timestep_api.cpp:70
double get_particle_max_sieve_size(int group_index) const
Definition rocky_timestep_api.cpp:87
IRockyMaterialInteraction get_material_interaction(int home_index, int near_index) const
Definition rocky_timestep_api.cpp:123
Definition rocky_timestep_api.h:153
int get_loading_n_steps() const
Definition rocky_timestep_api.cpp:155
Definition rocky_material_api.hpp:72
Definition rocky_material_api.hpp:21

Connect with Ansys