Re: [Yade-users] [Question #701077]: Using scientific notation with high precision minieigenHP

2022-04-11 Thread Janek Kozicki
Question #701077 on Yade changed:
https://answers.launchpad.net/yade/+question/701077

Janek Kozicki posted a new comment:
btw, sorry for late reply, I didn't notice this until I saw this
expiration notice in the mailing list.

-- 
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 #701077]: Using scientific notation with high precision minieigenHP

2022-04-11 Thread Janek Kozicki
Question #701077 on Yade changed:
https://answers.launchpad.net/yade/+question/701077

Janek Kozicki posted a new comment:
Maybe it has got something to do with locales, like in
https://gitlab.com/yade-dev/trunk/-/issues/254#note_877268706

-- 
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 #701077]: Using scientific notation with high precision minieigenHP

2022-04-11 Thread Janek Kozicki
Question #701077 on Yade changed:
https://answers.launchpad.net/yade/+question/701077

Janek Kozicki posted a new comment:
Hm, I cannot reproduce this problem:

In [1]: import minieigenHP as mne

In [2]: mne.HP2.Vector3(1e0,0,0)
Out[2]: Vector3("1","0","0")

In [3]: mne.HP2.Vector3(1e-99,0,0)
Out[3]: Vector3("9.9252e-100","0","0")

I tried with 2022-03-18.git-31d72e5

-- 
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 #701263]: different movements

2022-04-11 Thread ytang
Question #701263 on Yade changed:
https://answers.launchpad.net/yade/+question/701263

ytang confirmed that the question is solved:
Thanks Jan Stránský, 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


Re: [Yade-users] [Question #701259]: Create packing with given void ratio at different isotropic pressures

2022-04-11 Thread Jan Stránský
Question #701259 on Yade changed:
https://answers.launchpad.net/yade/+question/701259

Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

thanks for more info.

> But this has been removed from the MWE below because it is not
interesting now.

+1 for understanding the meaning of MWE (which is not a matter of course
at all)

> Briefly, I am reaching my target pressure by
O.cell.velGrad=Matrix3(-rate,0,0,0,-rate,0,0,0,-rate) which cannot
change the void ratio of a regular ortho packing.

But isotropic pressure (applied as constant isotropic velGrad) DOES change the 
void ratio (because it changes total volume).
Just see the output of the script (where "e" is decreasing).
Am I missing something?

> So, I am just now pushing one wall by
O.cell.velGrad=Matrix3(-rate,0,0,0,0,0,0,0,0), reaching the target void
ratio.

Why not 3 walls? (related to above (?))

> 1) modify the elasticity of the material

yes, introducing another variable, you can now vary pressure AND void
ratio independently and stiffness is now the dependent variable.

> O.materials[0].young =En*factor

be aware that modifying material has no effect on existing interactions
(only on the newly created)

> 2) modify the branch vector ...
> ...
> I tested 1)
> ...
> What do you think about this approach?

I like 1) more.
One reason is that I have almost no experience with 2 :-) 
But more importantly I **think** like the two approaches are very similar - 
modifying material to introduce another variable to let void ratio and pressure 
be independent.

> I can see the drawback is the change of the contact stiffness and
indeed I would like to explore the approach 2) to avoid that.

Yes, there are drawbacks. E.g. that you define material to get good result, but 
usually the material properties (stiffness is usually the most basic) are the 
inputs.
What exactly is meant by you?

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


Re: [Yade-users] [Question #701263]: different movements

2022-04-11 Thread ytang
Question #701263 on Yade changed:
https://answers.launchpad.net/yade/+question/701263

Status: Answered => Solved

ytang confirmed that the question is solved:
hi Jan and Jerome,

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


Re: [Yade-users] [Question #701259]: Create packing with given void ratio at different isotropic pressures

2022-04-11 Thread Gianni Pellegrini
Question #701259 on Yade changed:
https://answers.launchpad.net/yade/+question/701259

Status: Answered => Open

Gianni Pellegrini is still having a problem:
Thanks Jan,
I calculated the void ratio via :
 u=utils.porosity()
 e=u/(1-u)

I am also checking that the overlapping volume is small enough to avoid what 
you mentioned above through
ds = [2*r - i.geom.penetrationDepth for i in O.interactions]
volContactss = [1/12.*pi*(4*r+d)*(2*r-d)**2 for d in ds]
volContacts = sum(volContactss)
To check that the overlapping volume is smaller than 0.1%.
But this has been removed from the MWE below because it is not interesting now.

Briefly, I am reaching my target pressure by 
O.cell.velGrad=Matrix3(-rate,0,0,0,-rate,0,0,0,-rate) which cannot change the 
void ratio of a regular ortho packing.
Then I am applying a load to modify the void ratio
As you point out, a pure shearing through 
O.cell.velGrad=Matrix3(0,rate,rate,rate,0,rate,rate,rate,0) will not produce 
any change of volume (as expected, my bad)
So, I am just now pushing one wall by 
O.cell.velGrad=Matrix3(-rate,0,0,0,0,0,0,0,0), reaching the target void ratio.
In the MWE below, I reach 0.89 void ratio at 1E5 and then the target 0.7 at 
1.8e7

Now, since I am using just a linear model for the normal interaction of two 
bodies, my idea is I could use either 2 approaches:
1) modify the elasticity of the material (the variable young) proportionally to 
have the desired pressure :
 factor=IsoGoal/(getStress().trace() / 3.) 
 O.materials[0].young =En*factor
 O.interactions.clear()

2) modify the branch vector to release the pressure to the target pressure. In 
practical terms, it is like having a rigid link and therefore reducing the  
flexible length between the 2 spheres without changing their distance. 
Something I read in the forum, it can be simulated through 
for i in O.interactions:
  i.phys.unp = i.geom.penetrationDepth

Now, in the MWE below, I tested 1) .
I am not sure now about the implications of doing that. I am achieving to 
change to have a sample with desired pressure and void ratio. Please consider 
that being a MWE, I cut the final part and hence, at every loop is updating 
back the old stiffness.
What do you think about this approach? I can see the drawback is the change of 
the contact stiffness and indeed I would like to explore the approach 2) to 
avoid that.

MWE:
from yade import pack,plot

import time
import datetime
import os

from yade import pack, plot, export
import numpy as np


#PARAMETERS
frictionAngle = 0.6
VoidRatio = 0.7
IsoGoal=-10
poisson=0.2
R=1e-3 
rate=1e-4
dimcell = 0.02 
density= 1e12
En=1e9

#SETTINGS
O.periodic = True
O.cell.hSize = Matrix3(dimcell , 0, 0, 0, dimcell , 0, 0, 0, dimcell )

#ENGINE
pp=O.materials.append(FrictMat(young=En,poisson=poisson,frictionAngle=frictionAngle,density=density))
O.bodies.append(pack.regularOrtho(pack.inAlignedBox((0, 0, 0), (dimcell , 
dimcell , dimcell)), radius=R, gap=0, color=(0, 0, 1), material=pp))


O.engines = [
ForceResetter(
   ),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom()], 
[Ip2_FrictMat_FrictMat_FrictPhys()], [Law2_ScGeom_FrictPhys_CundallStrack()]),
NewtonIntegrator(damping=.2),
PyRunner(command='Compaction()', realPeriod=1)
]

O.dt = .5 * PWaveTimeStep()
O.cell.velGrad=Matrix3(-rate,0,0,0,-rate,0,0,0,-rate)


def Compaction():
u=utils.porosity()
e=u/(1-u)
print('e', e)
if np.abs(getStress().trace() / 3.) > np.abs(IsoGoal):
print('compaction done', e)
O.cell.velGrad=Matrix3(-rate,0,0,0,0, 0, 0, 0,0)
if e < VoidRatio:
 print('e', e)
 print('shearing done',getStress().trace() / 3)
 O.cell.velGrad=Matrix3(0,0,0,0,0, 0, 0, 0,0)
 factor=IsoGoal/(getStress().trace() / 3.) 
 O.materials[0].young =En*factor
 O.interactions.clear()
 



O.run()   # run forever


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


[Yade-users] Yade short-course for Thermo-Hydro-Mechanical couplings

2022-04-11 Thread Robert Caulk
Hello Yade users,

You are all invited to a 3-day short-course in Amsterdam, Netherlands on
20/06/22-22/06/22 covering the theory and practical implementation of fluid
and thermal couplings in particulate systems. We have limited space, so
please register early to avoid missing the opportunity. Here is a flier
containing all pertinent information regarding costs and registration
deadlines (link to flier: http://u.pc.cd/rl5otalK). Alternatively, feel
free to contact me directly with any questions you may have.

Cheers,

Robert
___
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 #701266]: some interactions (sphere-box(width=Period width) are not detected

2022-04-11 Thread Xin Li
Question #701266 on Yade changed:
https://answers.launchpad.net/yade/+question/701266

Xin Li posted a new comment:
Hi Jan,
>It can be that the wall stiffness has too little value ant the particles are 
>simply pushed through. You can investigate the particles and if there are/were 
>contact with wall or not.
No interactions detected between the extruded particles and the wall
Maybe I should back to the source code 'InsertionSortCollider.cpp'.
Thank you!

Regards,
Xin

-- 
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 #701266]: some interactions (sphere-box(width=Period width) are not detected

2022-04-11 Thread Jan Stránský
Question #701266 on Yade changed:
https://answers.launchpad.net/yade/+question/701266

Jan Stránský posted a new comment:
> There are still several particles cross the boundary ( but much less
than not operating like this). And these particles have not crossed the
periodic boundary before crossing the wall.

It can be that the wall stiffness has too little value ant the particles are 
simply pushed through.
You can investigate the particles and if there are/were contact with wall or 
not.

> I am a little confused about the difference between extending the
large bodies and copying them manually in the surrounding cells'
position.

this probably should be answered by somebody (Bruno?) knowing the code
and philosophy of the collider.

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


Re: [Yade-users] [Question #700869]: Finding a place for an internship

2022-04-11 Thread VickyJackson
Question #700869 on Yade changed:
https://answers.launchpad.net/yade/+question/700869

VickyJackson posted a new comment:
What you are doing is respectful. I wish you inspiration and success in
your activities. I still believe that finding a high-paying job you love
is one of the greatest accomplishments in life. On the way to my goal, I
turned to this company https://uk.careersbooster.com/cv-help/ Certified,
qualified and experienced drafters helped me with a professional resume.
Now I have full confidence in this service, because they helped me to
attract the attention of the employer and successfully pass the
interview. It's so great.

-- 
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 #701266]: some interactions (sphere-box(width=Period width) are not detected

2022-04-11 Thread Xin Li
Question #701266 on Yade changed:
https://answers.launchpad.net/yade/+question/701266

Xin Li posted a new comment:
Hi Jan,

I tried again with more particles using copying the boundary manually. There 
are still several particles cross the boundary ( but much less than not 
operating like this). And these particles have not crossed the periodic 
boundary before crossing the wall. 
Thanks again for your idea.

Regards,
Xin

-- 
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 #701263]: different movements

2022-04-11 Thread Jérôme Duriez
Question #701263 on Yade changed:
https://answers.launchpad.net/yade/+question/701263

Jérôme Duriez proposed the following answer:
You can also directly set 
b.state.vel # b is a Body
or b.state.angVel

for "non-dynamic" bodies (b.dynamic = False)

See https://yade-dem.org/doc/user.html#motion-constraints

-- 
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 #701266]: some interactions (sphere-box(width=Period width) are not detected

2022-04-11 Thread Xin Li
Question #701266 on Yade changed:
https://answers.launchpad.net/yade/+question/701266

Xin Li posted a new comment:
Hi Jan,

Thank you very much for your answer! Manual copies of the solid boundary
worked in my example! I added the same size box and cylinder in the near
cell and no particles cross the wall and cylinder. Still one question, I
used larger sized wall and cylinder (much larger than periodic cell )
before, but this issue still occurs. I am a little confused about the
difference between extending the large bodies and copying them manually
in the surrounding cells' position.

Regards,
Xin

-- 
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 #701266]: some interactions (sphere-box(width=Period width) are not detected

2022-04-11 Thread Jan Stránský
Question #701266 on Yade changed:
https://answers.launchpad.net/yade/+question/701266

Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

> I have not observed particles crossing the rigid boundary when the
width of box is smaller than width of the periodic cell

so one straight approach is to split the large wall into smaller walls
:-)

If you want to use larger wall, investigate position of the wall and position 
of crossing particles.
If I remember correctly, the large bodies are not "periodically copied", so the 
spheres from "next" cells do not interact with the wall.
One solution is to copy the wall to the surrounding cells manually.

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


Re: [Yade-users] [Question #701263]: different movements

2022-04-11 Thread Jan Stránský
Question #701263 on Yade changed:
https://answers.launchpad.net/yade/+question/701263

Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

There are several approaches:
- use RotationEngine and TranslationEngine and vary their dead attributes.
- implement your own kinematic engine
- ...

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


Re: [Yade-users] [Question #701259]: Create packing with given void ratio at different isotropic pressures

2022-04-11 Thread Jan Stránský
Question #701259 on Yade changed:
https://answers.launchpad.net/yade/+question/701259

Status: Open => Answered

Jan Stránský proposed the following answer:
Hello,

> I am ... a new member of this forum.
> I just started using YADE and more generally DEM

welcome :-)

> I am supposed to generate an isotropic pressure which should not
change the void ratio of the cell.

it depends on definition of void ratio or definition of values from which it is 
computed.
If you apply pressure / velocity gradient, the total volume of the cell is 
changing, so intuitively also void ratio would change.

> I computed void ratio = 0.91

how?
A MWE (see below) would help

> 1) therefore, is it correct to affirm that I could have a regular
packing with any isotropic pressure I decided ?

yes, you can have a regular packing with any (reasonable) isotropic pressure.
Reasonable = e.g. with linear contact law (e.g. 
Law2_ScGeom_FrictPhys_CundallStrack) the pressure is limited by stiffness (with 
higher pressures resulting in degenerated collapsed "one-sphere" packing)

> 2) then, after reaching the target isotropic pressure,, I tried to
apply an ideal shearing by
O.cell.velGrad=Matrix3(0,rate,rate,rate,0,rate,rate,rate,0), imaging
that this deviatoric component will produce compaction without changing
the isotropic component. But I obtained the opposite effect, the void
ratio did not change, whilst the mean pressure did increase. Why so?

ideal shearing ... compaction ... isn't it contradicting?
Void ratio does not change, because total volume does not change (because of 
ideal shearing).
To help you why the pressure increased, we would need a MWE (see below).

> 3) if so, I would like to obtain the desired void ratio at a given
isotropic pressure without changing the particle radius. What is the
best approach?

Depending on definition, but I feel like one of the values is dependent on the 
other.
I.e. you cannot independently vary pressure and void ratio.

Cheers
Jan

PS: also please read [1] and consider point 5 and consider providing a
MWE.

[1] https://www.yade-dem.org/wiki/Howtoask

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