Hi,

Not all in one file: you should split your meshes into 2 different files 
and load separately, if you want to make it easier. Each file should 
contain a part of your original mesh. This task is pre-processing, you have 
to use a mesh tool, and Chrono cannot help you do that. Any modern CAD 
should suffice. Should be easily doable in Python too, Trimesh package 
could help you. Just to name a few possibilities.

Thank you,
Ruochun

On Friday, June 17, 2022 at 1:01:21 AM UTC-5 [email protected] wrote:

> Hello, 
> Thank you for your explanation. I also found it weird that the simulation 
> time increased by such a significant factor. my simulations used to take 
> 3.30 hrs and now they take 8hrs. As a result, I would try to switch gears 
> and try the method you described. However, I have some questions about it. 
> when you import the meshed all together in one file, how can you 
> distinguish between the different meshes when writing the script? in other 
> words, since the meshes are all managed by the same body,  how can I get 
> the forces on one mesh only (e.g. tip of the cone)?  I am new to Chrono so 
> I am still trying to learn the logic when scripting stuff. I would 
> appreciate if you have an example of how I can do this. 
>
> Thank you so much
>
> On Wednesday, June 15, 2022 at 7:59:04 PM UTC-7 Ruochun Zhang wrote:
>
>> Hi,
>>
>> That should be possible and in fact, I think you are almost doing that. 
>> The current Chrono::GPU can only output the total force experienced by a 
>> mesh, which means you have to do some pre-processing to split the mesh into 
>> two (near-tip region and the rest of the cone body), however you don't have 
>> to split the Chrono body into two. After splitting the mesh (maybe with a 
>> CAD software), you should have 2 meshes, which are both non-closed surface 
>> meshes, but it is fine, because Chrono::GPU treats a mesh as a collection 
>> of triangle facets anyway; just make sure when put together, these 2 meshes 
>> form an almost-watertight cone surface. Then you can load them in your 
>> script via two *AddMesh *calls (or add *AddMeshes*, if you would). Then, 
>> these two meshes can be managed by *one *Chrono body. It's just like 
>> before, get position and velocity of that Chrono body, and apply that 
>> information to *both *meshes. Then, you can use *CollectMeshContactForces 
>> *to collect the force and torque information from whichever mesh you are 
>> interested in. Note however, before you *Accumulate_force *and 
>> *Accumulate_torque 
>> *to that Chrono body, you need to add *cone_force *and *cone_torque *of 
>> the two partial meshes together, because obviously they are both parts of 
>> the cone body and the forces they experience stack, from the perspective of 
>> the Chrono body.
>>
>> One thing that is a bit weird to me is that splitting the cone causes the 
>> simulation time to increase significantly for you. The Chrono side of 
>> simulation should only take a fraction of the total runtime, for a 
>> reasonably sized DEM problem. Either the mesh got some issues or the 
>> problem size is extremely small. But it's perhaps not a big show-stopper.
>>
>> Finally, I hear you, I'll consider adding more explicit control/query 
>> methods to mesh objects in our upcoming new-generation Chrono DEM solver.
>>
>> Thank you,
>> Ruochun 
>>
>> On Wednesday, June 15, 2022 at 3:44:29 PM UTC-5 [email protected] 
>> wrote:
>>
>>> Hello, 
>>>
>>> Thank you so much for your response. That indeed solved the problem. 
>>> However, it did not help me with the purpose of my simulation. the reason 
>>> that I split the cone body into two bodies is that I wanted to obtain the 
>>> forces on the tip of the cone only. However, by splitting the body, the 
>>> simulation time increased by 2.5 and I am not really sure of the accuracy 
>>> of the result. Is there a way to specify the specific part of the cone( the 
>>> tip in case) where I want to obtain the forces on? in other words,  is 
>>> there a way to obtain the forces on the tip of the cone only without the 
>>> need for splitting the cone into two different bodies? I am new to Chrono 
>>> so I am not 100% sure of its abilities. I would assume that this is 
>>> something common and would have a solution.
>>>
>>> Thank you so much,  
>>>
>>> On Monday, June 13, 2022 at 10:35:56 PM UTC-7 Ruochun Zhang wrote:
>>>
>>>> Hi,
>>>>
>>>> Without looking into too many details, you should try this first: 
>>>> Change the first argument of method *ApplyMeshMotion *to be 
>>>> corresponding mesh numbers. We you *AddMesh*, it returns the mesh 
>>>> number that you can refer to in your script, but in your case, they are 
>>>> simply 0 and 1 (instead of both 0).
>>>>
>>>> If there are still problems, could you follow up and provide more 
>>>> information on how it "did not work"?
>>>>
>>>> Thank you,
>>>> Ruochun
>>>>
>>>> On Monday, June 13, 2022 at 10:24:08 PM UTC-5 [email protected] 
>>>> wrote:
>>>>
>>>>> Hi,
>>>>> I'm running a co-simulation script to simulate dropping a cone that is 
>>>>> split into two bodies on a particle bed using a material-based 
>>>>> model. However, I am trying to have the two bodies either linked together 
>>>>> or move at the same speed. I tried to use the Chlink different methods to 
>>>>> link the bodies but it didn't work. I also tried to include two motors 
>>>>> and 
>>>>> have the two bodies move at the same speed but that did not work either. 
>>>>> I 
>>>>> looked at many demos but they mostly have only one body in a simulation 
>>>>> and 
>>>>> so could not find something similar to my application. I am going to 
>>>>> include my file for your reference. 
>>>>>
>>>>> Thank you so much, 
>>>>>
>>>>

-- 
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/d041aa7f-aef8-4fdd-a085-333f9b326991n%40googlegroups.com.

Reply via email to