Cylinder Mesh packing with LSMGenGeo
Hi everyone,
I've used LsmGenGeo to generate a cylinder packing. If I want to do a triaxial compression test using moveSingleMeshN
Tks,
Ning
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Dion Weatherley
- Solved:
- Last query:
- Last reply:
Related bugs
Related FAQ:
None Link to a FAQ
Revision history for this message
![]() |
#1 |
I guess, more simple way for you will be to create "walls" instead of mesh, if you don't need something specific. See the "uniaxial test example" in Tutorial. You just need to add 4 walls on the sides and give them movement.
Revision history for this message
![]() |
#2 |
Hi Ning,
I recently tried to make a simulation to compress a cylinder of particles with a mesh wall. The simulation was intended as an example script for the recent Workshop. In the process, a bug with moving mesh walls was discovered. Some details are here:
https:/
Until this bug is fixed in a later release of ESyS-Particle, it is not recommended that you move mesh walls. Anton's suggestion above is a good alternative for conducting triaxial tests on rectangular prisms of particles. You can use the LsmMpi.
https:/
it would appear you have already tried that.
To finish answering your question about how to move a mesh (once the bug is fixed), you need to create a cylinder mesh input file and import it into a simulation with LsmMpi.
https:/
Cheers,
Dion.
Revision history for this message
![]() |
#3 |
Thanks Dion and Anton!
I've one more question about mesh. After readMesh(...), how to do a random pack in the mesh directly like InsertGenerator
Cheers,
Ning
Revision history for this message
![]() |
#4 |
Hi Ning,
Although it would be a nice feature, there is currently no way to directly pack particles within a triangle mesh with either LSMGenGeo or within a simulation script (e.g. like RandomBoxPacker). The only options available to you are:
1/ Generate a cylinder of particles in LSMGenGeo using a CylinderVol with the radius of the CylinderVol slightly smaller than the radius of your cylinder mesh (looks like you've tried that already)
2/ Run a simulation where you let a box/cylinder of unbonded particles settle within your cylinder mesh then write out the final particle positions to create your own input geometry file for the settled packing.
Hope this helps.
Cheers,
Dion.
P.S. As I mentioned above, simulations with moving meshes will not work until the moveSingleMeshN
https:/
Revision history for this message
![]() |
#5 |
Thanks Dion Weatherley, that solved my question.
Revision history for this message
![]() |
#6 |
Hi Ning,
The bug with moving mesh walls is now fixed in the latest development version. This FAQ explains how to obtain the latest version:
https:/
Cheers,
Dion.
Revision history for this message
![]() |
#7 |
Hi Dion,
Thanks! That's great. I've reinstalled ESyS. And I have one question about moveSingleMeshN
I can't find any function like getNodePosition
Tks,
Ning
Revision history for this message
![]() |
#8 |
> So how can I get the position of the moving nodes?
Currently you can't - there is no function in the code to access node positions from the python script. So the only way to know where a mesh node is at a given point in time is know where it was at the beginning (i.e. in the the original mesh file) and to track your moveSingleMeshN
Steffen
Revision history for this message
![]() |
#9 |
Thanks Steffen and Dion,
Finally I used the way proposed by Steffen (i.e. record the initial positions from mesh file, and as I know every step how the nodes move then I calculate the current positions.) I think it works.
Ning
Revision history for this message
![]() |
#10 |
Hi,
I have run a triaxial simulation on cylinder packing. But as I output the contact forces among particles I found the values of the forces were much smaller than those from cubic simulations with almost same other parameters. So I suspect that whether my esys has been successfully updated. When I reinstall the software I use -without epydoc to ignore some errors. I think this is OK.
When I run a free fall simulation using a simple trimesh wall with just 3 nodes and move the nodes upward at the same speed, it seems that the ball always falls to the same height. As I expect, the height should decrease since the mesh wall rises.
I am asking is there any method to check whether the function of my moveSingleMeshN
Tks,
Ning
Revision history for this message
![]() |
#11 |
Hi Ning,
It's not easy to determine whether your ESyS-Particle installation has been updated properly. One test you could try is to make a simulation with a single particle, no gravity and a triangle mesh wall that is initially not touching the particle. Then move the mesh wall towards the particle. If your moveSingleMeshN
1/ make uninstall
2/ sudo rm /usr/local/
3/ make distclean
4/ then configure, make and install again
I hope this helps.
Cheers,
Dion.
Revision history for this message
![]() |
#12 |
Hi Dion,
Thanks for your reply. But there is no files in /usr/local/
In addition, I've reinstalled the version 1237 several times and encountered the problem reported by Anton in Bug #456226. So I used "-without epydoc". I think I reinstalled unsuccessfully.
I am looking forward to your reply.
Ning
Revision history for this message
![]() |
#13 |
Hi Ning,
> You mean remove the directory of esys in /usr/local/
Yes, remove the esys directory from .../dist-packages after you 'make uninstall'
> After I did "make uninstall" and "make distclean", I found I still can run esys
OK, that would suggest you have more than one copy of ESyS-Particle installed on your PC. Perhaps one time you configured ESyS-Particle for installation, you provided a '--prefix=dir/' argument to 'configure'? After you do 'make uninstall', type 'which mpipython'. This should tell you the directory where the second copy of ESyS-Particle is installed. The output should be something like:
/path/to/
Once you know where it is installed, you will need to manually remove it. There will be ESyS-Particle related files in the following directories:
/path/to/esys/bin/
/path/to/esys/lib/
/path/to/
Depending on your actual path to esys, those directories may also contain files related to other software. Be careful what you delete!
Once you've cleaned up the other ESyS-Particle installation, you can try reinstalling rev.1237 again. I suspect the problems you are experiencing is because this second copy of ESyS-Particle is getting executed/linked instead of your new installation of rev. 1237.
I hope this helps.
Cheers,
Dion.
Revision history for this message
![]() |
#14 |
Thanks Dion Weatherley, that solved my question.
Revision history for this message
![]() |
#15 |
hello!!!
Just wondering how to implement the LsmGenGeo to generate a cylinder packing. Because I need to fill my conical shape funnel and I am still looking for anwers..maybe this LsmGenGeo might help with my problem. =)
Jessica
Revision history for this message
![]() |
#16 |
If, I understand correctly, what you mean, next several lines generate
cylinder packing:
from GenGeo import *
import sys
radius=5
length=10
maxRadius=0.4
minRadius=0.2
origin=
axis=Vec3(
minPoint=
maxPoint=
box=CylinderVol (
origin = origin,
axis = axis,
radius = radius,
length = 2.0*length
)
mntable=MNTable3D (
minPoint=
maxPoint=
gridSize=
numGroups=1
)
packer=
minRadius=
maxRadius=
insertFails=1000,
maxIterations
tolerance=1.0e-6,
seed=0
)
packer.
volume=box,
ntable=mntable,
groupID=0
)
mntable.
mntable.
_______
[ENG] Best Regards
[GER] Mit freundlichen Grüßen
[RUS] С наилучшими пожеланиями
[UKR] З найкращими побажаннями
Anton Gladkyy
2009/11/18 Jessica <email address hidden>
> Question #85594 on ESyS-Particle changed:
> https:/
>
> Jessica posted a new comment:
> hello!!!
>
> Just wondering how to implement the LsmGenGeo to generate a cylinder
> packing. Because I need to fill my conical shape funnel and I am still
> looking for anwers..maybe this LsmGenGeo might help with my problem. =)
>
> Jessica
>
> --
> You received this question notification because you are an answer
> contact for ESyS-Particle.
>
Revision history for this message
![]() |
#17 |
hello Sir Anton,
I wanted to know what esys version you use. Because I am using the newest version which is 2.0. While I was trying to run the codes you provided, the error was that there is no gengeo module. How are we going to import the module?
Jessica
Revision history for this message
![]() |
#18 |
Hi, Jessica!
I am using the latest SVN-version of ESyS-parricle. But it does not really
matter, as LSMGenGeo is not included into ESyS-particle and needs to be
installed separately.
svn checkout https:/
cd LSMGenGeo/build/
./autogen.sh
./configure
make
sudo make install
Have a Luck!
_______
[ENG] Best Regards
[GER] Mit freundlichen Grüßen
[RUS] С наилучшими пожеланиями
[UKR] З найкращими побажаннями
Anton Gladkyy
2009/11/23 Jessica <email address hidden>
> Question #85594 on ESyS-Particle changed:
> https:/
>
> Jessica posted a new comment:
> hello Sir Anton,
>
> I wanted to know what esys version you use. Because I am using the
> newest version which is 2.0. While I was trying to run the codes you
> provided, the error was that there is no gengeo module. How are we going
> to import the module?
>
> Jessica
>
> --
> You received this question notification because you are an answer
> contact for ESyS-Particle.
>
Revision history for this message
![]() |
#19 |
hello!!
Thank you very much for the help!! We have successfully installed the GenGeo module. Anyway, regarding with the codes you gave about the cylinder packing..I was confused with the output. What does it mean?? I wanted the particles to fill the conical hopper like what is done on hopper_flow in the tutorial. What type of packer should I use to fit on a conical hopper?
Thank you in advance and more power!!
Jessica