Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies

2017-09-15 Thread Austin Sutton
Question #658037 on Yade changed:
https://answers.launchpad.net/yade/+question/658037

Austin Sutton posted a new comment:
Bruno,

--> "Yes. Move "gamma" parameter from Ip2_FrictMat_FrictMat_MindlinPhys to 
HertzMat, set gamma=0 for facets and make sure
Ip2_HertzMat_HertzMat_MindlinPhys will define "per interaction" gamma as 
min(mat1->gamma, mat2->gamma) or something like that (just like it is done for 
friction or adhesion in many functors). In which case the engines loop would 
need just one Ip2 and just one Law2; IP2_HertzMat_HertzMat_MindlinPhys() and 
Law2_ScGeom_MindlinPhys_Mindlin()."

I understand now. I'm not the most familiar with C++, but if I need to
take this route then I'll put in the time to modify the source code for
my needs.

This conversation has helped me a lot. Thank you for your help.

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies

2017-09-15 Thread Bruno Chareyre
Question #658037 on Yade changed:
https://answers.launchpad.net/yade/+question/658037

Bruno Chareyre proposed the following answer:
>would the interaction loop look as follows?

Exactly.

>So, is there a way to add only adhesion between the particles using
Hertz-Mindlin contact?

Yes. Move "gamma" parameter from Ip2_FrictMat_FrictMat_MindlinPhys to HertzMat, 
set gamma=0 for facets and make sure 
Ip2_HertzMat_HertzMat_MindlinPhys will define "per interaction" gamma as 
min(mat1->gamma, mat2->gamma) or something like that (just like it is done for 
friction or adhesion in many functors).  In which case the engines loop would 
need just one Ip2 and just one Law2; IP2_HertzMat_HertzMat_MindlinPhys() and 
Law2_ScGeom_MindlinPhys_Mindlin().

Looking at HertzMindlin.hpp I realize that the implementation over-uses the 
trick of putting the material parameters in the Ip2 functor instead of material 
class (viscosity, adhesion, stiffness...). This is simpler on short term but 
not good practice in general, you just found why...
A "HertzMat" should have been introduced in the first place to keep those 
parameters. If you are doing a step in this direction we can consider including 
your changes later (for the first method I mentioned in #1 commiting was not an 
option since it involves mainly code duplication).

Bruno

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies

2017-09-15 Thread Austin Sutton
Question #658037 on Yade changed:
https://answers.launchpad.net/yade/+question/658037

Austin Sutton posted a new comment:
Bruno,

Thank you for the detailed response. I figured that such a solution
would not be as simple as changing some settings in the interaction
loop, but I wanted to make sure before I tried modifying the source
code.

If I implemented the solution you proposed, would the interaction loop
look as follows?

O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
InteractionLoop(
[Ig2_Facet_Sphere_ScGeom(),Ig2_Sphere_Sphere_ScGeom()],

[Ip2_FrictMat_FrictMat_FrictPhys,IP2_HertzMat_HertzMat_MindlinPhys()],

[Law2_ScGeom_FrictPhys_CundallStrack,Law2_ScGeom_MindlinPhys_Mindlin()])
NewtonIntegrator(gravity=(0,-9.81,0),damping=0)]

--> "p.s. On a more physical aspect, I am wondering why sphere-facet
contacts should not follow Hertz-Mindlin. Theoretically it makes no
difference if one object in contact is a flat surface."

You're correct. The reason why I am doing this is because I want to add
adhesion through the DMT formulation (i.e. specifying the surface
energy, gamma) for particle-particle interactions. With my current
script, specifying the surface energy will apply adhesion not only to
the interacting particles, but also between particles and the facets,
which is undesirable at the moment. So, is there a way to add only
adhesion between the particles using Hertz-Mindlin contact?

Thanks!

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #658070]: from start: Segmentation fault (core dumped)

2017-09-15 Thread Bruno Chareyre
Question #658070 on Yade changed:
https://answers.launchpad.net/yade/+question/658070

Status: Open => Answered

Bruno Chareyre proposed the following answer:
Hello,
It is unusual that a debug build just segfaults.  Could you please make sure 
you are really running a debug build?
E.g. do you see "-g" in the compiler options (in the output of cmake)? Are you 
sure you installed and executed the right binary? Is the "debug" build much 
bigger (in disk space) than non-debug?
Beyond that, did you recompile from scratch (cmake+make) in a fresh directory? 
and isn't there a specific problem reported by cmake?
Bruno

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #658037]: Incorporating Multiple Interaction Physics on Bodies

2017-09-15 Thread Bruno Chareyre
Question #658037 on Yade changed:
https://answers.launchpad.net/yade/+question/658037

Status: Open => Answered

Bruno Chareyre proposed the following answer:
Hi,
The short answer is "no", there is no trivial solution.
Yade handles this problem gracefully only if the material properties are of 
different types (e.g. FrictMat vs. CohFrictMat), which is not your case.
I don't see any solution without touching the source code. If no one else come 
up with a better solution, you could do this:
1. Derive (in the sense of class inheritance) a Material class called e.g. 
"HertzMat" and inheriting from FrictMat. 
2. Duplicate the content of IP2_FrictMat_FrictMat_MindlinPhys.cpp/hpp into 
files IP2_HertzMat_HertzMat_MindlinPhys.cpp/hpp  and replace FrictMat by 
HertzMat wherever it appears
___ end of changes in source code ___
3. In your script, assign FrictMat for facets and HetzMat for spheres  + use 
the functors  IP2_FrictMat_FrictMat_FrictPhys and 
IP2_HertzMat_HertzMat_MindlinPhys concurently. It will generate FrictPhys 
interactions for all pairs (sphere-facet)  which are not HertzMat vs. HertzMat, 
and MindlinPhys interactions for the rest (sphere-sphere).
4. Introduce both Law2_ScGeom_FrictPhys_CundallStrack and 
Law2_ScGeom_MindlinPhys_Mindlin in the same script, the first will pick-up the 
facet-sphere contacts.

Let us know if you need more detailed explanation.
Regards
Bruno

p.s. On a more physical aspect, I am wondering why sphere-facet contacts
should not follow Hertz-Mindlin. Theoretically it makes no difference if
one object in contact is a flat surface.

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #658070]: from start: Segmentation fault (core dumped)

2017-09-15 Thread Luc OGER
New question #658070 on Yade:
https://answers.launchpad.net/yade/+question/658070

I have just updated  Opoensuse leap from 42.2 and  42.3 and I got a strange 
problem :
I am still able to compile the yade code without error-crash  BUT I got 
immediately the " Segmentation fault (core dumped)" message without more 
comment or explanation.

I compiled after the the DEBUG option but the results is the same : no 
information, no way to found where is the problem??
could you give me some hints where and to find the problem.

Thanks

Luc


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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp