Thanks! On Sunday, June 26, 2022 at 3:16:48 AM UTC-4 Radu Serban wrote:
> Qihan, > > > > I pushed code to allow overriding the default SMC contact force > calculation with a user-defined function. > See > https://github.com/projectchrono/chrono/blob/develop/CHANGELOG.md#added-user-defined-smc-contact-force-calculation > > > > --Radu > > > > *From:* 'Radu Serban' via ProjectChrono <[email protected]> > *Sent:* Saturday, June 18, 2022 1:53 PM > *To:* ProjectChrono <[email protected]> > *Subject:* RE: [chrono] Re: Modify the contact model in source code > > > > Qihan, > > > > Indeed, if you change any of the Chrono sources, you will obviously have > to rebuild. > > > > I have somewhere code that allows changing the contact force calculation > in user code only (which would not require rebuilding the Chrono > libraries). That uses a mechanism similar to what I implemented for > overriding the default composite material combination laws (which Luning > also mentioned in another reply). I will consider pushing that to the > Chrono repository one of these days. > > > > --Radu > > > > *From:* [email protected] <[email protected]> *On > Behalf Of *Qihan Xuan > *Sent:* Wednesday, June 15, 2022 4:04 AM > *To:* ProjectChrono <[email protected]> > *Subject:* [chrono] Re: Modify the contact model in source code > > > > Thanks! It works. > > > > By the way, I find I have to compile Chrono after modifying the source > code. > > Here's the tutorial on how to compile Chrono, > https://api.projectchrono.org/development/tutorial_install_chrono.html > > If you want want to check whether your Chrono is updated, you can check > this file: D:/Chrono_v7_build/lib/Release/ChronoEngine.lib > > > > Thanks, > > Qihan > > > > On Tuesday, June 14, 2022 at 3:08:03 PM UTC-4 [email protected] wrote: > > In the core module of Chrono, you can modify your contact force model in > this file, src/chrono/physics/ChContactSMC.h > > The function you need to look at is CalculateForce() > > > > ChVector<> CalculateForce( > > double delta, ///< overlap in normal direction > > const ChVector<>& normal_dir, ///< normal contact direction > (expressed in global frame) > > const ChVector<>& vel1, ///< velocity of contact point > on objA (expressed in global frame) > > const ChVector<>& vel2, ///< velocity of contact point > on objB (expressed in global frame) > > const ChMaterialCompositeSMC& mat ///< composite material for > contact pair > > ) > > > > The following two lines match the equations you screenshotted. Note that > kn, gn, kt, gt are computed differently depending on the contact force > model you choose. forceN and forceT are normal and tangential force > magnitude. > > > > // Calculate the magnitudes of the normal and tangential contact > forces > > double forceN = kn * delta - gn * relvel_n_mag; > > double forceT = kt * delta_t + gt * relvel_t_mag; > > > > You can implement the model however you want. > > > > Thank you, > > Luning > > > > On Tuesday, June 14, 2022 at 12:59:22 PM UTC-5 [email protected] wrote: > > Hi all, > > > > I have a question about changing the contact model in the Chrono. By the > way, I am using (the core module of) Chrono. > > The viscoelastic model shows the damping term is proportional to velocity. > Can we change it? > > We are studying fish motion on mud, which is shear-thinning > <https://en.wikipedia.org/wiki/Shear_thinning> interaction. For example, > we hope the damping term is proportional to the square root of the > velocity. Can it be tuned by ourselves? > > > > > > Thanks, > > Qihan > > -- > 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/bbaca2da-0e2b-4467-a197-5907b07d16d4n%40googlegroups.com > > <https://groups.google.com/d/msgid/projectchrono/bbaca2da-0e2b-4467-a197-5907b07d16d4n%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/PH0PR06MB8237480B41D4FA6275CEE0B7A7AE9%40PH0PR06MB8237.namprd06.prod.outlook.com > > <https://groups.google.com/d/msgid/projectchrono/PH0PR06MB8237480B41D4FA6275CEE0B7A7AE9%40PH0PR06MB8237.namprd06.prod.outlook.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/dc404723-f3d8-48cd-ae7a-c0e8967a98ffn%40googlegroups.com.
