Re: [Yade-users] [Question #707888]: Why do particles in the concrete cube compression test disperse directly?

2023-09-11 Thread Karol Brzezinski
Question #707888 on Yade changed:
https://answers.launchpad.net/yade/+question/707888

Status: Open => Answered

Karol Brzezinski proposed the following answer:
Hi Antonia,

1) Macro behavior is a result of microparameters, particle size, and
shape, constitutive laws, etc. For example, rock may have a stiffness of
70 GPa, while a sand sample has a stiffness of around 150 MPa.
Calibration is the best solution [1].

2) Timestep is overestimated for this model, although I am not sure why.
Please change dtSafety  to 0.1

Cheers,
Karol


[1] 
https://yade-dem.org/doc/formulation.html?highlight=calibration#normal-stiffness

-- 
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 #707885]: Create arbitrary ellipsoid using level set

2023-09-11 Thread Karol Brzezinski
Question #707885 on Yade changed:
https://answers.launchpad.net/yade/+question/707885

Status: Open => Answered

Karol Brzezinski proposed the following answer:
Hi,

Quaternion is composed of axis direction (three components) followed by
angle of rotation:

###
lsb1 = levelSetBody(
'superellipsoid', center=(0, 0, 0), extents=(0.05, 0.05, 0.15), 
epsilons=(1.1, 0.2), spacing=0.01, nSurfNodes=2502, nodesPath=1, dynamic=False, 
orientation=Quaternion((1, 0, 0), 0),
)

lsb2 = levelSetBody(
'superellipsoid', center=(0, 0, 0.25), extents=(0.05, 0.05, 0.15), 
epsilons=(1.1, 0.2), spacing=0.01, nSurfNodes=2502, nodesPath=1, dynamic=False, 
orientation=Quaternion((1, 0, 0), pi/2),# rotated 90 degrees around 
x-axis
)

lsb3 = levelSetBody(
'superellipsoid', center=(0, 0, 0.5), extents=(0.05, 0.05, 0.15), 
epsilons=(1.1, 0.2), spacing=0.01, nSurfNodes=2502, nodesPath=1, dynamic=False, 
 
orientation=Quaternion((0, 1, 0), pi/2),# rotated 90 degrees around 
y-axis
)
O.bodies.append([lsb1,lsb2,lsb3])


Cheers,
Karol

-- 
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 #707851]: calculate applied force on corrugated plate.

2023-09-11 Thread Jan Stránský
Question #707851 on Yade changed:
https://answers.launchpad.net/yade/+question/707851

Status: Open => Answered

Jan Stránský proposed the following answer:
> How the stiffness between courrugated plate (/\/\/\/\) and particles
is measured?

It depends how you define it.
You can then measure it according to your definition.

> but I think it's too large than previous case.

It is possible.
Depends on definition and actual simulation (e.g. ratio of particle size / 
plate "roughness" etc.)

> In my guess, stiffness of courrgated plate is average of sum of
stiffness

Either average or sum.
"Average of sum" does not make much sense IMO..

Stiffness is similar case to the stress.
Plain sum of the stiffnesses (similar to plain sum of the stresses) has no 
physical meaning.
(again, IMO, quickly writing the answer. I might be wrong, you have to think 
carefully and critically about the answers :-).

> becuase, the stress is calculated from Force and contact area so that
sum of forces from all facets is needed, but stiffness is not.

yes, see above

Cheers
Jan

-- 
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 #707888]: Why do particles in the concrete cube compression test disperse directly?

2023-09-11 Thread Antonia
New question #707888 on Yade:
https://answers.launchpad.net/yade/+question/707888

Dear all, 

In the Yade official examples, I found the concrete Brazilian splitting test 
[1], which is a simple process where two walls approach the specimen at a 
constant speed, resulting in tensile failure of the specimen. Below is the code:
-
# -*- encoding=utf-8 -*-
from __future__ import print_function
from yade import plot,pack
"""
A simple script of a Brazilian splitting test.
A cylinder with x axis form 0 to specimenLength.
Load in z direction by z-perpendicular walls.
Code strongly inspired by uniax.py
"""
# default parameters or from table
readParamsFromTable(noTableOk=True, # unknownOk=True,
young = 24e9,
poisson = .2,
sigmaT = 3.5e6,
frictionAngle = atan(0.8),
epsCrackOnset = 1e-4,
relDuctility = 30,
intRadius = 1.5,
dtSafety = .8,
strainRate = 1,
specimenLength = .15,
specimenRadius = .05,
sphereRadius = 3.5e-3,
)
from yade.params.table import *
# material
concreteId = O.materials.append(CpmMat(
young = young,
poisson = poisson,
frictionAngle = frictionAngle,
epsCrackOnset = epsCrackOnset,
relDuctility = relDuctility,
sigmaT = sigmaT,
))
# spheres
sp=pack.randomDensePack(
pack.inCylinder((0,0,0),(specimenLength,0,0),specimenRadius),
radius = sphereRadius,
spheresInCell = 500,
memoizeDb = '/tmp/packing-brazilian.db',
returnSpherePack = True
)
sp.toSimulation()
# walls
zMin,zMax=[pt[2] for pt in aabbExtrema()]
wallIDs = O.bodies.append([wall((0,0,z),2) for z in (zMin,zMax)])
walls = wallMin,wallMax = [O.bodies[i] for i in wallIDs]
v = strainRate * 2*specimenRadius
wallMin.state.vel = (0,0,+v)
wallMax.state.vel = (0,0,-v)
# engines
O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=intRadius,label='is2aabb'),Bo1_Wall_Aabb()]),
InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=intRadius,label='ss2sc'),Ig2_Wall_Sphere_ScGeom()],
[Ip2_CpmMat_CpmMat_CpmPhys()],
[Law2_ScGeom_CpmPhys_Cpm()],
),
NewtonIntegrator(damping=.2),
CpmStateUpdater(realPeriod=.5),
PyRunner(iterPeriod=100,command='addPlotData()',initRun=True),
PyRunner(iterPeriod=100,command='stopIfDamaged()'),
]
# stop condition
def stopIfDamaged():
if O.iter < 1000: # do nothing at the beginning
return
fMax = max(plot.data["f"])
f = plot.data["f"][-1]
if f/fMax < .6:
print("Damaged, stopping.")
print("ft = ",max(plot.data["stress"]))
O.pause()
# plot stuff
def addPlotData():
# forces of walls. f1 is "down", f2 is "up" (f1 needs to be negated for 
evlauation)
f1,f2 = [O.forces.f(i)[2] for i in wallIDs]
f1 *= -1
# average force
f = .5*(f1+f2)
# displacement (2 times each wall)
wall = O.bodies[wallIDs[0]]
dspl = 2*wall.state.displ()[2]
# stress (according to standard brazilian test evaluation formula)
stress = f/(pi*specimenRadius*specimenLength)
# store values
yade.plot.addData(
t = O.time,
i = O.iter,
dspl = dspl,
f1 = f1,
f2 = f2,
f = f,
stress = stress,
)
# plot dspl on x axis, stress on y1 axis and f,f1,f2 in y2 axis
plot.plots={'dspl':('stress',None,'f1','f2','f')}
O.dt = 0.
O.step(); # to create initial contacts
# now reset the interaction radius and go ahead
ss2sc.interactionDetectionFactor=1.
is2aabb.aabbEnlargeFactor=1.
# time step
O.dt = dtSafety*PWaveTimeStep()
# run simulation
plot.plot()
#O.run()
---

Regarding this process, I have two questions, and I would appreciate any 
assistance or insights from the community.

1. According to the model's micro-scale parameters, this should simulate a 
concrete specimen, but the stress-displacement curve indicates that the 
displacement is too large, roughly an order of magnitude greater than 
real-world conditions. Why is there such a significant difference between 
micro-scale parameters and macroscopic behavior, and how should I adjust it? (I 
believe that as an example, the micro-scale parameters in this code are 
reasonably set, at least in the same order of magnitude.)
2. I would like to simulate a uniaxial compression test, so I changed the 
original specimen shape to a cube. However, the process becomes very strange, 
with a sudden increase in stress, and the specimen composed of particles 
eventually explodes. What is causing this? Did I miss setting some parameters? 
  I have replaced the #spheres section of the original code with the following 
code:
# spheres

Re: [Yade-users] [Question #707886]: Announcement: YADE answers moves to https://gitlab.com/yade-dev/answers

2023-09-11 Thread Robert Caulk
Question #707886 on Yade changed:
https://answers.launchpad.net/yade/+question/707886

Robert Caulk posted a new comment:
As a follow up, the Launchpad forum will subsequently be inaccessible
through the `launchpad.net/yade` domain. But all questions will remain
accessible via their hyperlinks (which, as Janek mentions, will be
archived with summaries on Gitlab).

-- 
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 #707886]: Announcement: YADE answers moves to https://gitlab.com/yade-dev/answers

2023-09-11 Thread Janek Kozicki
New question #707886 on Yade:
https://answers.launchpad.net/yade/+question/707886

Short announcement for people who only look at launchpad YADE answers. We are 
migrating to https://gitlab.com/yade-dev/answers

All archived questions questions will be accessible from gitlab as closed 
issues, searchable with short summary and with a link to the original question 
on launchpad.

All new questions will have to be asked as issues here: 
https://gitlab.com/yade-dev/answers/-/issues
or more specifically a new question is posted here: 
https://gitlab.com/yade-dev/answers/-/issues/new

The migration from launchpad to gitlab should complete within about a week.

Let us keep this question open, to post updates about the migration status.

-- 
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 #707886]: Announcement: YADE answers moves to https://gitlab.com/yade-dev/answers

2023-09-11 Thread Janek Kozicki
Question #707886 on Yade changed:
https://answers.launchpad.net/yade/+question/707886

Description changed to:
Short announcement for people who only look at launchpad YADE answers.
We are migrating to https://gitlab.com/yade-dev/answers

All archived questions will be accessible from gitlab as closed issues,
searchable with short summary and with a link to the original question
on launchpad.

All new questions will have to be asked as issues here: 
https://gitlab.com/yade-dev/answers/-/issues
or more specifically a new question is posted here: 
https://gitlab.com/yade-dev/answers/-/issues/new

The migration from launchpad to gitlab should complete within about a
week.

Let us keep this question open, to post updates about the migration
status.

-- 
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 #707885]: Create arbitrary ellipsoid using level set

2023-09-11 Thread Ruidong LI
New question #707885 on Yade:
https://answers.launchpad.net/yade/+question/707885

Hi! I'd like to ask how to set the 'orientation' keyword in the levelSetBody. 
It seems that we need to input a quaternion. But the problem is that what's the 
format of this input?Can someone help me with this? Many thanks.

Cheers,
Kyle

-- 
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 #707883]: Ab AYa Uth Pahad ke Niche LOVEBangladesh

2023-09-11 Thread Jan Stránský
Question #707883 on Yade changed:
https://answers.launchpad.net/yade/+question/707883

Status: Open => Invalid

Jan Stránský rejected the question:
spam

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