[Yade-users] [Question #680375]: How to delete 10% percent of small particles?

2019-04-22 Thread zheng
New question #680375 on Yade:
https://answers.launchpad.net/yade/+question/680375

Dear all,

I am very new in Yade. In my simulation, I have a polydisperse particle size 
distribution, from size 0.2~1.0mm. Thanks to this poster: 
https://answers.launchpad.net/yade/+question/211937, I now know how to delete 
all particles with a certain diameter or position.

Now I need to delete 10% of the smallest particles (d=0.2mm) every 100 steps, 
but I cannot figure out how to realize this function? Could anyone please give 
me any clues? Thanks so much!

Best regards,
Zheng

-- 
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 #680307]: How can I applied PeriTriaxController on a box of polyhedras?

2019-04-22 Thread Gavin He
Question #680307 on Yade changed:
https://answers.launchpad.net/yade/+question/680307

Status: Answered => Open

Gavin He is still having a problem:
Hello Jérôme,

I have solved the verletDist and timestep problems.

However, I can not make the simulation run. It seems that it can only
run when the particles are all spheres or clumps, but not polyhedras.

I change the code as:

___
from yade import pack, polyhedra_utils

gravel = PolyhedraMat()
gravel.density = 2600 #kg/m^3 
gravel.young = 1E7 #Pa
gravel.poisson = 2/1E7
gravel.frictionAngle = 0.5 #rad


polyhedra_utils.fillBox((0,0,0), 
(10,10,10),gravel,sizemin=[1,1,1],sizemax=[1,1,1],seed=4)

O.materials.append(FrictMat(young=15e6,poisson=.4,frictionAngle=0,density=0,label='frictionless'))

walls=aabbWalls(thickness=1e-10,material='frictionless')
wallIds=O.bodies.append(walls)

triax=TriaxialCompressionEngine(
wall_bottom_id=wallIds[2],
wall_top_id=wallIds[3],
wall_left_id=wallIds[0],
wall_right_id=wallIds[1],
wall_back_id=wallIds[4],
wall_front_id=wallIds[5],
internalCompaction=False,
## define the rest of triax params here
## see in pkg/dem/PreProcessor/TriaxialTest.cpp:524 etc
## which are assigned in the c++ preprocessor actually
sigmaIsoCompaction=-50e3,
sigmaLateralConfinement=-50e3,
max_vel=10,
strainRate=0.01,
label="triax"
)
O.dt=0.25
O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Wall_Aabb(),Bo1_Facet_Aabb()],verletDist=5e-6),
InteractionLoop(
[Ig2_Wall_Polyhedra_PolyhedraGeom(), 
Ig2_Polyhedra_Polyhedra_PolyhedraGeom(), Ig2_Facet_Polyhedra_PolyhedraGeom()], 
[Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys()], # collision "physics"
[Law2_PolyhedraGeom_PolyhedraPhys_Volumetric()]),
triax,
# you can add TriaxialStateRecorder and such here…
NewtonIntegrator(damping=.4)
]


from yade import plot
O.engines=O.engines[0:5]+[PyRunner(iterPeriod=20,command='history()',label='recorder')]+O.engines[5:7]
def history():
plot.addData(e11=-triax.strain[0], e22=-triax.strain[1], 
e33=-triax.strain[2],
s11=-triax.stress(0)[0],
s22=-triax.stress(2)[1],
s33=-triax.stress(4)[2],
i=O.iter)

plot.plots={'i':('e11','e22','e33',None,'s11','s22','s33')}

O.saveTmp()
plot.plot()
___

It is supposed to be like the example in
https://www.youtube.com/watch?v=B2DIXJJvpwM&feature=youtu.be .


But here the walls have not been generated and the simulation has not been 
started.

-- 
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 #679428]: unable to display sphere with latest version

2019-04-22 Thread Janek Kozicki
Question #679428 on Yade changed:
https://answers.launchpad.net/yade/+question/679428

Janek Kozicki proposed the following answer:
I meant that maybe there is some conflict between qt versions. Maybe you
have installed both qt4 and qt5. And yade is compiled with one, but when
buinary is executed it tries to use the other. Try uninstalling all qt
libraries, then installing only the smallest necessary subset. Assuming
you do not have some stray *.so file in lib directory

-- 
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 #680397]: Kn and Ks value for Hertz-Mindilin model

2019-04-22 Thread SayedHessam
New question #680397 on Yade:
https://answers.launchpad.net/yade/+question/680397

This was an issue I ran into before with the Cundall-Strack law, and I am now 
also seeing with Hertz-Mindlin law. Hence, I am trying to input specific value 
for kn and ks for this contact model and the formulation proposed by yade, but 
I do not know what I can consider them in my simulation. 

Is there a way to use these values? Would a simple 
Ip2_FrictMat_FrictMat_MindlinPhys(kn=5e5, ks=5e5)?

You can find herein the necessary part of my script.



Thanks in advance.
Sam


##   material new parameters   
###
young =3e5  # elastic modulus [Pa]  
poisson = 0.25 
finalFricDegree=30
density = 1950 
mn,mx=Vector3(-0.52e-3, -1e-3,-1e-3),Vector3(0.52e-3, 1e-3, 1e-3) #size of 
particle
radius= 1   # Internal Radius 
identifier=str(particleDiameter)
output='./out/'+identifier
rate = strainRate*1
stabilityThreshold=0.01
iterper=1000   # Periodicity criterion using step number (deactivated if <= 0)
kn=5e1 # Normal stiffness
ks=5e1 # Shear Stiffness
kr=0   # Rotational stiffness
Bn=0
Bs=0
intRadius=1
##


Friction=O.materials.append(FrictMat(young=young, density=density, 
frictionAngle=radians(finalFricDegree), poisson=poisson, label='sphere'))

#frictionless walls
wallmat = O.materials.append(FrictMat(young=80e9, poisson=.45, 
frictionAngle=radians(finalFricDegree), density=7000, label='Walls'))

walls=aabbWalls([mn,mx], material='Walls')
wallIds=O.bodies.append(walls)

sp = O.bodies.append(ymport.textExt('sandGrain_0-6mmdiameter.spheres', 
'x_y_z_r',color=(0,0.2,0.7), material='sphere'))

triax = TriaxialStressController(   
thickness=0,
stressMask=7,
internalCompaction=False,
)


O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom()],

[Ip2_FrictMat_FrictMat_MindlinPhys(betan=Bn,betas=Bs,ktwist=0.0,krot=ks,label='ContactModel')],

[Law2_ScGeom_MindlinPhys_Mindlin(neverErase=True,includeMoment=False,includeAdhesion=False,label='Mindlin')]
),  

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.5),
triax,

VTKRecorder(dead=0,Key=identifier,iterPeriod=iterper,initRun=True,fileName=(output+'-'),recorders=['spheres','intr','stress',
 'bstresses','jcfpm','cracks']),
NewtonIntegrator(damping=0.9)
]

O.dt = 0.3 * utils.PWaveTimeStep()


-- 
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 #680398]: Inertia Tensor for Intersecting clumps

2019-04-22 Thread Bokkisa Srinivas Vivek
New question #680398 on Yade:
https://answers.launchpad.net/yade/+question/680398

Hello community,

I was going through the Source code- Clump.cpp

The inertia tensor at local level for the intersecting clump is calculated from 
the below equation (line no. 178):

Ig += m*( 
x.dot(x)*Matrix3r::Identity()-x*x.transpose())+Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal())

In the second part- 
"Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal())", 

I believe it should be m*pow(dx,2)/6 but instead it computes dv*pow(dx,2)/6, 
was it a mistake in code or done purposefully?

Reference:
https://github.com/yade/trunk/blob/master/core/Clump.cpp#L178

Thank you





-- 
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 #680398]: Inertia Tensor for clumps with Intersecting Spheres

2019-04-22 Thread Bokkisa Srinivas Vivek
Question #680398 on Yade changed:
https://answers.launchpad.net/yade/+question/680398

Summary changed to:
Inertia Tensor for clumps with Intersecting Spheres

Description changed to:
Hello community,

I was going through the Source code- Clump.cpp

The inertia tensor at local level for the intersecting spheres clump is
calculated from the below equation (line no. 178):

Ig += m*(
x.dot(x)*Matrix3r::Identity()-x*x.transpose())+Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal())

In the second part-
"Matrix3r(Vector3r::Constant(dv*pow(dx,2)/6.).asDiagonal())",

I believe it should be m*pow(dx,2)/6 but instead it computes
dv*pow(dx,2)/6, was it a mistake in code or done purposefully?

Reference:
https://github.com/yade/trunk/blob/master/core/Clump.cpp#L178

Thank you

-- 
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