yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #08221
Re: : Add damping coefficient to material
-
To:
yade-dev@xxxxxxxxxxxxxxxxxxx
-
From:
Klaus Thoeni <klaus.thoeni@xxxxxxxxx>
-
Date:
Thu, 19 Jan 2012 23:03:24 +1100
-
In-reply-to:
<CALF6qJ=EqZ8aQzk9ewGLDRGjOnZEqe5Y9CpSMMJec4cS5=OPMg@mail.gmail.com>
-
User-agent:
KMail/1.13.6 (Linux/2.6.38-8-generic; KDE/4.6.5; x86_64; ; )
Solved the problem by checking if it is a clump:
Real getDampCoeff() { return (!&Body::isClump) ? material->damping : NaN; };
However, I think we still have to sort out why clumps don't have a material!
I will commit the code, it might be useful to have different non-viscous
damping coefficients, or what do you think?
Klaus
On Thu, 19 Jan 2012 09:51:38 PM Anton Gladky wrote:
> Hmm, good question.
> Maybe not. They consist of "real" spheres and those spheres should
> have a material, I think.
>
> Anton
>
> On Thu, Jan 19, 2012 at 11:35 AM, Klaus Thoeni <klaus.thoeni@xxxxxxxxx>
wrote:
> > Hi Anton,
> >
> > actually it is the third body and it's a clump (isClump=True). Clumps
> > should have a material too, shouldn't they?
> >
> > Klaus
> >
> > On Thu, 19 Jan 2012 06:31:09 PM Anton Gladky wrote:
> >> > Real getDampCoeff() { return material->damping; };
> >>
> >> Can you check here a material existence?
> >>
> >> Anton
> >>
> >> On Thu, Jan 19, 2012 at 8:14 AM, Klaus Thoeni <klaus.thoeni@xxxxxxxxx>
> >
> > wrote:
> >> > Hi guys,
> >> >
> >> > can anyone help me on this?
> >> >
> >> > Klaus
> >> >
> >> > On Thu, 12 Jan 2012 06:03:16 PM Klaus Thoeni wrote:
> >> >> Hi guys,
> >> >>
> >> >> as discussed with Bruno in Barcelona I need different non-viscous
> >> >> damping coefficients for different materials. I introduced this
> >> >> capability by adding a variable damping to the base class material
> >> >> which is initialised with NaN. The body class has a function
> >> >> getDampCoeff() and in
> >> >> NewtonIntegrator I use this function in order to change the damping
> >> >> coefficients. When running some examples it seems that everything
> >> >> works fine. However, I just run 'yade --test' and it gives me a seg
> >> >> fault:
> >> >>
> >> >> testVelocity (yade.TestSimpleClump)
> >> >> Clump: velocities of member assigned by NewtonIntegrator ...
> >> >> Segmentation fault
> >> >>
> >> >> I think I now where the problem is. In NewtonIntegrator I call
> >> >> something like:
> >> >>
> >> >> if(!isnan(b->getDampCoeff())) dampcoeff=b->getDampCoeff();
> >> >>
> >> >> where getDampCoeff() is defined in body.hpp as:
> >> >>
> >> >> Real getDampCoeff() { return material->damping; };
> >> >>
> >> >> I think the test doesn't have a material and therefore I get the seg
> >> >> fault. Right? How can we fix this so that I can commit the code?
> >> >>
> >> >> Klaus
> >> >
> >> > _______________________________________________
> >> > Mailing list: https://launchpad.net/~yade-dev
> >> > Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> >> > Unsubscribe : https://launchpad.net/~yade-dev
> >> > More help : https://help.launchpad.net/ListHelp
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~yade-dev
> >> Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~yade-dev
> >> More help : https://help.launchpad.net/ListHelp
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~yade-dev
> > Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~yade-dev
> > More help : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help : https://help.launchpad.net/ListHelp
Follow ups
References