yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #01196
Re: Triaxial Test
Hi,
vector<BasicSphere> sphere_list;
if(importFilename!="")
sphere_list=Shop::loadSpheresFromFile(importFilename,lowerCorner,upperCorner);
else message+=GenerateCloud(sphere_list, lowerCorner, upperCorner,
numberOfGrains, 0.3, 0.75);
The 0.3 value is the "rad_std_dev" used in GenerateCloud
string GenerateCloud(vector<BasicSphere>& sphere_list, Vector3r lowerCorner,
Vector3r upperCorner, long number, Real rad_std_dev, Real porosity)
...........................
...................
for (t=0; t<tries; ++t) {
s.second = (random1()-0.5)*rad_std_dev*mean_radius+mean_radius;
It corresponds to the dispersion of the grain size distribution.
That's clearer in TriaxialTestWater where you can find the same lines, but
there the "rad_std_dev" value can be defined as "Rdispersion" in the file
generator menu. You can read the Rmax/Rmin/Rmean values, that correspond to
the value of dispersion you set, in the window "Yade Message" that appears
when you generate a .xml.
Hope it could be useful.
Bye
Emanuele
2008/8/28, Jerome Duriez <duriez@xxxxxxxxxxxxxxx>:
>
>
> I want to generate particles of size 2 mm. with a certain dispersion of 10 %. I input the information to the TriaxialTest, density, modulate of elasticity, angle of friction, but the spheres that are generated do not agree what I wish. My question is, I can control somehow the size of the spheres that the program generates to travez of an algorithm. If the response is positive, since place?
>
> No problem. I don't work in fact with yade-0.12 but in my version of the
> TriaxialTest.cpp I have a variable "importFileName" which would help you.
> These "import files" are text files in which are stored all the informations
> about the spheres of your numerical sample, precisely and respectively : the
> X,Y and Z coordinates of the centers of the spheres, then their radius.
> The best for you is so to create yourself your own import file
> corresponding to what you want, put it in YADE/bin (I think) and type its
> name in "importFileName". Otherwise (if this importFileName is not defined
> by the user) this list of informations is generated by the Preprocessor, via
> a "GenerateCloud" method, and it is not surprising that it doesn't generate
> what you want.
>
> For all that, see these lines at the end of the "generate" method of
> TriaxialTest (and at the end for the definition of the GenerateCloud) :
> NB : a BasicSphere is couple of a three real vector : the coordinates of
> the center and a real : the radius : ( (X,Y,Z),R)
>
> vector<BasicSphere> sphere_list;
> if(importFilename!="")
> sphere_list=Shop::loadSpheresFromFile(importFilename,lowerCorner,upperCorner);
> else message+=GenerateCloud(sphere_list, lowerCorner, upperCorner,
> numberOfGrains, 0.3, 0.75);
>
> vector<BasicSphere>::iterator it = sphere_list.begin();
> vector<BasicSphere>::iterator it_end = sphere_list.end();
>
> for (;it!=it_end; ++it)
> {
> cerr << "sphere (" << it->first << " " << it->second << ")"<<endl;
> createSphere(body,it->first,it->second,false,true);
> rootBody->bodies->insert(body);
> }
>
>
> _______________________________________________
> Yade-users mailing list
> Yade-users@xxxxxxxxxxxxxxxx
> https://lists.berlios.de/mailman/listinfo/yade-users
>
>
_______________________________________________
Yade-users mailing list
Yade-users@xxxxxxxxxxxxxxxx
https://lists.berlios.de/mailman/listinfo/yade-users
References