Thank you so much Luning, appreciate all the help! On Thursday, August 24, 2023 at 8:09:43 AM UTC-7 [email protected] wrote:
> Here's the link, > > https://doi.org/10.1016/j.cma.2021.114022 > > This is the paper name: > > Hu, Wei, et al. "Modeling granular material dynamics and its two-way > coupling with moving solid bodies using a continuum representation and the > SPH method." *Computer Methods in Applied Mechanics and Engineering* 385 > (2021): 114022. > > On Wednesday, August 23, 2023 at 11:41:56 PM UTC-5 [email protected] > wrote: > >> Just one more thing. I cannot access the paper that has the physical >> meanings of the parameters that you mentioned since it's on the university >> website. I cannot even see its name. Would you mind sharing the name of the >> paper so I can search for it online. >> >> Thank you so much in advance, >> >> On Wednesday, August 23, 2023 at 9:28:26 PM UTC-7 Mohammad Wasfi wrote: >> >>> This is great. Thank you so much Luning. I appreciate your help! >>> >>> On Wednesday, August 23, 2023 at 4:11:51 PM UTC-7 [email protected] wrote: >>> >>>> Hello Mohammad, >>>> >>>> Please take a look at my reply in blue. >>>> >>>> 1- the bed looked too rigid. I have tried to figure out what to change >>>> to get a similar bed to what is in my DEM simulation but I could not. My >>>> bed in the DEM sim is generated using a PD sampler and then is allowed to >>>> settle. I have noticed that there is no settling phase in the FSI >>>> simulation. Is this normal for FSI simulations? What is controlling the >>>> rigidity of the bed in this simulation? >>>> >>>> As you have mentioned, DEM and CRM are different approaches for >>>> modeling granular material. For DEM, you need a settling phase, so the >>>> particles are packed. For CRM approach, the entire soil bed is modeled as >>>> a >>>> continuum, you don't need settling phase, in fact, whatever soil depth you >>>> got after settling in DEM, you can use that thickness to model the soil >>>> bed >>>> in SPH. The rigidity of the soil can be tuned using Young's Modulus, I >>>> will >>>> cover more later. >>>> That being said, when I looked at the CMakeCache you posted, I noticed >>>> you set the flag "USE_FSI_DOUBLE" to be "ON". For the release/8.0 >>>> branch (which is what I believe you are using now), there is a bug when >>>> using double precision, which results in your terrain look rigid. The bug >>>> was fixed in main, see here >>>> <https://github.com/projectchrono/chrono/commit/46bea8f535074bcdf49ed08822e3abf098ed790d> >>>> >>>> . You can either make the change in your own code, or switch to single >>>> precision (set USE_FSI_DOUBLE to be OFF in your cmake). >>>> >>>> 2- Bed properties? I have noticed that you get some of the >>>> parameters from a JSON file and some of them are defined in the >>>> simulation. >>>> However, it seems that FSI simulations use some different properties for >>>> the bed than what is used in DEM. Is it possible to define the bed using >>>> ONLY the material properties that I used in my DEM simulation (mentioned >>>> above)? Also, I could not find where the particle radius is defined in the >>>> simulation and was wondering if the kernelLength parameter is the same as >>>> the particle radius. Finally, I would like to set all my simulation >>>> parameters in my .cpp file instead of using a JSON file and was wondering >>>> about the appropriate way to set such parameters (such as Young's modulus, >>>> Can I have a code example?). >>>> >>>> Every parameters you see in JSON file can be set using APIs. For >>>> parameters related to granular soil, take a look at the code here >>>> <https://github.com/projectchrono/chrono/blob/release/8.0/src/chrono_fsi/ChSystemFsi.cpp#L626>. >>>> >>>> There's some book keeping you need to sort out, in terms of what >>>> parameters >>>> are included in the struct ElasticMaterialProperties, such as particle >>>> diameter, friction coefficient, Youngs modulus, etc. For more details on >>>> the physical meaning of those parameters, you can read this paper >>>> <https://doi-org.ezproxy.library.wisc.edu/10.1016/j.cma.2021.114022>(sec >>>> 2.1.1 on the rheology, and some applications). You can use the API >>>> SetElasticSPH() to modify your terrain parameters, rather than JSON. See >>>> an >>>> example in demo_VEH_SPHTerrain_Obstacles.cpp >>>> <https://github.com/projectchrono/chrono/blob/main/src/demos/vehicle/terrain/demo_VEH_SPHTerrain_Obstacles.cpp>. >>>> >>>> Note that kernelLength defines how large a neighborhood of particles is >>>> going to have influence on the particle of interest, which is not the same >>>> as particle radius. >>>> >>>> 3- I was wondering about the best way to restrict motion in some of the >>>> directions. Also, what is the best way to apply forces to the mesh? >>>> >>>> This is on the multibody dynamics setup. Note that in the single wheel >>>> test demo, global x is the longitudinal direction of the wheel, and global >>>> y is the lateral direction, global z is the gravity. There is a prismatic >>>> joint between chassis and the axle allowing motion in z direction, >>>> prismatic joint between ground and chassis with a prescribed velocity in x >>>> direction, and prescribed rotation on the wheel in y direction. In this >>>> example, the wheel has restricted motion in y dir. You can modify your >>>> screw problem accordingly. For more examples on multibody setup, you can >>>> look at the demos in demos/mbs folder. To apply force to your screw >>>> object, >>>> you can modify the mass of the axle body. >>>> >>>> [image: single_wheel_sketch.png] >>>> >>>> Thank you, >>>> Luning >>>> >>>> On Tuesday, August 22, 2023 at 11:26:13 AM UTC-5 [email protected] >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> I had some questions that I was hoping you could help me with. I have >>>>> been studying the FSI demos to try to better understand the FSI module. I >>>>> have mostly been using the DEM engine, so I have noticed some >>>>> significant differences between the DEM module and the FSI module. I am >>>>> trying to duplicate a simulation that I have done in the DEM ( >>>>> https://drive.google.com/file/d/1L9Br1Vf9hsFkjXqbhAZGNpgVep3p5YK_/view?usp=drive_link). >>>>> >>>>> In this simulation, I first initialize a bed with specific materials' >>>>> properties (Young's modulus, possession ratio, static friction, rolling >>>>> friction, coefficient of restitution, and cohesion energy density (the >>>>> cohesion module is implemented by me)). Then I settle the bed. After the >>>>> bed is settled, I drop the screw in a drop phase. After the screw is >>>>> settled on the bed, I start rotating the screw at 1 rad/s while >>>>> restricting its movement in the x direction and applying a down force on >>>>> it. >>>>> >>>>> To duplicate this simulation, I started with the >>>>> DEMO_FSI_SingleWheelTest where I started switching the wheel geometry to >>>>> my >>>>> geometry and changing the bed size to what is in the DEM simulation( >>>>> https://drive.google.com/file/d/18KhOFfXNEIlgcoLTvxTi27XL5soYB4yz/view?usp=drive_link >>>>> >>>>> - FSI_ScrewTest.cpp). The simulation looks okay but I got stuck on many >>>>> things after. I was wondering if you could help me with this stuff: >>>>> >>>>> 1- the bed looked too rigid. I have tried to figure out what to change >>>>> to get a similar bed to what is in my DEM simulation but I could not. My >>>>> bed in the DEM sim is generated using a PD sampler and then is allowed to >>>>> settle. I have noticed that there is no settling phase in the FSI >>>>> simulation. Is this normal for FSI simulations? What is controlling the >>>>> rigidity of the bed in this simulation? >>>>> >>>>> 2- Bed properties? I have noticed that you get some of the >>>>> parameters from a JSON file and some of them are defined in the >>>>> simulation. >>>>> However, it seems that FSI simulations use some different properties for >>>>> the bed than what is used in DEM. Is it possible to define the bed using >>>>> ONLY the material properties that I used in my DEM simulation (mentioned >>>>> above)? Also, I could not find where the particle radius is defined in >>>>> the >>>>> simulation and was wondering if the kernelLength parameter is the same as >>>>> the particle radius. Finally, I would like to set all my simulation >>>>> parameters in my .cpp file instead of using a JSON file and was wondering >>>>> about the appropriate way to set such parameters (such as Young's >>>>> modulus, >>>>> Can I have a code example?). >>>>> >>>>> 3- I was wondering about the best way to restrict motion in some of >>>>> the directions. Also, what is the best way to apply forces to the mesh? >>>>> >>>>> Thank you so much for your help in advance, >>>>> >>>>> -- 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/298b3103-f258-472a-8fcf-cf96ddac1adfn%40googlegroups.com.
