← Back to team overview

yade-users team mailing list archive

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