← Back to team overview

yade-users team mailing list archive

Re: [Question #685222]: updating properties for an existing contact

 

Question #685222 on Yade changed:
https://answers.launchpad.net/yade/+question/685222

Jan Stránský proposed the following answer:
Hi,

> most contact laws are derived from ElasticContactLaw.cpp, which uses
(1)

any reference? I think it is not true..
Most materials are derived from FrictMat [1], most IPhys are derived from FrictPhys [2], bat laws themselves are mostly "independent" [3].
Just because not to use just (1) :-)

> Is there any build-in method to do so in Yade or I need to implement
(2) with python?

the best option is (as mentioned by Robert) to implement it in C++,
which might be difficult and time consuming without (and even with :-)
prior experience.

In principle, you can achieve this by:
- before ForceResetter, store the values of current forces
- before NewtonIntegrator:
   - store current displacements (whatever it means)
   - modify interactions (kn, normalForce) with the values from previous and current step
according to definition, it might be a "build-in method" or a "implementation with python" :-)

> Is storing the previous state of each contact the most reasonable
solution if you are not too worried about efficiency?

Using c++, it would be the most (or at least almost the most) reasonable solution.
Using python, let's say it is a reasonable solution and for sure you should "not too worried about efficiency"

cheers
Jan

[1] https://yade-dem.org/doc/yade.wrapper.html#material
[2] https://yade-dem.org/doc/yade.wrapper.html#iphys
[3] https://yade-dem.org/doc/yade.wrapper.html#constitutive-laws

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.