Re: [Yade-users] [Question #708058]: Cubic fluid domain

2023-09-27 Thread Fedor
Question #708058 on Yade changed:
https://answers.launchpad.net/yade/+question/708058

Description changed to:


-- 
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 #708058]: Cubic fluid domain

2023-09-27 Thread Fedor
New question #708058 on Yade:
https://answers.launchpad.net/yade/+question/708058

Dear Team,

I would like to immerse the spherical domain in a cubic fluid domain. Then I 
apply foice through big blue ball. Am I correct that except from big blue ball 
the hydrostatic (water density*g*distance between top wall and particle 
surface) water pressure also applying directly at the surface of the sphere? 
Regarding to big blue ball it created 1e251 pore pressure so I am concerned 
about it. Also I experienced some 
CHOLMOD warning: matrix not positive definite. file: 
../Supernodal/t_cholmod_super_numeric.c line: 911
something went wrong in Cholesky factorization, use LDLt as fallback this time1
 
Let me attach the script

Your help will be valued 

from yade import utils


import time
import datetime
import os

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



cell_a = Vector3(0, 0, 0)
cell_b = Vector3(10, 10, 10)
sphere_force = Vector3(0, 0, -10)



# create box
walls = aabbWalls((cell_a, cell_b+Vector3(0,0,10)))
O.bodies.append(walls)

# add spheres
sp = SpherePack()
sp.makeCloud(cell_a, cell_b, rMean=0.5)
cloud_ids = sp.toSimulation(color=(0,1,0))

sphere_id = O.bodies.append(sphere((5,5,18), 2, color=(0,0,1)))

# setup engines
O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()],
  allowBiggerThanPeriod=True),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),
 Ig2_Box_Sphere_ScGeom(),
 Ig2_Facet_Sphere_ScGeom()
 ],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
ForceEngine(
ids=[sphere_id],
force=sphere_force,
label='force_engine',
dead=False
),

NewtonIntegrator(damping=0.3, gravity=(0,0,-9.81), label='newton_engine'),
GlobalStiffnessTimeStepper(label='timestepper_engine'),
PyRunner(command='addPlotData()', iterPeriod=10, label='plotter', 
dead=False),
FlowEngine(dead=False, label='flow_engine'),


]
flow_engine.defTolerance=0.3
flow_engine.meshUpdateInterval=200
flow_engine.useSolver=3
flow_engine.permeabilityFactor=1
flow_engine.viscosity=0.00298
flow_engine.bndCondIsPressure=[0,0,0,0,0,0]
flow_engine.fluidBulkModulus=0.0001
flow_engine.bndCondValue=[0,0,0,0,0,0]
O.dt = 0.1e-5
flow_engine.boundaryUseMaxMin=[0,0,0,0,0,0]
flow_engine.updateTriangulation=True

def addPlotData():
plot.addData(
p=flow_engine.getPorePressure((0.35,0.35,0.035)),
t=O.time,
)

plot.plots = {
't': ('p')
  }
plot.plot()






-- 
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 #707197]: Undrained triaxial (NOT CONSTANT VOLUME)

2023-09-23 Thread Fedor
Question #707197 on Yade changed:
https://answers.launchpad.net/yade/+question/707197

Status: Answered => Open

Fedor is still having a problem:
Hello Yade Team
Could you please find a minute to reply my request?

Best

-- 
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 #707197]: Undrained triaxial (NOT CONSTANT VOLUME)

2023-09-01 Thread Fedor
Question #707197 on Yade changed:
https://answers.launchpad.net/yade/+question/707197

Fedor posted a new comment:
Hello.
Thanks for reply because I almost lost hope.  
Yes. I triple check. It is working.

-- 
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 #707197]: Undrained triaxial (NOT CONSTANT VOLUME)

2023-08-30 Thread Fedor
Question #707197 on Yade changed:
https://answers.launchpad.net/yade/+question/707197

Status: Expired => Open

Fedor is still having a problem:
Should I close this 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 #707197]: Undrained triaxial (NOT CONSTANT VOLUME)

2023-08-28 Thread Fedor
Question #707197 on Yade changed:
https://answers.launchpad.net/yade/+question/707197

Fedor posted a new comment:
Hello Bruno,
still need your help regarding this stuff
 
Grand-cheers

-- 
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 #707197]: Undrained triaxial (NOT CONSTANT VOLUME)

2023-07-08 Thread Fedor
Question #707197 on Yade changed:
https://answers.launchpad.net/yade/+question/707197

Fedor posted a new comment:
Dear all,

any help will be appreciated

-- 
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 #707197]: Undrained triaxial (NOT CONSTANT VOLUME)

2023-07-04 Thread Fedor
Question #707197 on Yade changed:
https://answers.launchpad.net/yade/+question/707197

Summary changed to:
Undrained triaxial (NOT CONSTANT VOLUME)

Description changed to:
Please help! 
I have been struggled with flow engine since March and I experience depression 
or something. 
I set up the triaxial undrained simulation and faced some difficulties.
First thing, pore pressure responce is wierd. I could not get the increase of 
pore pressure up to max value. I change viscosity, time step, everyting , 
compressibility of fluid (diffrent bulk modules). The pore pressure responce is 
1e-10 or something and goes to negative value. Please give me some suggestions 
how to approach a adequete results (which is corresponding to soil mechanics 
theory). 
  
from __future__ import print_function

import time
import datetime
import os

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

# VTK RECORDER PARAMS
vtk_output = True
vtk_iter = 1000
vtk_dir = 'vtk_output'
#vtk_recorders = ['all']
vtk_recorders = ['spheres',
 'facets',
 'boxes',
 'id',
 'mass',
 'clumpId',
 'colors',
 'mask',
 'materialId',
 'coordNumber',
 'velocity',
 'stress',
 'force',
 'bstresses']
if vtk_output == True:
vtk_dir += '/' + datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S") + '/'
if not os.path.exists(vtk_dir):
os.makedirs(vtk_dir)

#FIXED PARAMETERS
k=3E7
poisson=0.2
R=1e-4
dimcell = 2
density= 1e12
sigmaIso=-1e5
young=np.abs(k*sigmaIso*R*2)
targetVoid=0.77
frictionAngle=radians(30)
alphaKr=2
alphaKtw=2
etaRoll=.15


sp = pack.SpherePack()

sp.makeCloud((0,0,0),(dimcell, dimcell, dimcell),rMean=.1,seed=1)

pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=radians(30),
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=etaRoll,label='spheres'
))

walls = aabbWalls(((0, 0, 0), (dimcell, dimcell, dimcell)),
  thickness=0,
  material='spheres')
wallIds = O.bodies.append(walls)
sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(), Ig2_Box_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(
useIncrementalForm=True,
always_use_moment_law=True),
 Law2_ScGeom_FrictPhys_CundallStrack()]),
TriaxialStressController(
goal1=sigmaIso,
goal2=sigmaIso,
goal3=sigmaIso,
thickness=0,
stressMask=7,
internalCompaction = False,
label='triax',
),
FlowEngine(dead=True,
   label="flow",
   ),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()',
 iterPeriod=500,
 label='plotter',
 dead=True),
PyRunner(command='testHook()',
 iterPeriod=10,
 label='test_hook',
 dead=False),
PyRunner(command='triaxFinished()',
 iterPeriod=10,
 label='triax_finished',
 dead=True),
VTKRecorder(fileName=vtk_dir+'3d-vtk-',
recorders=vtk_recorders,
iterPeriod=vtk_iter,
dead=not vtk_output)
]

O.dt = 0.001 
O.dynDt = False
print('time step',O.dt)

def triaxDone():
u=utils.porosity()
ev=u/(1-u)
frictionAngle = radians(30)
while ev > targetVoid:
frictionAngle *= 0.99
setContactFriction(frictionAngle)
O.run(3000, True)
u=utils.porosity()
ev=u/(1-u)
print ("Iteration: ", O.iter, "\tFriction angle: ", 
frictionAngle,"\tVoid:",ev)

startExx = startEyy = startEzz = None
def initPlotValues():
global startExx
global startEyy
global startEzz

startEzz=-triax.strain[2]
startEyy=triax.strain[1]
startExx=triax.strain[0]

def addPlotData():
global startExx
global startEyy
global startEzz

if startExx is None:
initPlotValues()

plot.addData(
i=O.iter,
Ezz=triax.strain[2] - startEzz,
Eyy=triax.strain[1] - startEyy,
Exx=triax.strain[0] - startExx,
e=utils.porosity()/(1-utils.porosity()),
q=abs(utils.getStress()[2,2]-utils.getStress()[0,0]),
V=triax.volumetricStrain,
p=flow.getPorePressure((1,1,1)),
t=O.time,
)

def testHook():
if abs(sigmaIso)*0.99 <= abs(triax.meanStress) <= abs(sigmaIso)*1.01:
O.pause()
test_hook.dead = True
print("FIRST STAGE DONE")

def Deviatoric():
flow.dead = False
flow.meshUpdateInterval = 5000
#flow.useSolver = 3
#flow.permeabilityFactor = 1
fl

[Yade-users] [Question #707197]: Undrained triaxial (NOT CONSTATNT VOLUME)

2023-07-04 Thread Fedor
New question #707197 on Yade:
https://answers.launchpad.net/yade/+question/707197

Please help! 
I have been struggled with flow engine since March and I experience depression 
or something. 
I set up the triaxial undrained simulation and faced some difficulties.
First thing, pore pressure responce is wierd. I could not get the increase of 
pore pressure up to max value. I change viscosity, time step, everyting , 
compressibility of fluid (diffrent bulk modules). The pore pressure responce is 
1e-10 or something and goes to negative value. Please give me some suggestions 
how to approach a adequete results (which is corresponding to soil mechanics 
theory). 
  

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-29 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Status: Answered => Solved

Fedor confirmed that the question is solved:
Thanks a bunch

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-29 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Hello Bruno. Thank  you for your support and patience.

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-19 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Good news) The problem was related to vtk recorder (interaction part). I 
comment it and it works well. 
Thanks a bunch. 
Bruno, let me ask you something ties to simulation. 

During the simulation i obtained this.
n [1]:  Shop:401 static yade::Matrix3r 
yade::Shop::getStress(yade::Real): getStress used with default volume tend to 
underestimate the stress due to overlaps on the boundaries, passing actual 
volume could be more safe.

How should i deal with it?

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-18 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
fedor@fedor-virtual-machine:~$ yadedaily
Welcome to Yade 20230525-7264~94b01fd~jammy1 
Using python version: 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0]
TCP python prompt on localhost:9000, auth cookie `syksce'
XMLRPC info provider on http://localhost:21000
[[ ^L clears screen, ^U kills line. F12 controller, F11 3D view (press "h" in 
3D view for help), F10 both, F9 generator, F8 plot. ]]

In [1]: yade.libVersions.printAllVersions()

```
Yade version   :  20230525-7264~94b01fd~jammy1
Yade features  :  LOGGER USEFUL_ERRORS COMPLEX_MP VTK OPENMP GTS QT5 CGAL 
PFVFLOW PFVFLOW LINSOLV MPI TWOPHASEFLOW LS_DEM FEMLIKE GL2PS LBMFLOW THERMAL 
PARTIALSAT POTENTIAL_PARTICLES POTENTIAL_BLOCKS
Yade config dir:  ~/.config/yadedaily
Yade precision :  53 bits, 15 decimal places, with mpmath, PrecisionDouble
Yade RealHP<…> :  (15, 33, 45, 60, 120, 150, 300) decimal digits in C++, (15, 
33) decimal digits accessible from python
```

Libraries used :

| library   | cmake | C++ |
| - | - | --- |
| boost | 107400| 1.74.0  |
| cgal  |   | 5.4 |
| clp   | 1.17.5| 1.17.5  |
| cmake | 3.22.1| |
| coinutils | 2.11.4| 2.11.4  |
| compiler  | /usr/bin/c++ 11.3.0   | gcc 11.3.0  |
| eigen | 3.4.0 | 3.4.0   |
| freeglut  | 2.8.1 | |
| gl|   | 20190805|
| ipython   | 7.31.1| |
| metis |   | 5.1.0   |
| mpi   | 3.1   | ompi:4.1.2  |
| mpi4py| 3.1.3 | |
| mpmath| 1.2.1 | |
| openblas  |   |  OpenBLAS 0.3.20|
| python| 3.10.6| 3.10.6  |
| qglviewer |   | 2.6.3   |
| qt|   | 5.15.3  |
| sqlite|   | 3.37.2  |
| suitesparse   | 5.10.1| 5.10.1  |
| vtk   | 9.1.0 | 9.1.0   |

```
Linux version  :  Ubuntu 22.04.2 LTS
Architecture   :  amd64
Little endian  :  True
```

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-18 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Dear Bruno.
I used the yadedaily exactly you did 


Welcome to Yade 20230525-7264~94b01fd~focal1 
Using python version: 3.8.10 (default, May 26 2023, 14:05:08) 
[GCC 9.4.0]
TCP python prompt on localhost:9000, auth cookie `yeukdc'
XMLRPC info provider on http://localhost:21000
Running script N3.py
INFO:matplotlib.font_manager:Could not open font file 
/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf: In FT2Font: Could not set 
the fontsize
INFO:matplotlib.font_manager:generated new fontManager
time step 0.4082482904638631


negative volume for an ordinary pore (temp warning, should still be safe)
negative volume for an ordinary pore (temp warning, should still be safe)
negative volume for an ordinary pore (temp warning, should still be safe)
 ThreadRunner:35 void yade::ThreadRunner::run(): Exception 
occured: 
CGAL ERROR: assertion violation!
Expr: dexp != 2047
File: /usr/include/CGAL/Mpzf.h
Line: 404
Explanation: Creating an Mpzf from infinity or NaN.
CHOLMOD error: invalid xtype. file: ../Cholesky/cholmod_analyze.c line: 431
CHOLMOD error: argument missing. file: ../Cholesky/cholmod_factorize.c line: 121
Segmentation fault (core dumped)

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-18 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Sorry, I skipped your PS

fm547@ubuntu:~$ yadedaily
Welcome to Yade 20230525-7264~94b01fd~focal1 
Using python version: 3.8.10 (default, May 26 2023, 14:05:08) 
[GCC 9.4.0]
TCP python prompt on localhost:9000, auth cookie `ckeuay'
XMLRPC info provider on http://localhost:21000
[[ ^L clears screen, ^U kills line. F12 controller, F11 3D view (press "h" in 
3D view for help), F10 both, F9 generator, F8 plot. ]]

In [1]: yade.libVersions.printAllVersions()

```
Yade version   :  20230525-7264~94b01fd~focal1
Yade features  :  LOGGER USEFUL_ERRORS COMPLEX_MP VTK OPENMP GTS QT5 CGAL 
PFVFLOW PFVFLOW LINSOLV MPI TWOPHASEFLOW LS_DEM FEMLIKE GL2PS LBMFLOW THERMAL 
PARTIALSAT POTENTIAL_PARTICLES POTENTIAL_BLOCKS
Yade config dir:  ~/.config/yadedaily
Yade precision :  53 bits, 15 decimal places, with mpmath, PrecisionDouble
Yade RealHP<…> :  (15, 33, 45, 60, 120, 150, 300) decimal digits in C++, (15, 
33) decimal digits accessible from python
```

Libraries used :

| library   | cmake| C++|
| - |  | -- |
| boost | 107100   | 1.71.0 |
| cgal  |  | 5.0.2  |
| clp   | 1.17.5   | 1.17.5 |
| cmake | 3.16.3   ||
| coinutils | 2.11.4   | 2.11.4 |
| compiler  | /usr/bin/c++ 9.4.0   | gcc 9.4.0  |
| eigen | 3.3.7| 3.3.7  |
| freeglut  | 2.8.1||
| gl|  | 20190805   |
| ipython   | 7.13.0   ||
| metis |  | 5.1.0  |
| mpi   | 3.1  | ompi:4.0.3 |
| mpi4py| 3.0.3||
| mpmath| 1.1.0||
| openblas  |  |  OpenBLAS 0.3.8|
| python| 3.8.10   | 3.8.10 |
| qglviewer |  | 2.6.3  |
| qt|  | 5.12.8 |
| sqlite|  | 3.31.1 |
| suitesparse   | 5.7.1| 5.7.1  |
| vtk   | 6.3.0| 6.3.0  |

```
Linux version  :  Ubuntu 20.04.6 LTS
Architecture   :  amd64
Little endian  :  True
```

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-16 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
fedor@fedor-virtual-machine:~$ yadedaily N3.py 
Welcome to Yade 20230525-7264~94b01fd~jammy1 
Using python version: 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0]
TCP python prompt on localhost:9000, auth cookie `seacus'
XMLRPC info provider on http://localhost:21000
Running script N3.py
time step 0.015408844130320731
Segmentation fault (core dumped)

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-15 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Welcome to Yade 2022.01a 
Using python version: 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0]
TCP python prompt on localhost:9000, auth cookie `dyseak'
XMLRPC info provider on http://localhost:21000
Running script N3.py
time step 0.0006163537652128292
Segmentation fault (core dumped)

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-15 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Yade 2018.02b

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-15 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
No no. I run scrip as it is ( which I attached ) with
flow.fluidBulkModulus=0.1  . And I received this error

CHOLMOD error: invalid xtype. file: ../Cholesky/cholmod_analyze.c line: 431
CHOLMOD error: argument missing. file: ../Cholesky/cholmod_factorize.c line: 121
Segmentation fault

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-15 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Thanks a lot.
>Mathematically it should be possible to solve for pressure when the fluid is 
>compressible (else it is ill-posed), but it requires that at least the initial 
>value of pressure is defined.

That's why I tried to do it both with compressible fluid and some
initial water pressure inside. Maybe I did't understand correctly.

In undrained experiment usually the pore pressure is rising during
deviatoric and reach the max value which is corresponded minimum
effective stress.

Now I tried with comprssible fluid and receive this
 CHOLMOD error: invalid xtype. file: ../Cholesky/cholmod_analyze.c line: 431
CHOLMOD error: argument missing. file: ../Cholesky/cholmod_factorize.c line: 121
Segmentation fault

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-15 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Hey Yuri, 
Check the manual please is written as a coefficient

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-15 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Hello,
Thank you for reply.
 I imposed pressure (flow.imposePressure) to compressible fluid 
(flow.fluidBulkModulus=0.1) but I am concerned because, first - volumetric 
strain should not change during undrained condition, second - i could not see 
pore pressure built up. Could you recommend me something?

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-06-09 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Dum spiro spero

-- 
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 #706897]: YADE-OPENFOAM

2023-06-04 Thread Fedor
New question #706897 on Yade:
https://answers.launchpad.net/yade/+question/706897

Dear All,

I was wondering if I can do triaxial test coupling. In this simulation the cube 
or cylinder changes the shape during let say deviatoric phase. So OpenFoam 
wants the domain constant. It means it is imposiible to simulate those class of 
simulation or I am wrong? 




-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-30 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Brilliant!

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-30 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Dear Bruno,

I was wondering if you checked the script? \

Kind regards, Fedor

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-25 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Hi Yuri, thanks for your comment

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-25 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Hello Bruno, thank you for reply. 
Script is attached below. I want to see as in theory the result of increasing 
of pore pressure up to a constant constant value. 



from __future__ import print_function

import time
import datetime
import os

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

# VTK RECORDER PARAMS
vtk_output = True
vtk_iter = 100
vtk_dir = 'vtk_output'
vtk_recorders = ['all']
if vtk_output == True:
vtk_dir += '/' + datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S") + '/'
if not os.path.exists(vtk_dir):
os.makedirs(vtk_dir)


#FIXED PARAMETERS
k=3E7
poisson=0.2
R=1e-4
dimcell = 0.002
density= 1e12
sigmaIso=-1e5
young=np.abs(k*sigmaIso*R*2)
targetVoid=0.7
frictionAngle=radians(30)
alphaKr=2
alphaKtw=2
etaRoll=.15

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


sp = pack.SpherePack()


diameter=[0.75,0.000106,0.00015,0.00025,0.00030,0.000425,0.000850]

part=[0.0037,0.0263,0.1319,0.7136,0.8681,0.9939,1]


sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), 
psdSizes=diameter,psdCumm=part,distributeMass=True,seed=1)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=radians(30),
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=etaRoll,label='spheres'
))


walls = aabbWalls(((0, 0, 0), (dimcell, dimcell, dimcell)),
  thickness=0,
  material='spheres')
wallIds = O.bodies.append(walls)
sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(), Ig2_Box_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(
useIncrementalForm=True,
always_use_moment_law=True),
 Law2_ScGeom_FrictPhys_CundallStrack()]),
TriaxialStressController(
goal1=sigmaIso,
goal2=sigmaIso,
goal3=sigmaIso,
thickness=0,
stressMask=7,
max_vel=0.05,
internalCompaction = False,
label='triax',
),
FlowEngine(dead=True,
   label="flow",
   ),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()',
 iterPeriod=500,
 label='plotter',
 dead=True),
PyRunner(command='testHook()',
 iterPeriod=10,
 label='test_hook',
 dead=False),
PyRunner(command='triaxFinished()',
 iterPeriod=10,
 label='triax_finished',
 dead=True),
VTKRecorder(fileName=vtk_dir+'3d-vtk-',
recorders=vtk_recorders,
iterPeriod=vtk_iter,
dead=not vtk_output)
]

O.dt = 0.1 * PWaveTimeStep()
print('time step',O.dt)

def triaxDone():
u=utils.porosity()
ev=u/(1-u)
frictionAngle = radians(30)
while ev > targetVoid:
frictionAngle *= 0.99
setContactFriction(frictionAngle)
O.run(3000, True)
u=utils.porosity()
ev=u/(1-u)
print ("Iteration: ", O.iter, "\tFriction angle: ", 
frictionAngle,"\tVoid:",ev)


def addPlotData():
plot.addData(
i=O.iter,
Ezz=-triax.strain[2],
Eyy=triax.strain[1],
Exx=triax.strain[0],
e=utils.porosity()/(1-utils.porosity()),
q=abs(utils.getStress()[2,2]-utils.getStress()[0,0]),
V=triax.volumetricStrain,
p=flow.getPorePressure((0.0015,0.0015,0.0015)),
t=O.time,
)


def testHook():
if abs(sigmaIso)*0.99 <= abs(triax.meanStress) <= abs(sigmaIso)*1.01:
O.pause()
test_hook.dead = True
print("FIRST STAGE DONE")

def Deviatoric():
flow.dead = False
#flow.defTolerance = 0.8
flow.meshUpdateInterval = 800
#flow.useSolver = 3
flow.permeabilityFactor = 1
flow.viscosity = 0.00298
flow.bndCondIsPressure = [0, 0, 0, 0, 0, 0]
flow.fluidBulkModulus=0.1  
flow.bndCondValue = [0, 0, 0, 0, 0, 0]
flow.boundaryUseMaxMin = [0, 0, 0, 0, 0, 0]


#flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),100.001)
triax.wall_bottom_activated = True
triax.wall_top_activated = True
triax.wall_back_activated = True
triax.wall_front_activated = True
triax.wall_left_activated = True
triax.wall_right_activated = True
triax.stressMask = 3
triax.goal1 = sigmaIso
triax.goal2 = sigmaIso
triax.goal3 = -0.0001
tr

Re: [Yade-users] [Question #706740]: Excess pore-water pressure in triaxial test

2023-05-24 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Description changed to:
Hello.

Can you please provide any information how to implement undrained condition 
with flow engine? When I change boundary condition in example script 
(oedometric.py) and put fluidBulkModulus=0.1  (compressible scheme) I 
cannot achive undrained behavior. 
Kind regards, Fedor

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-24 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Description changed to:
Hello.

Can you please provide any information how to implement undrained condition 
with flow engine? When I change boundary condition in example script 
(oedometric.py) and put fluidBulkModulus=0.1  (compressible scheme) I 
cannot achieve undrained behavior. 
Kind regards, Fedor

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-22 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Fedor posted a new comment:
Could you give some suggestions how the undrained condition might be
implemented using flowengine?

-- 
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 #706740]: Excess pore-water pressure in triaxial test

2023-05-21 Thread Fedor
Question #706740 on Yade changed:
https://answers.launchpad.net/yade/+question/706740

Description changed to:
Dear All,

The modelling pore-water pressure evolution during undrained triaxial
compression tests was a complete fiasco.  I used p=flow.getPorePressure
and when i plotted relation p vs axial deformation I did not see  a
result of increase in the excess pore pressure volume. Moreover, I
plotted volumetric strain which also confused me (in undrained condition
volume should not change). There is my script. I do appreciate help.

from __future__ import print_function

import time
import datetime
import os

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

# VTK RECORDER PARAMS
vtk_output = True
vtk_iter = 100
vtk_dir = 'vtk_output'
vtk_recorders = ['all']
if vtk_output == True:
vtk_dir += '/' + datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S") + '/'
if not os.path.exists(vtk_dir):
os.makedirs(vtk_dir)


#FIXED PARAMETERS
k=3E7
poisson=0.2
R=1e-4
dimcell = 0.002
density= 1e12
sigmaIso=-1e5
young=np.abs(k*sigmaIso*R*2)
targetVoid=0.7
frictionAngle=radians(30)
alphaKr=2
alphaKtw=2
etaRoll=.15

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


sp = pack.SpherePack()


diameter=[0.75,0.000106,0.00015,0.00025,0.00030,0.000425,0.000850]

part=[0.0037,0.0263,0.1319,0.7136,0.8681,0.9939,1]


sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), 
psdSizes=diameter,psdCumm=part,distributeMass=True,seed=1)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=radians(30),
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=etaRoll,label='spheres'
))


walls = aabbWalls(((0, 0, 0), (dimcell, dimcell, dimcell)),
  thickness=0,
  material='spheres')
wallIds = O.bodies.append(walls)
sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(), Ig2_Box_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(
useIncrementalForm=True,
always_use_moment_law=True),
 Law2_ScGeom_FrictPhys_CundallStrack()]),
TriaxialStressController(
goal1=sigmaIso,
goal2=sigmaIso,
goal3=sigmaIso,
thickness=0,
stressMask=7,
max_vel=0.05,
internalCompaction = False,
label='triax',
),
FlowEngine(dead=True,
   label="flow",
   ),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()',
 iterPeriod=500,
 label='plotter',
 dead=True),
PyRunner(command='testHook()',
 iterPeriod=10,
 label='test_hook',
 dead=False),
PyRunner(command='triaxFinished()',
 iterPeriod=10,
 label='triax_finished',
 dead=True),
VTKRecorder(fileName=vtk_dir+'3d-vtk-',
recorders=vtk_recorders,
iterPeriod=vtk_iter,
dead=not vtk_output)
]

O.dt = 0.1 * PWaveTimeStep()
print('time step',O.dt)

def triaxDone():
u=utils.porosity()
ev=u/(1-u)
frictionAngle = radians(30)
while ev > targetVoid:
frictionAngle *= 0.99
setContactFriction(frictionAngle)
O.run(3000, True)
u=utils.porosity()
ev=u/(1-u)
print ("Iteration: ", O.iter, "\tFriction angle: ", 
frictionAngle,"\tVoid:",ev)


def addPlotData():
plot.addData(
i=O.iter,
Ezz=-triax.strain[2],
Eyy=triax.strain[1],
Exx=triax.strain[0],
e=utils.porosity()/(1-utils.porosity()),
q=abs(utils.getStress()[2,2]-utils.getStress()[0,0]),
V=triax.volumetricStrain,
p=flow.getPorePressure((0.0015,0.0015,0.0015)),
t=O.time,
)


def testHook():
if abs(sigmaIso)*0.99 <= abs(triax.meanStress) <= abs(sigmaIso)*1.01:
O.pause()
test_hook.dead = True
print("FIRST STAGE DONE")

def Deviatoric():
flow.dead = False
#flow.defTolerance = 0.8
flow.meshUpdateInterval = 800
#flow.useSolver = 3
flow.permeabilityFactor = 1
flow.viscosity = 0.00298
flow.bndCondIsPressure = [0, 0, 0, 0, 0, 0]
flow.fluidBulkModulus=0.1  

#flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),10.001)
flow.bndCondValue = [0, 0, 0, 0, 0, 0]
flow.boundaryUseMaxMin = [0, 0, 0, 0, 0, 0]


#flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),100.001)
triax.wall_bottom_activated = True
triax.wall_top_activated = True
triax.wall_back_activated = True
triax.wall_front_activated = True
triax.wall_left_activated = True
triax.wall_right_activated 

[Yade-users] [Question #706740]: Excess pore-water pressure in triaxial test

2023-05-21 Thread Fedor
New question #706740 on Yade:
https://answers.launchpad.net/yade/+question/706740

Dear All,

The modelling pore-water pressure evolution during undrained triaxial 
compression tests was a complete fiasco.  I used p=flow.getPorePressure and 
when i plotted relation p vs axial deformation I did not see  a result of 
increase in the excess pore pressure volume. There is my script. I do 
appreciate help. 

from __future__ import print_function

import time
import datetime
import os

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

# VTK RECORDER PARAMS
vtk_output = True
vtk_iter = 100
vtk_dir = 'vtk_output'
vtk_recorders = ['all']
if vtk_output == True:
vtk_dir += '/' + datetime.datetime.now().strftime("%Y-%m-%d_%H.%M.%S") + '/'
if not os.path.exists(vtk_dir):
os.makedirs(vtk_dir)


#FIXED PARAMETERS
k=3E7
poisson=0.2
R=1e-4
dimcell = 0.002
density= 1e12
sigmaIso=-1e5
young=np.abs(k*sigmaIso*R*2)
targetVoid=0.7
frictionAngle=radians(30)
alphaKr=2
alphaKtw=2
etaRoll=.15

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


sp = pack.SpherePack()


diameter=[0.75,0.000106,0.00015,0.00025,0.00030,0.000425,0.000850]

part=[0.0037,0.0263,0.1319,0.7136,0.8681,0.9939,1]


sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), 
psdSizes=diameter,psdCumm=part,distributeMass=True,seed=1)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=radians(30),
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=etaRoll,label='spheres'
))


walls = aabbWalls(((0, 0, 0), (dimcell, dimcell, dimcell)),
  thickness=0,
  material='spheres')
wallIds = O.bodies.append(walls)
sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Box_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D(), Ig2_Box_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(
useIncrementalForm=True,
always_use_moment_law=True),
 Law2_ScGeom_FrictPhys_CundallStrack()]),
TriaxialStressController(
goal1=sigmaIso,
goal2=sigmaIso,
goal3=sigmaIso,
thickness=0,
stressMask=7,
max_vel=0.05,
internalCompaction = False,
label='triax',
),
FlowEngine(dead=True,
   label="flow",
   ),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()',
 iterPeriod=500,
 label='plotter',
 dead=True),
PyRunner(command='testHook()',
 iterPeriod=10,
 label='test_hook',
 dead=False),
PyRunner(command='triaxFinished()',
 iterPeriod=10,
 label='triax_finished',
 dead=True),
VTKRecorder(fileName=vtk_dir+'3d-vtk-',
recorders=vtk_recorders,
iterPeriod=vtk_iter,
dead=not vtk_output)
]

O.dt = 0.1 * PWaveTimeStep()
print('time step',O.dt)

def triaxDone():
u=utils.porosity()
ev=u/(1-u)
frictionAngle = radians(30)
while ev > targetVoid:
frictionAngle *= 0.99
setContactFriction(frictionAngle)
O.run(3000, True)
u=utils.porosity()
ev=u/(1-u)
print ("Iteration: ", O.iter, "\tFriction angle: ", 
frictionAngle,"\tVoid:",ev)


def addPlotData():
plot.addData(
i=O.iter,
Ezz=-triax.strain[2],
Eyy=triax.strain[1],
Exx=triax.strain[0],
e=utils.porosity()/(1-utils.porosity()),
q=abs(utils.getStress()[2,2]-utils.getStress()[0,0]),
V=triax.volumetricStrain,
p=flow.getPorePressure((0.0015,0.0015,0.0015)),
t=O.time,
)


def testHook():
if abs(sigmaIso)*0.99 <= abs(triax.meanStress) <= abs(sigmaIso)*1.01:
O.pause()
test_hook.dead = True
print("FIRST STAGE DONE")

def Deviatoric():
flow.dead = False
#flow.defTolerance = 0.8
flow.meshUpdateInterval = 800
#flow.useSolver = 3
flow.permeabilityFactor = 1
flow.viscosity = 0.00298
flow.bndCondIsPressure = [0, 0, 0, 0, 0, 0]
flow.fluidBulkModulus=0.1  

#flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),10.001)
flow.bndCondValue = [0, 0, 0, 0, 0, 0]
flow.boundaryUseMaxMin = [0, 0, 0, 0, 0, 0]


#flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),100.001)
triax.wall_bottom_activated = True
triax.wall_top_activated = True
triax.wall_back_activated = True
triax.wall_front_activated = True
triax.wall_left_activated = True
triax.wall_right_activated = True
triax.stressMask = 3
triax.goal1 = sigmaIso
triax.goal2 = sigmaIso
triax.goal3 = -0.0001
triax.max_vel=0.000

Re: [Yade-users] [Question #703055]: imposible to reach specific porosity

2022-09-07 Thread Fedor
Question #703055 on Yade changed:
https://answers.launchpad.net/yade/+question/703055

Status: Open => Solved

Fedor confirmed that the question is solved:
Many thanks. Solved

-- 
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 #702972]: porosity control

2022-09-05 Thread Fedor
Question #702972 on Yade changed:
https://answers.launchpad.net/yade/+question/702972

Status: Open => Solved

Fedor confirmed that the question is solved:
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] [Question #703055]: imposible to reach specific porosity

2022-09-05 Thread Fedor
New question #703055 on Yade:
https://answers.launchpad.net/yade/+question/703055

Hello, 
I cannot reach the target porosity. The script based on periodical triaxial 
test tutorial example. After isotropic stage finished, the simulation stopped 
as well so that the porosity condition could not be satisfied. Maybe I am wrong 
with O.run command. Could you please help me?

from __future__ import print_function

import time
import datetime
import os

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


#FIXED PARAMETERS

poisson=0.2
R=1e-3 
rate=1e-2
dimcell = 0.03
density= 1e9
young=1e9
frictionAngle=radians(30)
targetPorosity=0.43

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



sp = pack.SpherePack()
sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), rMean=R, rRelFuzz=.1, 
periodic=True)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=frictionAngle,
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=.1,label='spheres'
))


sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(
   ),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D()], 
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)]),
PeriTriaxController(goal=(-1e4,-1e4,-1e4),
relStressTol=1e-3,
stressMask=7, 
maxStrainRate=(rate, rate, rate), 
dynCell=True,
maxUnbalanced=.1, 
label='triax', 
doneHook = 'triaxDone()'
),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()', iterPeriod=500),
]

O.dt = .5 * PWaveTimeStep()
print('time step',O.dt)



def triaxDone():
frictionAngle=radians(30)
while utils.porosity>targetPorosity:
frictionAngle = 0.7*frictionAngle
setContactFriction(frictionAngle)
print (frictionAngle," porosity:",utils.porosity())
O.run(50,1)

def addPlotData():
plot.addData(
i=O.iter,
Ezz=log(O.cell.trsf[2,2]),
Eyy=log(O.cell.trsf[1,1]),
Exx=log(O.cell.trsf[0,0]),
szz=utils.getStress()[2,2],
syy=utils.getStress()[1,1],
sxx=utils.getStress()[0,0],
u=utils.porosity()
)






# define what to plot
plot.plots = {
'i ': ('sxx', 'syy', 'szz'),
' i': ('Exx', 'Eyy', 'Ezz'),
' i ':('u')
# energy plot

}
# show the plot
plot.plot()




   







-- 
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 #702972]: porosity control

2022-09-01 Thread Fedor
Question #702972 on Yade changed:
https://answers.launchpad.net/yade/+question/702972

Fedor gave more information on the question:
Hello, 
I double check everything, I applied stress but I cannot compress specimen. I 
need 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 #702972]: porosity control

2022-08-30 Thread Fedor
Question #702972 on Yade changed:
https://answers.launchpad.net/yade/+question/702972

Fedor gave more information on the question:
Hello,
thank you very much for clarification. But the problem with zero strains and 
stress has not solved. I put preliminar iteration but I could not reach a 
confined state (-1e4). 


from __future__ import print_function

import time
import datetime
import os

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


#FIXED PARAMETERS

poisson=0.2
R=1e-3 
rate=1e-4
dimcell = 0.03
density= 1e9
young=1e9
frictionAngle=radians(30)
targetPorosity=0.43

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


sp = pack.SpherePack()
sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), rMean=R, rRelFuzz=.1, 
periodic=True)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=frictionAngle,
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=.1,label='spheres'
))


sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(
   ),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D()], 
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)]),
TriaxialStressController(
stressMask = 7,label='triax'),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()', iterPeriod=500),
]

O.dt = .5 * PWaveTimeStep()
print('time step',O.dt)

triax.goal1=triax.goal2=triax.goal3=-1


def addPlotData():
plot.addData(
i=O.iter,
Ezz=log(O.cell.trsf[2,2]),
Eyy=log(O.cell.trsf[1,1]),
Exx=log(O.cell.trsf[0,0]),
szz=utils.getStress()[2,2],
syy=utils.getStress()[1,1],
sxx=utils.getStress()[0,0],
u=utils.porosity()
)


while 1:
O.run(100, 1)
print(getStress().trace() / 3.)   
if getStress().trace() / 3.<-1:
break

triax.goal1=triax.goal2=triax.goal3=-4
while triax.porosity>targetPorosity:
frictionAngle = 0.95*frictionAngle
setContactFriction(radians(30))
print (frictionAngle," porosity:",triax.porosity)
O.run(500,0)



# define what to plot
plot.plots = {
'i ': ('sxx', 'syy', 'szz'),
' i': ('Exx', 'Eyy', 'Ezz'),
' i ':('u')
# energy plot

}
# show the plot
plot.plot()

-- 
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 #702972]: porosity control

2022-08-30 Thread Fedor
Question #702972 on Yade changed:
https://answers.launchpad.net/yade/+question/702972

Status: Answered => Open

Fedor is still having a problem:
Hello,
thank you for reply. But when I put some iterations there is another issue File 
"", line 1, in 
NameError: name 'addPlotData' is not defined
Please look at my script below
##
from __future__ import print_function

import time
import datetime
import os

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


#FIXED PARAMETERS

poisson=0.2
R=1e-3 
rate=1e-4
dimcell = 0.03
density= 1e5
young=1e9
frictionAngle=radians(30)
targetPorosity=0.43

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


sp = pack.SpherePack()
sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), rMean=R, rRelFuzz=.1, 
periodic=True)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=frictionAngle,
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=.1,label='spheres'
))


sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(
   ),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D()], 
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)]),
TriaxialStressController(
stressMask = 7,label='triax'),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()', iterPeriod=500),
]

O.dt = .5 * PWaveTimeStep()
print('time step',O.dt)

triax.goal1=triax.goal2=triax.goal3=-1

while 1:
  O.run(1000, 1)
  unb=unbalancedForce()
  if abs(1-getStress().trace() / 3.)/1<0.1:
O.cell.velGrad=Matrix3(0,0,0,0,0,0,0,0,0)
break

triax.goal1=triax.goal2=triax.goal3=-4
while triax.porosity>targetPorosity:
frictionAngle = 0.95*frictionAngle
setContactFriction(radians(30))
print (frictionAngle," porosity:",triax.porosity)
O.run(500,1)

def addPlotData():
plot.addData(
i=O.iter,
Ezz=log(O.cell.trsf[2,2]),
Eyy=log(O.cell.trsf[1,1]),
Exx=log(O.cell.trsf[0,0]),
szz=utils.getStress()[2,2],
syy=utils.getStress()[1,1],
sxx=utils.getStress()[0,0],
u=utils.porosity()
)

# define what to plot
plot.plots = {
'i ': ('sxx', 'syy', 'szz'),
' i': ('Exx', 'Eyy', 'Ezz'),
' i ':('u')
# energy plot

}
# show the plot
plot.plot()

-- 
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 #702972]: porosity control

2022-08-29 Thread Fedor
New question #702972 on Yade:
https://answers.launchpad.net/yade/+question/702972

Hello, dear Team. For controlling porosity (0.43), I maintained a constant 
stress (-4e4) and decrease friction progressively based on recommendation I 
found here (stress-free packing asked by Sergei Dorofeenko on 2011-04-16). I 
tried to modify script from tutorial examples (periodic triax). The thing is 
that strains and stress are zero during simulation. Could you please help me?

from __future__ import print_function

import time
import datetime
import os

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


#FIXED PARAMETERS

poisson=0.2
R=1e-3 
rate=1e-4
dimcell = 0.03
density= 1e5
young=1e9
frictionAngle=radians(30)
targetPorosity=0.43

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



sp = pack.SpherePack()
sp.makeCloud((0, 0, 0), (dimcell, dimcell, dimcell), rMean=R, rRelFuzz=.1, 
periodic=True)


pp = O.materials.append(CohFrictMat(
young=young,
poisson=poisson,
frictionAngle=frictionAngle,
density=density,
isCohesive=False,
momentRotationLaw=True,
etaRoll=.1,label='spheres'
))


sp.toSimulation(material='spheres')

O.engines = [
ForceResetter(
   ),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D()], 
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys()],[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)]),
TriaxialStressController(
stressMask = 7,label='triax'),
NewtonIntegrator(damping=.2),
PyRunner(command='addPlotData()', iterPeriod=500),
]

O.dt = .5 * PWaveTimeStep()
print('time step',O.dt)

triax.goal1=triax.goal2=triax.goal3=-4

while triax.porosity>targetPorosity:
frictionAngle = 0.95*frictionAngle
setContactFriction(radians(30))
print (frictionAngle," porosity:",triax.porosity)
O.run(500,1)



def addPlotData():
plot.addData(
i=O.iter,
Ezz=log(O.cell.trsf[2,2]),
Eyy=log(O.cell.trsf[1,1]),
Exx=log(O.cell.trsf[0,0]),
szz=utils.getStress()[2,2],
syy=utils.getStress()[1,1],
sxx=utils.getStress()[0,0],
u=utils.porosity()
)

# define what to plot
plot.plots = {
'i ': ('sxx', 'syy', 'szz'),
' i': ('Exx', 'Eyy', 'Ezz'),
' i ':('u')
# energy plot

}
# show the plot
plot.plot()

-- 
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 #699605]: orthogonal packing

2021-11-24 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Fedor 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 #699605]: orthogonal packing

2021-11-23 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Status: Answered => Solved

Fedor confirmed that the question is solved:
Thank you for your clarifications.

-- 
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 #699605]: orthogonal packing

2021-11-23 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Status: Answered => Open

Fedor is still having a problem:
Thank you very much, but whether I use makeCloud packing, can I avoid the 
particles intersections or not? 
Big thanks once again for your previous elaborate reply 

Sent from my iPhone

> On 24 Nov 2021, at 02:25, Jan Stránský  
> wrote:
> 
> Your question #699605 on Yade changed:
> https://answers.launchpad.net/yade/+question/699605
> 
>Status: Open => Answered
> 
> Jan Stránský proposed the following answer:
>> but I thought that orthogonal packing would have turned into hexagonal
> packing
> 
> it remains orthogonal.
> Under the loading conditions, the packing seems to be stable like that.
> 
>>  But now I realized that change of porosity occurs thank to
> intersection (overlapping) particles. Does my suggestion make sense?
> 
> yes.
> (There have been some discussions about interpretation of such results and 
> that porosity computed in this way may not have physical meaning, but it is 
> another topic)
> 
>>  But in the real soil porosity changes due to particles compaction not
> intersection.
> 
> yes, a more realistic packing should behave like that
> 
>> But again when I started working with initial script I obtained good
> relation pressure/porosity
> 
> what is "initial script"? The one you linked?
> If so, there is hexagonal packing. As the periodic cell is cubic, the space 
> is not fully filled and the spheres have some freedom to move, unlike in the 
> case of the orthogonal packing.
> 
>>  but when I added E , I was confused.
> 
> E is of course present (although it is hidden) also in the original
> script, with the default value 1e7.
> 
> Cheers
> Jan
> 
> -- 
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/699605/+confirm?answer_id=8
> 
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/699605
> 
> You received this question notification because you asked the 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 #699605]: orthogonal packing

2021-11-23 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Status: Answered => Open

Fedor is still having a problem:
Thank you very much , but I thought  that orthogonal packing ( max porosity) 
would have turned into hexagonal packing ( min porosity) during compression and 
the porosity would decrease. But now I realized that change of porosity occurs 
thank to intersection (overlapping) particles. Does my suggestion make sense?
But in the real soil porosity changes due to particles compaction not 
intersection. 
But again when I started working with initial script I obtained good relation 
pressure/porosity but when I added E , I was confused. 


Sent from my iPhone

> On 24 Nov 2021, at 01:41, Jan Stránský  
> wrote:
> 
> Your question #699605 on Yade changed:
> https://answers.launchpad.net/yade/+question/699605
> 
>Status: Open => Answered
> 
> Jan Stránský proposed the following answer:
>>  porrr=utils.voxelPorosity(200,(0.75,0.75,0.75),(1.25,1.25,1.25))
> 
> The problem here is voxelPorosity and its parameters.
> resolution=200 might be too little, you can try higher values.
> 
> More importantly, you are using some random region for evaluation, porosity 
> computed there has (or at least may have) no relation to the true total 
> porosity. Randomly omitting / adding some border parts of spheres influence 
> significantly the result.
> You can play with shifting the region.
> 
> If I use an analytical formula
> ###
> def porosity():
>volTot = O.cell.volume
>r = 0.09
>volSphs = len(O.bodies) * 4/3. * pi * r**3
>ds = [2*r - i.geom.penetrationDepth for i in O.interactions]
># https://mathworld.wolfram.com/Sphere-SphereIntersection.html
>volContactss = [1/12.*pi*(4*r+d)*(2*r-d)**2 for d in ds]
>volContacts = sum(volContactss)
>volSolid = volSphs - volContacts
>volVoid = volTot - volSolid
>return volVoid / volTot
> ###
> I get consistent results:
> 0.47577 (isotropic pressure -1e5)
> 0.47326 (isotropic pressure -5e5)
> 0.47202 (isotropic pressure -7e5)
> 
> Cheers
> Jan
> 
> -- 
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/yade/+question/699605/+confirm?answer_id=6
> 
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/yade/+question/699605
> 
> You received this question notification because you asked the 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 #699605]: orthogonal packing

2021-11-23 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Status: Needs information => Open

Fedor gave more information on the question:
I expected that when compression is increasing the porosity tends to
decrease. But in my case when i increase the Isotropic value - the
porosity also increases. In the initial script when you increase
pressure  the porosity decreases. But when I added the parameter of
young module in the O.materials.append it showed the wrong tendency I
mentioned before

Sent from my iPhone

> On 24 Nov 2021, at 00:20, Jan Stránský  
> wrote:
> 
> Your question #699605 on Yade changed:
> https://answers.launchpad.net/yade/+question/699605
> 
>Status: Open => Needs information
> 
> Jan Stránský requested more information:
> Thanks for clarification.
> 
> What does "inadequate" mean here in the relation of porosity vs. young?
> What is expected behavior?
> 
> Cheers
> Jan
> 
> -- 
> To answer this request for more information, you can either reply to
> this email or enter your reply at the following page:
> https://answers.launchpad.net/yade/+question/699605
> 
> You received this question notification because you asked the 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 #699605]: orthogonal packing

2021-11-23 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Status: Needs information => Open

Fedor gave more information on the question:
This file is called *04-periodic-simple-shear.py*
<https://gitlab.com/yade-dev/trunk/-/blob/990dda83e2558b7d244f52476f07742ce6b44176/doc/sphinx/tutorial/04-periodic-simple-shear.py>.
The link is
https://gitlab.com/yade-dev/trunk/-/blob/990dda83e2558b7d244f52476f07742ce6b44176/doc/sphinx/tutorial/04-periodic-simple-shear.py

For module 5e7 the porosity
equals 0,39 (isotropic pressure -1e5)
equals 0,44 (isotropic pressure -5e5)
equals 0,43 (isotropic pressure -7e5)

Thank you for your help




On Tue, Nov 23, 2021 at 9:15 PM Jan Stránský <
question699...@answers.launchpad.net> wrote:

> Your question #699605 on Yade changed:
> https://answers.launchpad.net/yade/+question/699605
>
> Status: Open => Needs information
>
> Jan Stránský requested more information:
> > I used the existing script
>
> what is "the existing script"? Do you have any reference (e.g. a
> tutorial script for this and that page)?
>
> > but when I vary module the porosity changes inadequate.
>
> What does "vary" mean?
> What does "inadequate" mean?
> Please be (much) more specific. E.g. for this young I get this porosity,
> for that young I get that porosity...
>
> Cheers
> Jan
>
> --
> To answer this request for more information, you can either reply to
> this email or enter your reply at the following page:
> https://answers.launchpad.net/yade/+question/699605
>
> You received this question notification because you asked the 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 #699605]: orthogonal packing

2021-11-23 Thread Fedor
Question #699605 on Yade changed:
https://answers.launchpad.net/yade/+question/699605

Status: Needs information => Open

Fedor gave more information on the question:
Thank you for notes. My apologies

I want to use orthogonal packing and investigate how to change porosity vs 
isotropic pressure with diffrent values of young modulus.  
I used the existing script and added young modulus, but when I vary module the 
porosity changes inadequate. There is the script.
from __future__ import print_function
O.periodic = True
O.cell.hSize = Matrix3(2, 0, 0, 0, 2, 0, 0, 0, 2)

from yade import pack, plot
sigmaIso = -7e5
young=5e8
poisson=0.2
frictionAngle=0

# the "if 0:" block will be never executed, therefore the "else:" block will be
# to use cloud instead of regular packing, change to "if 1:" or something 
similar

# in this case, add dense packing
pp=O.materials.append(FrictMat(young=young,poisson=poisson,frictionAngle=frictionAngle))
O.bodies.append(pack.regularOrtho(pack.inAlignedBox((0, 0, 0), (2, 2, 2)), 
radius=.09, gap=0, color=(0, 0, 1), material=pp))
#O.bodies.append(pack.regularHexa(pack.inAlignedBox((0, 0, 0), (2, 2, 
2)), radius=.09, gap=0, color=(0, 0, 1)))

# create "dense" packing by setting friction to zero initially
#O.materials[0].frictionAngle = 0

# simulation loop (will be run at every step)
O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
# interaction loop
[Ig2_Sphere_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
NewtonIntegrator(damping=.4),
# run checkStress function (defined below) every second
# the label is arbitrary, and is used later to refer to this engine
PyRunner(command='checkStress()', realPeriod=1, label='checker'),
# record data for plotting every 100 steps; addData function is defined 
below
PyRunner(command='addData()', iterPeriod=100),
PeriTriaxController(
label='triax',
# specify target values and whether they are strains or stresses
goal=(sigmaIso, sigmaIso, sigmaIso),
stressMask=7,
# type of servo-control
dynCell=True,
maxStrainRate=(10, 10, 10),
# wait until the unbalanced force goes below this value
maxUnbalanced=5,
relStressTol=1e-3,
# call this function when goal is reached and the packing is 
stable
doneHook='compactionFinished()'
),
]

# set the integration timestep to be 1/2 of the "critical" timestep
O.dt = .5 * PWaveTimeStep()

# prescribe isotropic normal deformation (constant strain rate)
# of the periodic cell
O.cell.velGrad = Matrix3(0, 0, 0, 0, -.1, 0, 0, 0, 0)

# when to stop the isotropic compression (used inside checkStress)
limitMeanStress = -5e5


# called every second by the PyRunner engine
def checkStress():
# stress tensor as the sum of normal and shear contributions
# Matrix3.Zero is the intial value for sum(...)
stress = getStress().trace() / 3.
print('mean stress', stress)
porrr=utils.voxelPorosity(200,(0.75,0.75,0.75),(1.25,1.25,1.25))
#porrr=utils.aabbExtrema(0, False)
print('porosity', porrr)



# called from the 'checker' engine periodically, during the shear phase


# called periodically to store data history
def addData():
# get the stress tensor (as 3x3 matrix)
stress = sum(normalShearStressTensors(), Matrix3.Zero)
# give names to values we are interested in and save them
plot.addData(exz=O.cell.trsf[0, 2], szz=stress[2, 2], sxz=stress[0, 2], 
tanPhi=(stress[0, 2] / stress[2, 2]) if stress[2, 2] != 0 else 0, i=O.iter, 
porrr=utils.voxelPorosity(200,(0.75,0.75,0.75),(1.25,1.25,1.25)), stress = 
getStress().trace() / 3.)
# color particles based on rotation amount
for b in O.bodies:
# rot() gives rotation vector between reference and current 
position
b.shape.color = scalarOnColorScale(b.state.rot().norm(), 0, pi 
/ 2.)


# define what to plot (3 plots in total)
## exz(i), [left y axis, separate by None:] szz(i), sxz(i)
## szz(exz), sxz(exz)
## tanPhi(i)
# note the space in 'i ' so that it does not overwrite the 'i' entry
plot.plots = { 'i ': ('stress',), 'stress':('porrr')}

# better show rotation of particles
Gl1_Sphere.stripes = True

# open the plot on the screen
plot.plot()

O.saveTmp()

def compactionFinished():
# set the current cell configuration to be the reference one
O.cell.trsf = Matrix3.Identity
# change contr

[Yade-users] [Question #699605]: orthogonal packing

2021-11-23 Thread Fedor
New question #699605 on Yade:
https://answers.launchpad.net/yade/+question/699605

Hello! I try to use regular packing in the isotropic pressure during triaxial 
test but how to consider the young modulus in this test? I want to check how 
prosity will be changed during isopropic compression with orthogonal packing.  
But when we use cloud packing this parametr affects on result. 

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