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/cf9e4b59-21c1-4772-b095-2b73d1b4ce0cn%40googlegroups.com.

Reply via email to