← Back to team overview

yade-users team mailing list archive

Re: [Question #259209]: Static and dynamic loading and straining of a cylindrical sample

 

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

    Status: Open => Answered

Chareyre proposed the following answer:
Hi Behzad,
In your script cos(O.time) is evaluated when the engine is instanciated,
then strainRate is never updated.

The simplest way:

for k in range(N):
    strainer.strainRate = f(t)
    O.run(1,1)

Another way: put this update in a pyRunner.
Regards
Bruno


On 17/12/14 18:56, behzad wrote:
> New question #259209 on Yade:
> https://answers.launchpad.net/yade/+question/259209
>
> Hey guys,
>
> Imagine we have a cylindrical sample and we want to independently do the following tests:
>
> 1- Static tress controlled uniaxial compression (or even tension) 
>
> 2- Dynamic tress controlled uniaxial loading (e.g. a sinusoidal stress loading)
>
> 3-Dynamic uniaxial straining 
>
> How do we do it? Any built-in functions?
>
> For the third case I tried 
>
> O.engines=O.engines+[UniaxialStrainer(strainRate=math.cos(O.time)*1e-2,axis=2,asymmetry=0,posIds=[1],negIds=[0],
> crossSectionArea=0.0025,label='strainer')]
>
> or 
>
> O.engines=O.engines+[UniaxialStrainer(strainRate=E_rate,axis=2,asymmetry=0,posIds=[1],negIds=[0],
> crossSectionArea=0.0025,label='strainer')]
> O.engines=O.engines+[PyRunner(iterPeriod=1,command='initTest()',label='strainCollector')]
>
> def initTest():
> 	global mode
> 	E_rate=math.cos(O.time)*1e-2
> 	strainer.strainRate=E_rate
>
> But it didn't work!
>
> Any ideas and comments are appreciated!
> Thanks,
> Behzad
>
>
>
>


-- 
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53
38041 Grenoble cedex 9
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________

You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.