yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #02920
[Branch ~yade-dev/yade/trunk] Rev 1938: 1. Fix examples/concrete/periodic.py
------------------------------------------------------------
revno: 1938
committer: Václav Šmilauer <eudoxos@xxxxxxxx>
branch nick: trunk
timestamp: Mon 2010-01-04 13:31:16 +0100
message:
1. Fix examples/concrete/periodic.py
2. Fix (partially) scaling of periodic cell resize in OpenGL
modified:
examples/concrete/periodic.py
pkg/common/RenderingEngine/OpenGLRenderingEngine.cpp
--
lp:yade
https://code.launchpad.net/~yade-dev/yade/trunk
Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription.
=== modified file 'examples/concrete/periodic.py'
--- examples/concrete/periodic.py 2010-01-04 10:34:53 +0000
+++ examples/concrete/periodic.py 2010-01-04 12:31:16 +0000
@@ -43,8 +43,8 @@
relDuctility=30,
intRadius=1.5,
- dtSafety=.8,
- damping=0.4,
+ dtSafety=.4,
+ damping=0.2,
strainRateTension=10,
strainRateCompression=50,
# 1=tension, 2=compression (ANDed; 3=both)
@@ -105,7 +105,7 @@
#
#UniaxialStrainer(strainRate=strainRateTension,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=False,blockRotations=False,setSpeeds=setSpeeds,label='strainer'),
#
- PeriTriaxController(goal=[1,1,1],stressMask=( (7^(1<<axis | 1<<ax1)) if biaxial else (7^(1<<axis)) ),maxStrainRate=Vector3(5,5,5),label='strainer',reversedForces=False,globUpdate=2),
+ PeriTriaxController(goal=[1,1,1],stressMask=( (7^(1<<axis | 1<<ax1)) if biaxial else (7^(1<<axis)) ),label='strainer',reversedForces=False,globUpdate=2),
PeriodicPythonRunner(virtPeriod=1e-5/strainRateTension,realLim=2,command='addPlotData()',label='plotDataCollector'),
PeriodicPythonRunner(realPeriod=4,command='stopIfDamaged()',label='damageChecker'),
]
@@ -127,26 +127,25 @@
O.wait();
O.loadTmp('initial')
print "Reversing plot data"; plot.reverseData()
- maxStrainRate=Vector3(1,1,1)
+ maxStrainRate=Vector3(1,1,1);
goal=Vector3(1,1,1);
if not biaxial: # uniaxial
maxStrainRate[axis]=abs(strainRateTension) if mode=='tension' else abs(strainRateCompression)
- maxStrainRate[ax1]=maxStrainRate[ax2]=100*maxStrainRate[axis]
+ maxStrainRate[ax1]=maxStrainRate[ax2]=1000*maxStrainRate[axis]
goal[axis]=1 if mode=='tension' else -1;
else:
maxStrainRate[axis]=abs(strainRateTension) if mode=='tension' else abs(strainRateCompression)
maxStrainRate[ax1]=maxStrainRate[axis]
- maxStrainRate[ax2]=100*maxStrainRate[axis]
+ maxStrainRate[ax2]=1000*maxStrainRate[axis]
goal[axis]=1 if mode=='tension' else -1;
goal[ax1]=goal[axis]
strainer['maxStrainRate']=maxStrainRate
strainer['goal']=goal
try:
- pass
- #from yade import qt
- #renderer=qt.Renderer()
- #renderer['scaleDisplacements']=True
- #renderer['displacementScale']=(1000,1000,1000) if mode=='tension' else (100,100,100)
+ from yade import qt
+ renderer=qt.Renderer()
+ renderer['scaleDisplacements']=True
+ renderer['displacementScale']=(1000,1000,1000) if mode=='tension' else (100,100,100)
except ImportError: pass
print "init done, will now run."
O.step(); O.step(); # to create initial contacts
=== modified file 'pkg/common/RenderingEngine/OpenGLRenderingEngine.cpp'
--- pkg/common/RenderingEngine/OpenGLRenderingEngine.cpp 2009-12-30 17:38:37 +0000
+++ pkg/common/RenderingEngine/OpenGLRenderingEngine.cpp 2010-01-04 12:31:16 +0000
@@ -139,7 +139,7 @@
glColor3v(Vector3r(1,1,0));
glPushMatrix();
Vector3r size=scene->cell->getSize();
- if(scaleDisplacements) size=diagMult(displacementScale,size);
+ if(scaleDisplacements) size+=diagMult(displacementScale,size-scene->cell->refSize);
glTranslatev(scene->cell->shearPt(.5*size)); // shear center (moves when sheared)
glMultMatrixd(scene->cell->getGlShearTrsfMatrix());
glScalev(size);