Hi, Ruochun
Thank you for your reply. My goal is to import nearly 100,000
spherical particles into DEME, and the radius of each spherical particle is
different. When I use the following code to import 100,000 spherical
particles into DEME, it prompts that DEME can only support a maximum of 255
templates. In other words, can I specify a spherical particle template with
a fixed radius and then set different scaling ratios to generate particles?
auto data_xyzr = DEMSim.ReadClumpFloat4FromCsv("../data/clumps/Hopper.csv",
OUTPUT_FILE_X_COL_NAME,
OUTPUT_FILE_Y_COL_NAME,
OUTPUT_FILE_Z_COL_NAME,
OUTPUT_FILE_R_COL_NAME,
OUTPUT_FILE_CLUMP_TYPE_NAME
);
std::cout << data_xyzr.size() << " Data points are loaded from the external
list." << std::endl;
for (unsigned int i = 0; i < data_xyzr.size(); i++)
{
char t_name[20];
sprintf(t_name, "%d", i);
float radius = data_xyzr[std::string(t_name)][0].w;
float density = 2500;
float mass = density * 4. / 3. * PI * radius * radius * radius;; // in kg
or g
auto sphere_template = DEMSim.LoadSphereType(mass, radius, mat_type_particle
);
DEMSim.AddClumps(sphere_template, make_float3(data_xyzr[std::string(t_name)]
[i].x, data_xyzr[std::string(t_name)][i].y, data_xyzr[std::string(t_name)][i
].z));
}
*The DEME warning as follow:*
WARNING! There are 166245 clump templates loaded, but only 255 templates
(totalling 255 components) are jitifiable due to some of the clumps are big
and/or there are many types of clumps.
It is probably because you have some objects represented by spherical
decomposition (a.k.a. have big clumps).
In this case, I suggest calling DisableJitifyClumpTemplates() before system
initialization to use flattened clump templates.
terminate called after throwing an instance of 'std::runtime_error'
what(): 166246 different mass properties (from the contribution of clump
templates, analytical objects and meshed objects) are loaded, but the max
allowance is 65534 (No.65535 is reserved).
You may avoid this by calling DisableJitifyMassProperties() before system
initialization to disable jitification for mass properties
This happened in postResourceGenChecksAndTabKeeping.
在2024年7月31日星期三 UTC+8 13:33:14<Ruochun Zhang> 写道:
> Hi Wenxuan,
>
> Sphere radius is a part of the clump template data. That is, in DEME, you
> need to first define clump templates (could be a single-sphere clump if you
> need it), then instantiate those clump templates to create the particles in
> simulations. So in your case, you need to process the file to derive the
> types of clumps (or say in your case, the distinct radii that the spheres
> might have), then load these as templates, then instantiate their
> respective clump templates at the xyz locations you have in the file.
>
> I know it could be a bit problematic your radii is continuous, and in that
> case you should emulate a continuious range of radii with a discrete set of
> different radii. The DEME data structure potentially allows for storing
> continuous clump shape information, however the APIs needed are not
> implemented yet so right now, it can't be done easily.
>
> Note that if the data file is the output of another DEME simulation, then
> instead, the real issue here is that you should have generated this data
> file with *WriteClumpFile *rather than *WriteSphereFile*. The former will
> write each clump in each line (rather than breaking up each clump and write
> component spheres to the file like the latter), and it contains the name
> for the clump template that the current particle belongs to. That file is
> easier to use to restart a simulation, and you can refer to how it is done
> in *DEMdemo_GRCPrep_Part2*.
>
> Thank you,
> Ruochun
>
>
> On Monday, July 29, 2024 at 8:59:42 PM UTC+8 [email protected] wrote:
>
>> Hi,
>>
>> I hava a sphere paritcle data contain (x, y, z, radius), from the
>> ReadClumpXyzFromCsv function can only import the sphere particle position,
>> how to set the sphere radius?
>>
>> Best regards,
>> Wenxuan XU
>>
>
--
You received this message because you are subscribed to the Google Groups
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/projectchrono/9efe379f-6692-4098-9c52-c75f415b4458n%40googlegroups.com.