Re: [Yade-users] [Question #696302]: contact model for particle compaction

2021-03-30 Thread Ricardo Lorenzoni
Question #696302 on Yade changed:
https://answers.launchpad.net/yade/+question/696302

Status: Needs information => Open

Ricardo Lorenzoni gave more information on the question:
Hi. Thanks for your answer.

figure 1 - https://pasteboard.co/JV5qiMz.png
In this first image, you can see the experimental results, where the curve 
shows that as more weight is added to the sample, the effect on the compacting 
of the grain mass will decrease.

figure 2 - https://pasteboard.co/JV5mPSf.png
In this second image, the results of the computer simulations are plotted, in 
which, we can see that the effect of increasing weight on the compaction of the 
particles is linear.

I have already carried out a series of tests with several contact and
physical models, in none of them I was able to replicate the curve
behavior, as shown in Figure 1.

Here is an example of the base code I am using for the simulations.
the variable "altura" indicates the height of the grain mass on the sample 
analyzed and, is set to 10 m. 

sample code with cundallStrack contact model:

import sys, math, csv, os
from minieigen import *
from yade import pack, plot, utils, ymport, export

matWall=CohFrictMat(density=2700,young=7e10,poisson=0.334,label="parede")
idparede=O.materials.append(matWall)

r_mean=0.002963
altura=10


lx=0
hx=0.1
ly=0
hy=0.1
lz=0
hz=0.15

p1 = (lx, ly, lz)
p2 = (lx, hy, lz)
p3 = (hx, ly, lz)
p4 = (hx, hy, lz)

p5 = (lx, ly, hz)
p6 = (lx, hy, hz)
p7 = (hx, ly, hz)
p8 = (hx, hy, hz)

p9 = (lx, ly, hz+0.05)
p10= (lx, hy, hz+0.05)
p11= (hx, ly, hz+0.05)
p12= (hx, hy, hz+0.05)


# DEFINICAO DAS FACES

#base
base1=utils.facet([p1,p2,p3],mask=1,wire=True,material=idparede)
base2=utils.facet([p2,p3,p4],mask=1,wire=True,material=idparede)
O.bodies.append(base1)
O.bodies.append(base2)

#Wall1
parede11=utils.facet([p1,p2,p5],mask=1,wire=True,material=idparede)
parede12=utils.facet([p2,p5,p6],mask=1,wire=True,material=idparede)
O.bodies.append(parede11)
O.bodies.append(parede12)

#Wall2
parede21=utils.facet([p1,p3,p5],mask=1,wire=True,material=idparede)
parede22=utils.facet([p3,p5,p7],mask=1,wire=True,material=idparede)
O.bodies.append(parede21)
O.bodies.append(parede22)

#Wall3
parede31=utils.facet([p3,p4,p7],mask=1,wire=True,material=idparede)
parede32=utils.facet([p4,p7,p8],mask=1,wire=True,material=idparede)
O.bodies.append(parede31)
O.bodies.append(parede32)

#Wall4
parede41=utils.facet([p2,p4,p6],mask=1,wire=True,material=idparede)
parede42=utils.facet([p4,p6,p8],mask=1,wire=True,material=idparede)
O.bodies.append(parede41)
O.bodies.append(parede42)

#Wall5
parede51=utils.facet([p5,p6,p9],mask=1,wire=True,material=idparede)
parede52=utils.facet([p6,p9,p10],mask=1,wire=True,material=idparede)
O.bodies.append(parede51)
O.bodies.append(parede52)

#Wall6
parede61=utils.facet([p6,p8,p12],mask=1,wire=True,material=idparede)
parede62=utils.facet([p12,p10,p6],mask=1,wire=True,material=idparede)
O.bodies.append(parede61)
O.bodies.append(parede62)

#Wall7
parede71=utils.facet([p7,p8,p11],mask=1,wire=True,material=idparede)
parede72=utils.facet([p8,p11,p12],mask=1,wire=True,material=idparede)
O.bodies.append(parede71)
O.bodies.append(parede72)

#Wall8
parede81=utils.facet([p5,p7,p9],mask=1,wire=True,material=idparede)
parede82=utils.facet([p7,p9,p11],mask=1,wire=True,material=idparede)
O.bodies.append(parede81)
O.bodies.append(parede82)

particles=CohFrictMat(density=1163,young=2.6e6,poisson=0.25,alphaKr=0.05,frictionAngle=radians(22.6),label="particle")
idparticle=O.materials.append(particles)

O.bodies.append(sphere((0.01,0.01,0.01),radius=r_mean,material=idparticle))

# DEFINICAO DOS MOTORES
O.engines=[
   ForceResetter(),
   
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()],verletDist=.05*.29e-3),
   InteractionLoop(
  # handle sphere+sphere and facet+sphere collisions
  [Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_ScGeom_FrictPhys_CundallStrack()] #modelo linear de contato
   ),
   NewtonIntegrator(gravity=(0,0,-9.81),damping=0.04),
   BoxFactory(maxParticles=-1, extents=(hx/2,hy/2,0.01), 
center=(hx/2,hy/2,hz+0.03), rMin=r_mean, rMax=r_mean, vMin=100, vMax=100, 
vAngle=0, massFlowRate=0.01*16.6, normal=(0,0,0), label='factory', 
materialId=idparticle),
   PyRunner(virtPeriod=0.02, command='verificaAltura()'),
]

global pesomassa
pesomassa=0
def calculaPeso():
global pesomassa
for b in O.bodies:
if isinstance(b.shape, Sphere):
pesomassa+=b.state.mass 
pesometro=(altura*((100*pesomassa)/15))
adicionaPeso(pesometro)

global executa
executa=True

def verificaAltura():
global executa
if executa: 
count=0
for b in O.bodies:
if isinstance(b.shape, Sphere):
if (b.state.vel[2]&

[Yade-users] [Question #696302]: contact model for particle compaction

2021-03-29 Thread Ricardo Lorenzoni
New question #696302 on Yade:
https://answers.launchpad.net/yade/+question/696302

Hi!!

I am conducting a study on compaction of particles. In my study, the particles 
must be independent, it is not interesting to know when a particular particle / 
structure would break due to the applied pressure.
It is common knowledge that, as the weight is increased over a layer of 
particles, its porosity reduces, however, this reduction does not happen in a 
linear way, but in a curve, where the greater the amount of weight added, the 
less the effect on compression.
However, I have already performed tests with several contact models for 
spherical particles and in none of the models tested so far, I obtained the 
expected behavior in compaction, always occurring in a linear way.
I would like to know if anyone would have any tips on contact model and 
physical model to use that will present the expected behavior.

Thank you for your attention and help.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #668026]: detailed step-by-step tutorial for manual installation

2018-04-17 Thread Ricardo Lorenzoni
Question #668026 on Yade changed:
https://answers.launchpad.net/yade/+question/668026

Status: Answered => Open

Ricardo Lorenzoni is still having a problem:
I am looking for a tutorial to install yade without performing apt-get, 
manually installing the prerequisites, since I am using a server with multiple 
processors and cores, however, this equipment is getting inferior performance 
to that of a notebook. I believe that a manual installation would allow a gain 
in performance and efficiency in the use of resources. I tried performing the 
manual installation several times, however, due to my little knowledge, I must 
be doing something wrong.
Although you have an explanation of how to do the manual installation in the 
yade documentation, this explanation is vague and unintuitive. I believe that 
if someone has already done this installation before, they should have created 
a step-by-step guide, such a document would be of great help.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #668026]: detailed step-by-step tutorial for manual installation

2018-04-17 Thread Ricardo Lorenzoni
New question #668026 on Yade:
https://answers.launchpad.net/yade/+question/668026

Hi, I'm trying to install the yade manually but, i'm through troubles in this. 
Do somebody have an detailed step-by-step tutorial for a manual installation? 
This can help many users to get most performance on executing simulations. 
Thanks.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #661490]: Material properties

2017-12-07 Thread Ricardo Lorenzoni
New question #661490 on Yade:
https://answers.launchpad.net/yade/+question/661490

Good afternoon!!!

I'm having a lot of problems with the properties of the materials. I wonder if 
anyone knows any references that contain the material properties of several 
different materials to use as a reference guide.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #647827]: sphere factory

2017-07-12 Thread Ricardo Lorenzoni
New question #647827 on Yade:
https://answers.launchpad.net/yade/+question/647827

Hi, I'm working on simulations with many spheres, and I have tried many ways to 
create a sphere factory like the inletbox (implemented in the software woo) but 
in my most successful implementation, the sphere factory move. Can someone help 
me on this issue? I need a sphere factory that creates spheres during a 
specific time. how can I develop this in the following code?

import sys; 
from minieigen import *; import math;
from yade import pack, plot, utils, ymport, export;

materialParede=FrictMat(density=7800,poisson=0.3,young=1.82e11,frictionAngle=radians(22.0),
 label="parede")

p1=(-.2,-.2,0)
p2=(-.2,.2,0)
p3=(.2,-.2,0)
p4=(.2,.2,0)

p5=(-.2,-.2,.5)
p6=(-.2,.2,.5)
p7=(.2,-.2,.5)
p8=(.2,.2,.5)

f1=utils.facet([p1,p2,p5],material=materialParede, wire=False)
f2=utils.facet([p2,p5,p6],material=materialParede, wire=False)
f3=utils.facet([p1,p3,p7],material=materialParede, wire=False)
f4=utils.facet([p1,p5,p7],material=materialParede, wire=False)
f5=utils.facet([p3,p4,p7],material=materialParede, wire=False)
f6=utils.facet([p4,p7,p8],material=materialParede, wire=False)
f7=utils.facet([p2,p4,p8],material=materialParede, wire=False)
f8=utils.facet([p2,p6,p8],material=materialParede, wire=False)
f9=utils.facet([p1,p2,p3],material=materialParede, wire=False)
f10=utils.facet([p2,p3,p4],material=materialParede, wire=False)

O.bodies.append(f1)
O.bodies.append(f2)
O.bodies.append(f3)
O.bodies.append(f4)
O.bodies.append(f5)
O.bodies.append(f6)
O.bodies.append(f7)
O.bodies.append(f8)
O.bodies.append(f9)
O.bodies.append(f10)

O.engines=[
   ForceResetter(),
   
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()],verletDist=.05*.29e-3),
   InteractionLoop(
  # handle sphere+sphere and facet+sphere collisions
  [Ig2_Sphere_Sphere_L3Geom(),Ig2_Facet_Sphere_L3Geom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_L3Geom_FrictPhys_ElPerfPl()]
   ),
   NewtonIntegrator(damping=0.04,gravity=(0,0,-9.81)),
]

O.dt=.5*utils.PWaveTimeStep()

O.run()
O.saveTmp()

Thanks for helping!

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #646049]: problem in drag force using

2017-07-04 Thread Ricardo Lorenzoni
Question #646049 on Yade changed:
https://answers.launchpad.net/yade/+question/646049

Status: Answered => Solved

Ricardo Lorenzoni confirmed that the question is solved:
Thanks Klaus Thoeni, that solved my question.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #646049]: problem in drag force using

2017-07-03 Thread Ricardo Lorenzoni
New question #646049 on Yade:
https://answers.launchpad.net/yade/+question/646049

We are trying to implement the drag force in a simulation with two different 
density materials, but when simulating the both spheres fall in the same 
velocity. Anyone knows what is wrong in our code?

from yade import pack, plot, qt, utils, ymport
import numpy

Styrofoam=CohFrictMat(density=23)
idStyrofoam=O.materials.append(Styrofoam)

steel=CohFrictMat(density=7900,young=1.96e11)
idsteel=O.materials.append(steel)

O.bodies.append([
   sphere(center=(0,2,100),radius=.5,material=idStyrofoam,color=(1,1,0)),
   sphere((0,0,100),.5, material=idsteel,color=(1,0,1))
])

O.engines=[
   ForceResetter(),
   InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()]),
   InteractionLoop(
  [Ig2_Sphere_Sphere_L3Geom(),Ig2_Facet_Sphere_L3Geom()],
  [Ip2_FrictMat_FrictMat_FrictPhys()],
  [Law2_L3Geom_FrictPhys_ElPerfPl()]
   ),
   NewtonIntegrator(gravity=(0,0,-9.81),damping=0.05),
   DragEngine(ids=[0,1],Cd=0.2, Rho=1.225),
]

O.dt=.05*PWaveTimeStep()


thank's for helping

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp