Skip to main content

Rocky Solver SDK 2024 R2

rocky_timestep_api

Last update: 17.07.2025
1#pragma once
2
3// Includes =======================================================================================
4#include <memory>
5#include <vector>
6
7
8// Forward Declaration ============================================================================
9struct IRockyMaterial;
11class cuda_host;
12typedef cuda_host RockyModel;
13
14namespace timestep
15{
16 struct ParticleGroupData;
17}
18
19// ================================================================================================
20// IRockyInteractionCalculationsData
21// ================================================================================================
22
31{
32public:
33
34 // Particle ------------------------------------------------------------------------------------
35
42
50 int get_particle_material_index(int group_index) const;
51
60 double get_particle_min_sieve_size(int group_index) const;
61
70 double get_particle_max_sieve_size(int group_index) const;
71
80 double get_particle_min_mass(int group_index) const;
81
82 // Geometry ------------------------------------------------------------------------------------
83
89
96 int get_geometry_material_index(int index) const;
97
98 // Material ------------------------------------------------------------------------------------
99
106 IRockyMaterial get_material(int index) const;
107
115 int get_material_interaction_index(int home_index, int near_index) const;
116
125 IRockyMaterialInteraction get_material_interaction(int home_index, int near_index) const;
126
130 IRockyInteractionCalculationsData(RockyModel &model, const std::vector<timestep::ParticleGroupData>& group_data);
131 IRockyInteractionCalculationsData(RockyModel &model);
132
133protected:
134 struct impl;
135 std::unique_ptr<impl> pImpl;
136
138};
139
140
141// ================================================================================================
142// IRockyTimestepData
143// ================================================================================================
144
152{
153public:
154
160 int get_loading_n_steps() const;
163 IRockyTimestepData(RockyModel &model, const std::vector<timestep::ParticleGroupData>& group_data);
164
166};
167
168
169// ================================================================================================
170// IRockyAdhesiveDistanceData
171// ================================================================================================
172
189{
190public:
193 IRockyAdhesiveDistanceData(RockyModel &model);
194
207 void set_adhesive_distance(int home_index, int near_index, double adhesive_distance);
208
209};
210
Definition rocky_timestep_api.h:189
void set_adhesive_distance(int home_index, int near_index, double adhesive_distance)
Definition rocky_timestep_api.cpp:167
Definition rocky_timestep_api.h:31
int get_geometry_material_index(int index) const
Definition rocky_timestep_api.cpp:106
double get_particle_min_sieve_size(int group_index) const
Definition rocky_timestep_api.cpp:79
int get_material_interaction_index(int home_index, int near_index) const
Definition rocky_timestep_api.cpp:117
IRockyMaterial get_material(int index) const
Definition rocky_timestep_api.cpp:112
double get_particle_min_mass(int group_index) const
Definition rocky_timestep_api.cpp:93
int get_particle_material_index(int group_index) const
Definition rocky_timestep_api.cpp:74
int get_number_geometry_materials() const
Definition rocky_timestep_api.cpp:101
int get_number_particle_groups() const
Definition rocky_timestep_api.cpp:69
double get_particle_max_sieve_size(int group_index) const
Definition rocky_timestep_api.cpp:86
IRockyMaterialInteraction get_material_interaction(int home_index, int near_index) const
Definition rocky_timestep_api.cpp:122
Definition rocky_timestep_api.h:152
int get_loading_n_steps() const
Definition rocky_timestep_api.cpp:154
Definition rocky_material_api.hpp:71
Definition rocky_material_api.hpp:20

Connect with Ansys