Hi Wenxuan,

It does. If most of the triangles do not come in contact with the spheres, 
then the effect is perhaps not too big, but it shifts the load balance 
between contact detection and force calculation, thus still having an 
impact. If most triangles are in contact with spheres, then you can think 
of a triangle being a more expensive sphere that the solver has to resolve.

Thank you,
Ruochun

On Wednesday, September 25, 2024 at 8:39:20 AM UTC+8 [email protected] 
wrote:

> Hi, Ruochun
>
>       Does the number of triangles in the WaveFront obj object affect 
> computation speed? The obj file I exported contains 1.8 million triangles.
>
> Best regards,
> Wenxuan
>
> 在2024年9月18日星期三 UTC+8 17:56:56<Ruochun Zhang> 写道:
>
>> The user does not have to worry about that. If only one GPU is detected, 
>> DEME will automatically map both threads to that GPU.
>>
>> Thank you,
>> Ruochun
>>
>> On Wednesday, September 18, 2024 at 2:05:05 PM UTC+8 [email protected] 
>> wrote:
>>
>>> Hi, ruochun
>>>
>>>         From your paper published in *Computer Physics Communications*, 
>>> the kinematic thread and dynamic thread are worked in different GPU. If we 
>>> only have one GPU, how to deal with the kinematic thread and dynamic thread?
>>>
>>> Best regards,
>>> Wenxuan XU
>>>
>>> 在2024年9月14日星期六 UTC+8 17:48:05<Ruochun Zhang> 写道:
>>>
>>>> Hi Wenxuan,
>>>>
>>>> To understand that, it's better to refer to the DEM-Engine paper 
>>>> <https://www.sciencedirect.com/science/article/pii/S001046552400119X>. 
>>>> It lets you know approximately, how large a "margin" or envelope is added 
>>>> to spheres/other simulation entities to account for potential future 
>>>> contacts. If you see it's too large then it may negatively impact the 
>>>> performance due to introducing too many false positive contacts. In 
>>>> general, this piece of info is not super critical for an average user.
>>>>
>>>> You can import a one-layer surface mesh. But know that the mesh is 
>>>> directional, and non-physical things will happen if the particles come in 
>>>> contact with the mesh incorrectly, namely from the "inside" direction. 
>>>>
>>>> Thank you,
>>>> Ruochun
>>>>
>>>> On Saturday, September 14, 2024 at 3:46:17 PM UTC+8 [email protected] 
>>>> wrote:
>>>>
>>>>> Hi, Ruochun
>>>>>
>>>>>       Thank you for your reply. How to understand the prompts on the 
>>>>> console “To give an example, all geometries may be enlarged/thickened by 
>>>>> around 0.0008 (estimated with the initial step size, initial update 
>>>>> frequency and velocity 1) for contact detection purpose.
>>>>> This in the case of the smallest sphere, means enlarging radius by 
>>>>> 3.90273%.” when running the DEMdemo_Repose? In addition, can I import a 
>>>>> surface-meshed funnel.obj file (a.k.a The funnel wall has no thickness).
>>>>>
>>>>> Best regards
>>>>> Wenxuan
>>>>>
>>>>> 在2024年9月13日星期五 UTC+8 19:22:55<Ruochun Zhang> 写道:
>>>>>
>>>>>> This is because *sphere_template *is a *shared_ptr*. So in your 
>>>>>> example, you simply modified the same *sphere_template *10 times and 
>>>>>> only the final modification will be used in the initialization step. You 
>>>>>> may want to *Duplicate sphere_template *first (creating a copy) 
>>>>>> before using it in *AddClumps*. See an example of *Duplicate *in 
>>>>>> *DEMdemo_GRCPrep_Part1.cpp*.
>>>>>>
>>>>>> Thank you,
>>>>>> Ruochun
>>>>>>
>>>>>> On Friday, September 13, 2024 at 5:13:34 PM UTC+8 [email protected] 
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Ruochun
>>>>>>>
>>>>>>>       I want to use Scale function to generator different size of 
>>>>>>> particle,but it doesn't work fine, the diameter of 10 particles 
>>>>>>> generated 
>>>>>>> is same. 
>>>>>>> double scale_par[10] = {0.9, 0.92 * 0.9, 0.94, 0.96, 0.98, 1, 1.02, 
>>>>>>> 1.04, 1.06, 1.08};
>>>>>>> double pos_x[10] = {4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9};
>>>>>>> double pos_y[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
>>>>>>> double pos_z[10] = {14, 14, 14, 14, 14, 14, 14, 14, 14, 14};
>>>>>>>
>>>>>>> for (unsigned int i = 0; i < 10; i++) 
>>>>>>> {
>>>>>>> sphere_template->Scale(scale_par[i]);
>>>>>>> DEMSim.AddClumps(sphere_template, make_float3(pos_x[i], pos_y[i], 
>>>>>>> pos_z[i])); 
>>>>>>> }
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Wenxuan
>>>>>>>
>>>>>>>
>>>>>>> 在2024年9月13日星期五 UTC+8 16:07:09<Ruochun Zhang> 写道:
>>>>>>>
>>>>>>>> From what I understand, there are people trying similar things but 
>>>>>>>> there are no documents or working examples. It's in theory quite 
>>>>>>>> doable as 
>>>>>>>> DEME is designed for co-simulation, and you just write scripts that 
>>>>>>>> use 
>>>>>>>> DEME methods and OpenFOAM methods at the same time and that's it. If 
>>>>>>>> you 
>>>>>>>> are going to do it, you can use Chrono--DEME cosim examples 
>>>>>>>> <https://github.com/projectchrono/chrono-projects/tree/feature/DEME> 
>>>>>>>> here as inspiration.
>>>>>>>>
>>>>>>>> Thank you,
>>>>>>>> Ruochun
>>>>>>>>
>>>>>>>> On Thursday, September 12, 2024 at 11:34:46 PM UTC+8 
>>>>>>>> [email protected] wrote:
>>>>>>>>
>>>>>>>>> Hi, touching
>>>>>>>>>
>>>>>>>>>        Thank you for your reply. By the way, 
>>>>>>>>> are there any examples of co-simulation about DEME coupling to 
>>>>>>>>> CFD(OpenFOAM)?
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Wenxuan
>>>>>>>>> Ruochun Zhang <[email protected]>于2024年9月12日 周四23:16写道:
>>>>>>>>>
>>>>>>>>>> In general, it should affect the efficiency insignificantly, 
>>>>>>>>>> since if you have too many templates (aka too many types of mass 
>>>>>>>>>> properties), the solver should automatically give up grouping and 
>>>>>>>>>> storing 
>>>>>>>>>> based on templates, and just store individual clump's mass 
>>>>>>>>>> properties. If 
>>>>>>>>>> you are very concerned then you can call 
>>>>>>>>>> *DisableJitifyMassProperties 
>>>>>>>>>> *to force this behavior. 
>>>>>>>>>>
>>>>>>>>>> I don't feel I understand what you meant by "group the particles" 
>>>>>>>>>> based on their size ranges. Maybe you want to make sure that when 
>>>>>>>>>> you 
>>>>>>>>>> sample initial particles in a certain region, they fall into a 
>>>>>>>>>> specific 
>>>>>>>>>> range. In that case, you might store templates that resemble a 
>>>>>>>>>> range, say 
>>>>>>>>>> [2, 4], in a standalone vector. Then when sampling a region in your 
>>>>>>>>>> simulation domain, you pick templates only from this vector.
>>>>>>>>>>
>>>>>>>>>> Thank you,
>>>>>>>>>> Ruochun
>>>>>>>>>>
>>>>>>>>>> On Thursday, September 12, 2024 at 12:56:24 PM UTC+8 
>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi, Ruochun
>>>>>>>>>>>
>>>>>>>>>>>       1. If so many spherical particle templates are created, 
>>>>>>>>>>> will it affect the calculation speed? 
>>>>>>>>>>>       2. If I have particles with multiple particle size ranges, 
>>>>>>>>>>> such as [2 mm, 4mm], [4 mm, 6 mm], [6 mm, 8 mm], how can I group 
>>>>>>>>>>> the 
>>>>>>>>>>> particles based on their particle size ranges?
>>>>>>>>>>>
>>>>>>>>>>> Thank you 
>>>>>>>>>>> Wenxuan
>>>>>>>>>>>
>>>>>>>>>>> 在2024年9月12日星期四 UTC+8 08:18:51<Ruochun Zhang> 写道:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Wenxuan,
>>>>>>>>>>>>
>>>>>>>>>>>> You can use DEMdemo_BallDrop.cpp 
>>>>>>>>>>>> <https://github.com/projectchrono/DEM-Engine/blob/main/src/demo/DEMdemo_BallDrop.cpp>
>>>>>>>>>>>>  as 
>>>>>>>>>>>> an example and starting point. There, I created 11 templates with 
>>>>>>>>>>>> diameters 
>>>>>>>>>>>> ranging from 0.25cm to 0.35cm, then when instantiating particles, 
>>>>>>>>>>>> they 
>>>>>>>>>>>> randomly took one of the 11 templates. This is usually enough for 
>>>>>>>>>>>> emulating 
>>>>>>>>>>>> a size distribution.
>>>>>>>>>>>>
>>>>>>>>>>>> However, if you want "truly random" distribution in the range 
>>>>>>>>>>>> of [8 mm, 12mm], then you probably just have to generate random 
>>>>>>>>>>>> floating 
>>>>>>>>>>>> numbers in this range, then create a sphere template based on this 
>>>>>>>>>>>> number, 
>>>>>>>>>>>> then create a particle using this template, then repeat the 
>>>>>>>>>>>> process. In the 
>>>>>>>>>>>> end, you will have as many templates as particles, and each of 
>>>>>>>>>>>> them is 
>>>>>>>>>>>> different. DEME should support this as well (and if it complains, 
>>>>>>>>>>>> please 
>>>>>>>>>>>> let me know). From the simulation physics point of view, this is 
>>>>>>>>>>>> likely an 
>>>>>>>>>>>> overkill.
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you,
>>>>>>>>>>>> Ruochun
>>>>>>>>>>>>
>>>>>>>>>>>> On Wednesday, September 11, 2024 at 10:26:07 AM UTC+8 
>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, Ruochun
>>>>>>>>>>>>>
>>>>>>>>>>>>>      I got a sphere particle template through the 
>>>>>>>>>>>>> LoadSphereType function. The diameter of the sphere particle 
>>>>>>>>>>>>> template is 10 
>>>>>>>>>>>>> mm. How can I add particles with a diameter randomly distributed 
>>>>>>>>>>>>> in the 
>>>>>>>>>>>>> range of [8 mm, 12mm] based on this spherical particle template?
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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/36d78488-1e35-4c6a-8d93-56845e46b545n%40googlegroups.com
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/d/msgid/projectchrono/36d78488-1e35-4c6a-8d93-56845e46b545n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>>

-- 
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/c7b48465-984a-492b-b127-abc39a541f9bn%40googlegroups.com.

Reply via email to