← Back to team overview

yade-dev team mailing list archive

[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