yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #05267
[Branch ~yade-dev/yade/trunk] Rev 2349: - Re-write of SimpleShear PreProcessor with YADE_CLASS_... macro
------------------------------------------------------------
revno: 2349
committer: jduriez <jduriez@c1solimara-l>
branch nick: trunk
timestamp: Mon 2010-07-12 14:57:29 +0200
message:
- Re-write of SimpleShear PreProcessor with YADE_CLASS_... macro
removed:
.kdev4/yade.kdev4
Yade.kdevelop
modified:
pkg/dem/Engine/GlobalEngine/NormalInelasticityLaw.cpp
pkg/dem/PreProcessor/SimpleShear.cpp
pkg/dem/PreProcessor/SimpleShear.hpp
scripts/NormalInelasticityTest.py
--
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
=== removed file '.kdev4/yade.kdev4'
--- .kdev4/yade.kdev4 2010-07-01 19:22:26 +0000
+++ .kdev4/yade.kdev4 1970-01-01 00:00:00 +0000
@@ -1,32 +0,0 @@
-[Buildset]
-BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x08\x00y\x00a\x00d\x00e)
-
-[Launch]
-Launch Configurations=Launch Configuration 0
-
-[Launch][Launch Configuration 0]
-Configured Launch Modes=execute
-Configured Launchers=nativeAppLauncher
-Name=New Native Application Configuration
-Type=Native Application
-
-[Launch][Launch Configuration 0][Data]
-Arguments=-j 1
-Debugger Shell=
-Dependencies=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x00)
-Dependency Action=Nothing
-Display Demangle Names=true
-Display Static Members=true
-EnvironmentGroup=default
-Executable=file:///home/3S-LAB/bchareyre/yade/bin/yade-trunk-dbg
-GDB Path=gdb
-Remote GDB Config Script=
-Remote GDB Run Script=
-Remote GDB Shell Script=
-Try Setting Breakpoints On Loading Libraries=true
-Working Directory=
-isExecutable=true
-
-[MakeBuilder]
-Make Binary=scons
-Number Of Jobs=3
=== removed file 'Yade.kdevelop'
--- Yade.kdevelop 2010-02-01 15:20:54 +0000
+++ Yade.kdevelop 1970-01-01 00:00:00 +0000
@@ -1,228 +0,0 @@
-<?xml version = '1.0'?>
-<kdevelop>
- <general>
- <author>Vaclav Smilauer</author>
- <email>eudoxos@xxxxxxxx</email>
- <version>$VERSION$</version>
- <projectmanagement>KDevCustomProject</projectmanagement>
- <primarylanguage>C++</primarylanguage>
- <ignoreparts/>
- <projectname>Yade</projectname>
- <projectdirectory>.</projectdirectory>
- <absoluteprojectpath>false</absoluteprojectpath>
- <description/>
- <defaultencoding/>
- <versioncontrol/>
- </general>
- <kdevcustomproject>
- <run>
- <mainprogram>/home/vincent/yade-local/trunk</mainprogram>
- <directoryradio>executable</directoryradio>
- <programargs/>
- <globaldebugarguments/>
- <globalcwd>/tmp</globalcwd>
- <useglobalprogram>false</useglobalprogram>
- <terminal>false</terminal>
- <autocompile>false</autocompile>
- <autoinstall>false</autoinstall>
- <autokdesu>false</autokdesu>
- <envvars/>
- </run>
- <build>
- <buildtool>make</buildtool>
- <builddir/>
- </build>
- <make>
- <abortonerror>false</abortonerror>
- <numberofjobs>10</numberofjobs>
- <prio>0</prio>
- <dontact>false</dontact>
- <makebin>scons</makebin>
- <defaulttarget/>
- <makeoptions/>
- <selectedenvironment>default</selectedenvironment>
- <environments>
- <default>
- <envvar value="localhost/1 192.168.27.125/2 192.168.27.91/1 192.168.23.204/2 192.168.27.201/2 192.168.27.118/2 194.254.65.169/2" name="DISTCC_HOSTS" />
- </default>
- </environments>
- </make>
- <filetypes>
- <filetype>*.java</filetype>
- <filetype>*.h</filetype>
- <filetype>*.H</filetype>
- <filetype>*.hh</filetype>
- <filetype>*.hxx</filetype>
- <filetype>*.hpp</filetype>
- <filetype>*.c</filetype>
- <filetype>*.C</filetype>
- <filetype>*.cc</filetype>
- <filetype>*.cpp</filetype>
- <filetype>*.c++</filetype>
- <filetype>*.cxx</filetype>
- <filetype>Makefile</filetype>
- <filetype>CMakeLists.txt</filetype>
- </filetypes>
- <blacklist/>
- <other>
- <prio>0</prio>
- <otherbin/>
- <defaulttarget/>
- <otheroptions/>
- <selectedenvironment>default</selectedenvironment>
- <environments>
- <default/>
- </environments>
- </other>
- </kdevcustomproject>
- <kdevdebugger>
- <general>
- <dbgshell/>
- <gdbpath/>
- <configGdbScript/>
- <runShellScript/>
- <runGdbScript/>
- <breakonloadinglibs>true</breakonloadinglibs>
- <separatetty>false</separatetty>
- <floatingtoolbar>false</floatingtoolbar>
- <raiseGDBOnStart>false</raiseGDBOnStart>
- </general>
- <display>
- <staticmembers>false</staticmembers>
- <demanglenames>true</demanglenames>
- <outputradix>10</outputradix>
- </display>
- </kdevdebugger>
- <kdevdoctreeview>
- <ignoretocs>
- <toc>ada</toc>
- <toc>ada_bugs_gcc</toc>
- <toc>bash</toc>
- <toc>bash_bugs</toc>
- <toc>clanlib</toc>
- <toc>fortran_bugs_gcc</toc>
- <toc>gnome1</toc>
- <toc>gnustep</toc>
- <toc>gtk</toc>
- <toc>gtk_bugs</toc>
- <toc>haskell</toc>
- <toc>haskell_bugs_ghc</toc>
- <toc>java_bugs_gcc</toc>
- <toc>java_bugs_sun</toc>
- <toc>kde2book</toc>
- <toc>opengl</toc>
- <toc>pascal_bugs_fp</toc>
- <toc>php</toc>
- <toc>php_bugs</toc>
- <toc>perl</toc>
- <toc>perl_bugs</toc>
- <toc>python</toc>
- <toc>python_bugs</toc>
- <toc>qt-kdev3</toc>
- <toc>ruby</toc>
- <toc>ruby_bugs</toc>
- <toc>sdl</toc>
- <toc>sw</toc>
- <toc>w3c-dom-level2-html</toc>
- <toc>w3c-svg</toc>
- <toc>w3c-uaag10</toc>
- <toc>wxwidgets_bugs</toc>
- </ignoretocs>
- <ignoreqt_xml>
- <toc>Guide to the Qt Translation Tools</toc>
- <toc>Qt Assistant Manual</toc>
- <toc>Qt Designer Manual</toc>
- <toc>Qt Reference Documentation</toc>
- <toc>qmake User Guide</toc>
- </ignoreqt_xml>
- <ignoredoxygen>
- <toc>KDE Libraries (Doxygen)</toc>
- </ignoredoxygen>
- </kdevdoctreeview>
- <kdevfilecreate>
- <filetypes/>
- <useglobaltypes>
- <type ext="ui" />
- <type ext="cpp" />
- </useglobaltypes>
- </kdevfilecreate>
- <kdevcppsupport>
- <qt>
- <used>false</used>
- <version>3</version>
- <includestyle>3</includestyle>
- <root>/usr/share/qt3</root>
- <designerintegration>EmbeddedKDevDesigner</designerintegration>
- <qmake>/usr/bin/qmake-qt3</qmake>
- <designer></designer>
- <designerpluginpaths/>
- </qt>
- <codecompletion>
- <automaticCodeCompletion>false</automaticCodeCompletion>
- <automaticArgumentsHint>true</automaticArgumentsHint>
- <automaticHeaderCompletion>true</automaticHeaderCompletion>
- <codeCompletionDelay>250</codeCompletionDelay>
- <argumentsHintDelay>400</argumentsHintDelay>
- <headerCompletionDelay>250</headerCompletionDelay>
- <showOnlyAccessibleItems>false</showOnlyAccessibleItems>
- <completionBoxItemOrder>0</completionBoxItemOrder>
- <howEvaluationContextMenu>true</howEvaluationContextMenu>
- <showCommentWithArgumentHint>true</showCommentWithArgumentHint>
- <statusBarTypeEvaluation>false</statusBarTypeEvaluation>
- <namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases>
- <processPrimaryTypes>true</processPrimaryTypes>
- <processFunctionArguments>false</processFunctionArguments>
- <preProcessAllHeaders>false</preProcessAllHeaders>
- <parseMissingHeaders>false</parseMissingHeaders>
- <resolveIncludePaths>true</resolveIncludePaths>
- <alwaysParseInBackground>true</alwaysParseInBackground>
- <usePermanentCaching>true</usePermanentCaching>
- <alwaysIncludeNamespaces>false</alwaysIncludeNamespaces>
- <includePaths>.;</includePaths>
- <parseMissingHeadersExperimental>false</parseMissingHeadersExperimental>
- <resolveIncludePathsUsingMakeExperimental>false</resolveIncludePathsUsingMakeExperimental>
- </codecompletion>
- <creategettersetter>
- <prefixGet/>
- <prefixSet>set</prefixSet>
- <prefixVariable>m_,_</prefixVariable>
- <parameterName>theValue</parameterName>
- <inlineGet>true</inlineGet>
- <inlineSet>true</inlineSet>
- </creategettersetter>
- <splitheadersource>
- <enabled>false</enabled>
- <synchronize>true</synchronize>
- <orientation>Vertical</orientation>
- </splitheadersource>
- <references/>
- </kdevcppsupport>
- <cppsupportpart>
- <filetemplates>
- <interfacesuffix>.hpp</interfacesuffix>
- <implementationsuffix>.cpp</implementationsuffix>
- </filetemplates>
- </cppsupportpart>
- <kdevdocumentation>
- <projectdoc>
- <docsystem/>
- <docurl/>
- <usermanualurl/>
- </projectdoc>
- </kdevdocumentation>
- <kdevfileview>
- <groups>
- <hidenonprojectfiles>false</hidenonprojectfiles>
- <hidenonlocation>false</hidenonlocation>
- </groups>
- <tree>
- <hidepatterns>*.o,*.lo,CVS</hidepatterns>
- <hidenonprojectfiles>false</hidenonprojectfiles>
- <showvcsfields>false</showvcsfields>
- </tree>
- </kdevfileview>
- <ctagspart>
- <customArguments/>
- <activeTagsFiles/>
- </ctagspart>
-</kdevelop>
=== modified file 'pkg/dem/Engine/GlobalEngine/NormalInelasticityLaw.cpp'
--- pkg/dem/Engine/GlobalEngine/NormalInelasticityLaw.cpp 2010-06-08 22:25:00 +0000
+++ pkg/dem/Engine/GlobalEngine/NormalInelasticityLaw.cpp 2010-07-12 12:57:29 +0000
@@ -79,6 +79,7 @@
// actualisation :
currentContactPhysics->previousFn = Fn;
currentContactPhysics->previousun = un;
+
// *** End of computation of normal force *** //
=== modified file 'pkg/dem/PreProcessor/SimpleShear.cpp'
--- pkg/dem/PreProcessor/SimpleShear.cpp 2010-06-11 22:22:13 +0000
+++ pkg/dem/PreProcessor/SimpleShear.cpp 2010-07-12 12:57:29 +0000
@@ -1,6 +1,4 @@
/*************************************************************************
-* Copyright (C) 2007 by Janek Kozicki *
-* cosurgi@xxxxxxxxxx *
* Copyright (C) 2008 by Jerome Duriez *
* duriez@xxxxxxxxxxxxxxx *
* *
@@ -18,14 +16,7 @@
#include <yade/pkg-dem/Ip2_2xNormalInelasticMat_NormalInelasticityPhys.hpp>
#include<yade/pkg-dem/GlobalStiffnessTimeStepper.hpp>
-// #include <yade/pkg-dem/PositionRecorder.hpp>
-// #include <yade/pkg-dem/PositionSnapshot.hpp>
-// #include <yade/pkg-dem/ForceRecorder.hpp>
-// #include <yade/pkg-dem/ForceSnapshot.hpp>
-
-// #include<yade/pkg-common/BoxModel.hpp>
#include<yade/pkg-common/Aabb.hpp>
-// #include<yade/pkg-common/SphereModel.hpp>
#include<yade/core/Scene.hpp>
#include<yade/pkg-common/InsertionSortCollider.hpp>
#include<yade/core/Interaction.hpp>
@@ -47,44 +38,11 @@
#include<yade/core/Body.hpp>
#include<yade/pkg-common/Box.hpp>
#include<yade/pkg-common/Sphere.hpp>
-// #include<yade/pkg-common/StateMetaEngine.hpp>
#include <boost/filesystem/convenience.hpp>
#include <utility>
using namespace std;
-// YADE_REQUIRE_FEATURE(geometricalmodel);
-
-SimpleShear::SimpleShear () : FileGenerator()
-{
- gravity = Vector3r(0,-9.81,0);
-
-// Fichier contenant la liste des positions des centres et des rayons des spheres qui vont generer l'echantillon :
- filename = "../porosite0_44.txt";
-// Deux parametres necessaires si on veut utiliser au contraire la methode de TriaxialTest pour generer l'echantillon de spheres :
-// porosite=0.75;
-// nBilles=8000;
- thickness=0.001;
- width=0.1;
- height=0.02;
- profondeur=0.04;
-
- density=2600;
- sphereYoungModulus=2.0e9; // 2 GPa, nécessaire apparemment si on veut reproduire un joint rocheux
- spherePoissonRatio=0.04; // Venant de "Calibration procedure...." (Plassiard et al)
- sphereFrictionDeg=26;
-
- boxYoungModulus=2.0e9; // 2 GPa, nécessaire apparemment si on veut reproduire un joint rocheux
- boxPoissonRatio=0.04;
-
- shearSpeed=0.1;
-
- timeStepUpdateInterval = 50;
-
- gravApplied = true;
- shearApplied = false;
-
-}
SimpleShear::~SimpleShear ()
@@ -93,12 +51,6 @@
}
-void SimpleShear::postProcessAttributes(bool)
-{
-
-}
-
-
bool SimpleShear::generate()
@@ -109,31 +61,31 @@
// Box walls
shared_ptr<Body> w1; // The left one :
- createBox(w1,Vector3r(-thickness/2.0,(height)/2.0,0),Vector3r(thickness/2.0,5*(height/2.0+thickness),profondeur/2.0));
+ createBox(w1,Vector3r(-thickness/2.0,(height)/2.0,0),Vector3r(thickness/2.0,5*(height/2.0+thickness),width/2.0));
rootBody->bodies->insert(w1);
shared_ptr<Body> w2; // The lower one :
- createBox(w2,Vector3r(width/2.0,-thickness/2.0,0),Vector3r(width/2.0,thickness/2.0,profondeur/2.0));
+ createBox(w2,Vector3r(length/2.0,-thickness/2.0,0),Vector3r(length/2.0,thickness/2.0,width/2.0));
YADE_PTR_CAST<FrictMat> (w2->material)->frictionAngle = sphereFrictionDeg * Mathr::PI/180.0; // so that we have phi(spheres-inferior wall)=phi(sphere-sphere)
rootBody->bodies->insert(w2);
shared_ptr<Body> w3; // The right one
- createBox(w3,Vector3r(width+thickness/2.0,height/2.0,0),Vector3r(thickness/2.0,5*(height/2.0+thickness),profondeur/2.0));
+ createBox(w3,Vector3r(length+thickness/2.0,height/2.0,0),Vector3r(thickness/2.0,5*(height/2.0+thickness),width/2.0));
rootBody->bodies->insert(w3);
shared_ptr<Body> w4; // The upper one
- createBox(w4,Vector3r(width/2.0,height+thickness/2.0,0),Vector3r(width/2.0,thickness/2.0,profondeur/2.0));
+ createBox(w4,Vector3r(length/2.0,height+thickness/2.0,0),Vector3r(length/2.0,thickness/2.0,width/2.0));
YADE_PTR_CAST<FrictMat> (w4->material)->frictionAngle = sphereFrictionDeg * Mathr::PI/180.0; // so that we have phi(spheres-superior wall)=phi(sphere-sphere)
// To close the front and the back of the box
shared_ptr<Body> w5; // behind
- createBox(w5,Vector3r(width/2.0,height/2.0,-profondeur/2.0-thickness/2.0), Vector3r(2.5*width/2.0,height/2.0+thickness,thickness/2.0));
+ createBox(w5,Vector3r(length/2.0,height/2.0,-width/2.0-thickness/2.0), Vector3r(2.5*length/2.0,height/2.0+thickness,thickness/2.0));
rootBody->bodies->insert(w5);
shared_ptr<Body> w6; // the front
- createBox(w6,Vector3r(width/2.0,height/2.0,profondeur/2.0+thickness/2.0),
- Vector3r(2.5*width/2.0,height/2.0+thickness,thickness/2.0));
+ createBox(w6,Vector3r(length/2.0,height/2.0,width/2.0+thickness/2.0),
+ Vector3r(2.5*length/2.0,height/2.0+thickness,thickness/2.0));
rootBody->bodies->insert(w6);
@@ -141,7 +93,7 @@
vector<BasicSphere> sphere_list;
// to use the TriaxialTest method :
-// GenerateCloud(sphere_list,Vector3r(0,0,-profondeur/2.0),Vector3r(width,height,profondeur/2.0),nBilles,0.3,porosite);
+// GenerateCloud(sphere_list,Vector3r(0,0,-width/2.0),Vector3r(length,height,width/2.0),nBilles,0.3,porosite);
// to use a text file :
std::pair<string,bool> res=ImportCloud(sphere_list,filename);
@@ -189,7 +141,7 @@
/* gSphere->radius = radius;
// de quoi avoir des bandes (huit en largeur) de couleur differentes :
- gSphere->diffuseColor = ((int)(Mathr::Floor(8*position.X()/width)))%2?Vector3r(0.7,0.7,0.7):Vector3r(0.45,0.45,0.45);
+ gSphere->diffuseColor = ((int)(Mathr::Floor(8*position.X()/length)))%2?Vector3r(0.7,0.7,0.7):Vector3r(0.45,0.45,0.45);
gSphere->wire = false;
gSphere->shadowCaster = true;*/
@@ -242,23 +194,6 @@
void SimpleShear::createActors(shared_ptr<Scene>& rootBody)
{
-
-// shared_ptr<PositionSnapshot> possnap = shared_ptr<PositionSnapshot>(new PositionSnapshot);
-// possnap->list_id.clear();
-// possnap->list_id.push_back(5);
-// possnap->list_id.push_back(10);
-// possnap->outputFile="../data/PosSnapshot";
-//
-// shared_ptr<ForceSnapshot> forcesnap = shared_ptr<ForceSnapshot>(new ForceSnapshot);
-// forcesnap->list_id.clear();
-// forcesnap->list_id.push_back(5);
-// forcesnap->list_id.push_back(10);
-// forcesnap->outputFile="../data/ForceSnapshot";
-
- shared_ptr<KinemCNDEngine> kinematic = shared_ptr<KinemCNDEngine>(new KinemCNDEngine);
- kinematic->shearSpeed = shearSpeed;
-
-
shared_ptr<InteractionGeometryDispatcher> interactionGeometryDispatcher(new InteractionGeometryDispatcher);
interactionGeometryDispatcher->add(new Ig2_Sphere_Sphere_ScGeom);
interactionGeometryDispatcher->add(new Ig2_Box_Sphere_ScGeom);
@@ -292,8 +227,6 @@
// rootBody->engines.push_back(shared_ptr<Engine>(new Law2_ScGeom_NormalInelasticityPhys_NormalInelasticity));
if(gravApplied)
rootBody->engines.push_back(gravityCondition);
- if(shearApplied)
- rootBody->engines.push_back(kinematic);
rootBody->engines.push_back(shared_ptr<Engine> (new NewtonIntegrator));
// rootBody->engines.push_back(possnap);
// rootBody->engines.push_back(forcesnap);
@@ -358,7 +291,7 @@
// BasicSphere s; // l'elt de la liste sphere_list (= la sphere) que l'on va lire maintenant
// loadFile >> s.first.X();// le X de la position de son centre
// loadFile >> zJF;
-// s.first.Z()=zJF - profondeur/2.0;// le Z de la position de son centre
+// s.first.Z()=zJF - width/2.0;// le Z de la position de son centre
// loadFile >> s.first.Y();// le Y de la position de son centre
// loadFile >> s.second; // son rayon
// sphere_list.push_back(s);
@@ -387,5 +320,4 @@
-// YADE_REQUIRE_FEATURE(PHYSPAR);
=== modified file 'pkg/dem/PreProcessor/SimpleShear.hpp'
--- pkg/dem/PreProcessor/SimpleShear.hpp 2010-03-10 11:37:28 +0000
+++ pkg/dem/PreProcessor/SimpleShear.hpp 2010-07-12 12:57:29 +0000
@@ -1,6 +1,4 @@
/*************************************************************************
-* Copyright (C) 2007 by Janek Kozicki *
-* cosurgi@xxxxxxxxxx *
* Copyright (C) 2008 by Jerome Duriez *
* duriez@xxxxxxxxxxxxxxx *
* *
@@ -10,17 +8,6 @@
#pragma once
-/*! \brief A simple shear test
-
-This preprocessor allows to simulate a simple shear test of a sample (contained so in a deformable parallelogram box)
-
-The sample could be generated via the same method used in TriaxialTest Preprocesor (=> see GenerateCloud) or by reading a text file containing positions and radii of a sample (=> see ImportCloud). This last one is the one by default used by this PreProcessor as it is written here => you need to have such a file.
-Thanks to the Engines (in pkg/common/Engine/PartialEngine) KinemCNDEngine, KinemCNSEngine and KinemCNLEngine, respectively constant normal displacement, constant normal rigidity and constant normal stress are possible to execute over such samples
-NB : in this PreProcessor only KinemCNDEngine appears, if you want to use other engines the best is maybe to modify directly .xml files
-
- */
-
-
#include<yade/core/FileGenerator.hpp>
@@ -32,34 +19,6 @@
class SimpleShear : public FileGenerator
{
- private :
- Vector3r gravity;
-
-// long nBilles;
- Real /*porosite,*/
- thickness
- ,width
- ,height
- ,profondeur;
- Real density
- ,sphereYoungModulus
- ,spherePoissonRatio
- ,sphereFrictionDeg
- ,boxYoungModulus
- ,boxPoissonRatio
- ;
- Real displacement
- ,shearSpeed;
-
- int recordIntervalIter
- ,timeStepUpdateInterval;
-
- string filename;
-
- bool gravApplied
- ,shearApplied;
-
-
void createBox(shared_ptr<Body>& body, Vector3r position, Vector3r extents);
void createSphere(shared_ptr<Body>& body, Vector3r position, Real radius);
void createActors(shared_ptr<Scene>& rootBody);
@@ -70,15 +29,26 @@
public :
- SimpleShear ();
~SimpleShear ();
bool generate();
- protected :
- virtual void postProcessAttributes(bool deserializing);
- REGISTER_ATTRIBUTES(FileGenerator,(filename)(gravity)(thickness)(width)(height)(profondeur)(density)(sphereYoungModulus)(spherePoissonRatio)(sphereFrictionDeg)(boxYoungModulus)(boxPoissonRatio)(shearSpeed)(gravApplied)(shearApplied)(timeStepUpdateInterval)/*(nBilles)(porosite)*/);
- REGISTER_CLASS_NAME(SimpleShear);
- REGISTER_BASE_CLASS_NAME(FileGenerator);
+
+ YADE_CLASS_BASE_DOC_ATTRS(SimpleShear,FileGenerator,"Preprocessor for creating a numerical model of a simple shear box.\n\n\t- Boxes (6) constitute the different sides of the box itself\n \t- Spheres are contained in the box. The sample could be generated via the same method used in TriaxialTest Preprocesor (=> see GenerateCloud) or by reading a text file containing positions and radii of a sample (=> see ImportCloud). This last one is the one by default used by this PreProcessor as it is written here => you need to have such a file.\n \n \t Thanks to the Engines (in pkg/common/Engine/PartialEngine) KinemCNDEngine, KinemCNSEngine and KinemCNLEngine, respectively constant normal displacement, constant normal rigidity and constant normal stress are possible to execute over such samples.\n \n \tNB about micro-parameters : their values correspond to those used in [Duriez2009a]_.",
+ ((string,filename,"../porosite0_44.txt","file with the list of spheres centers and radii"))
+ ((Vector3r,gravity,Vector3r(0,-9.81,0),"vector corresponding to used gravity [$m/s^2$]"))
+ ((Real,thickness,0.001,"thickness of the boxes constituting the shear box [$m$]"))
+ ((Real,length,0.1,"initial length (along x-axis) of the shear box [$m$]"))
+ ((Real,height,0.02,"initial height (along y-axis) of the shear box [$m$]"))
+ ((Real,width,0.04,"initial width (along z-axis) of the shear box [$m$]"))
+ ((Real,density,2600,"density of the spheres [$kg/m^3$]"))
+ ((Real,sphereYoungModulus,4.0e9,"value of :yref:`ElastMat::young` for the spheres [$Pa$]"))
+ ((Real,spherePoissonRatio,0.04,"value of :yref:`ElastMat::poisson` for the spheres [-]"))
+ ((Real,sphereFrictionDeg,37,"value of :yref:`ElastMat::poisson` for the spheres [$^\degree$] (the necessary conversion in $rad$ is done automatically)"))
+ ((Real,boxYoungModulus,4.0e9,"value of :yref:`ElastMat::young` for the boxes [$Pa$]"))
+ ((Real,boxPoissonRatio,0.04,"value of :yref:`ElastMat::poisson` for the spheres [-]"))
+ ((bool,gravApplied,false,"depending on this, :yref:`GravityEngine` is added or not to the scene to take into account the weight of particles"))
+ ((int,timeStepUpdateInterval,50,"value of :yref:`TimeStepper::timeStepUpdateInterval` for the :yref:`TimeStepper` used here"))
+ );
};
REGISTER_SERIALIZABLE(SimpleShear);
=== modified file 'scripts/NormalInelasticityTest.py'
--- scripts/NormalInelasticityTest.py 2010-06-04 15:26:30 +0000
+++ scripts/NormalInelasticityTest.py 2010-07-12 12:57:29 +0000
@@ -10,7 +10,7 @@
O.materials.append(NormalInelasticMat(density=2600,young=4.0e9,poisson=.04,frictionAngle=.6,coeff_dech=3.0,label='Materiau1'))
#Def of the bodies of the simulations : 2 spheres, with names which will be useful after
-O.bodies.append(utils.sphere([0,0,0], 1, dynamic=False, wire=False, color=None, highlight=False)) #'Materiau1', as the latest material defined will be used
+O.bodies.append(utils.sphere([0,0,0], 1, dynamic=False, wire=False, color=None, highlight=False)) #'Materiau1', as the latest material defined, will be used
O.bodies.append(utils.sphere([0,2,0], 1, dynamic=False, wire=False, color=None, highlight=False))
LowerSphere=O.bodies[0]
Follow ups