Václav S(milauer a écrit :
On my side, I have tons of files with coordinates of sphere packings. But at the end, you will probably find something that you don't like in them, and you will want to generate your own packings. TriaxialStressController can be used for generating packings. It can either 1/ squeeze the packing by moving boxes or 2/ fill the volume by increasing the size of elements.I will try to find out how it works... There is bunch of Triaxial* classes and so far I am not quite sure how to use them. Would you mind describing their interaction at wiki?
I typed few comments in TriaxialTest.h, I'm pasting them below and will add this into the wiki too.
Don't hesitate to ask more questions as it will help me to complete/clarify. In TriaxialTest.h : /"This preprocessor is designed to :1/ generate random loose packings and compress them under isotropic confining stress, either squeezing the packing between moving rigid boxes or expanding the particles while boxes are fixed (depending on flag "InternalCompaction"). 2/ simulate all sorts triaxial loading path (there is however a default loading path corresponding to constant lateral stress in 2 directions and constant strain rate on the third direction) Essential engines : 1/ The TrixialCompressionEngine is used for controlling the state of the sample and simulating loading paths. TrixialCompressionEngine inherits from TriaxialStressController, which can compute stress- strain-like quantities in the packing and maintain a constant level of stress at each boundary. TriaxialCompressionEngine has few more members in order to impose constant strain rate and control the transition between isotropic compression and triaxial test. 2/ The class TriaxialStateRecorder is used to write to a file the history of stresses and strains. 3/ TriaxialTest is currently using a group of classes including GlobalStiffness (data), GlobalStiffnessCounter (updater) and GlobalStiffnessTimeStepper to compute an appropriate dt for the numerical scheme. The TriaxialTest is the only preprocessor using these classes in Yade because they have been developped AFTER most of preprocessor examples, BUT they can be used in principle in any situation and they have nothing specifically related to the triaxial test. @note TriaxialStressController::ComputeUnbalancedForce(...) returns a value that can be usefull for evaluating the stability of the packing. It is defined as (mean force on particles)/(mean contact force), so that it tends to 0 in a stable packing. This parameter is checked by TriaxialCompressionEngine to switch from one stage of the simulation to the next one (e.g. stop isotropic confinment and start axial loading)"/
There is also some details on the time step determination in GlobalStiffness.h :
/ "The minimum eignen-period in a collection of contacting bodies can be computed from the eigen values "ei" of the global stiffness matrix. An acceptable approximation of max(ei) may be obtained using the diagonal terms of the non-diagonalised matrix. This class contains two Vector3r where the components of the vector are the diagonal terms of the matrix Mk (3 components for translation + 3 components for rotation)."/
I attach a 5 spheres exemple to this email. Its created with the TriaxialTest exemple, and with flags internalCompaction=false (boxes will move during compaction stage) and autoCompressionActivation=true (up/down walls will start to move at constant speed in stage 2, after the packing is stabilized). It will generate a txt file called "WallStresses" with timestep / stress / strain in columnsCan you send me a few (like 4) sphere packings so that I have something to start with?
No, nobody is implementing periodic BC yet. But we have colleagues using this type of BC in their own codes. I'd like to understand how you can define a periodic axisymmetry... xyz-periodicity should be general enough IMHO.Are you implementing periodic BC in yade? I had a few ideas how to do that, it would not be too difficult: some changes to the collider and to the interaction dispatcher, that would be able to handle "phantom" elements (periodic copies of existing ones) and their interactions with real elements. I was facing the question whether to have just xyz-periodicity or something more generic, that would allow axisymmetry, for example. But it is no relevant to decide now.
Well... yeah... one more interesting type of BC, but I'm not implementing this now. If you feel like you can do it, go ahead ;)And how about "minimum boundary conditions" we were discussing in Prague?
Too bad that cgal is not as whole under (L)GPL, as some of its modules are restricted to non-commercial apps IIRC.
Too bad indeed. I'm everything but expert in licence issues... is it a problem to use modules that are restricted to non-commercial apps, given that Yade is not? If you look for triangulation tools, make sure they have "weighted" Delaunay (also called "regular" Delaunay) which is for spheres, not for points. It can make a big difference in the final triangulation when you have a large spectrum of particles sizes.
I agree, you don't have to update the triangulation very often. Triangulating 1e4 spheres takes less than 1sec with CGAL, so even updating it each 1e3 cycles would not hurt.Supposing "small displacements", the triangulation would be done very rarely, perhaps every 1e4 iterations or even just at the beginning. We would have to try whether it converges.
In membrane confinment, you simulate the membrane itself, with its own rigidity and mass, and you apply a constant pressure on one side of it. So it's a bit more complex - mechanicaly speaking - than applying a constant pressure directly on the particles, it is also closer to the real triaxial tests on sands. Not sure if it's better or not for applying boundary conditions though.What is the principle of membrane confinement? Isn't it the same as what I want to do?
Bruno -- _______________ Chareyre Bruno Maitre de conference Institut National Polytechnique de Grenoble Laboratoire 3S (Soils Solids Structures) - bureau E145 BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 00 ________________
scene5spheres.xml.tar.gz
Description: GNU Zip compressed data
_______________________________________________ Yade-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/yade-users
