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/aa4b2bff-ec40-45d1-a097-199283ac0bben%40googlegroups.com.
