Re: [Yade-users] [Question #700596]: negative volume for an ordinary pore (temp warning, should still be safe)

2022-02-12 Thread Ziyu Wang
Question #700596 on Yade changed:
https://answers.launchpad.net/yade/+question/700596

Status: Answered => Solved

Ziyu Wang confirmed that the question is solved:
Thanks Robert,that solved my problem.

-- 
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 #700596]: negative volume for an ordinary pore (temp warning, should still be safe)

2022-02-12 Thread Robert Caulk
Question #700596 on Yade changed:
https://answers.launchpad.net/yade/+question/700596

Robert Caulk posted a new comment:
>>By the way,should this prompt be regarded as a warning or an error?In
other words, will this prompt cause my simulation to run incorrectly
(because my script didn't stop running).

Warning, as indicated in the message itself. More details about how and
why and where it is occurring can be found in the [2] that you link to.
You can decide for yourself if it is ok or not - it depends entirely on
your simulation.

-- 
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 #700596]: negative volume for an ordinary pore (temp warning, should still be safe)

2022-02-12 Thread Robert Caulk
Question #700596 on Yade changed:
https://answers.launchpad.net/yade/+question/700596

Status: Open => Answered

Robert Caulk proposed the following answer:
Hello,

>>In [1],the solution is to use DFNFlowEngine instead of FlowEngine.In
[2],the solution is to reduce the time step.

No. In [1] the person wants to do hydraulic fracturing, so he needs to
use DFNFlowEngine.

So stick to [2] unless you are also interested in modeling hydraulic
fractures.

-rc

-- 
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 #700596]: negative volume for an ordinary pore (temp warning, should still be safe)

2022-02-11 Thread Ziyu Wang
New question #700596 on Yade:
https://answers.launchpad.net/yade/+question/700596

Hello,
When I run my script,the prompt as shown in the title appears.
Actually,I search the forum and found [1] [2].But I see different solutions in 
these two links, which makes me very confused.
In [1],the solution is to use DFNFlowEngine instead of FlowEngine.In [2],the 
solution is to reduce the time step.
These are obviously two completely different solutions, and I don't know which 
one applies to me.
Following is my script:
-
from yade import pack, ymport, plot, utils, export, timing
from builtins import range 
import numpy as np
#from __future__ import print_function
import sys

rate=-0.01
damp=0.4
stabilityThreshold=0.001
key='_triax_base_'
young=20e9
name='JCFPM_triax'
#targetPorosity=0.43
compFricDegree=30
poisson=0.1

mn,mx=Vector3(0,0,0),Vector3(0.05,0.05,0.05)
O.materials.append(JCFpmMat(type=1,density=2640,young=young,poisson=poisson,tensileStrength=15e6,cohesion=30e6,frictionAngle=radians(60),label='sphere'))
O.materials.append(JCFpmMat(type=1,frictionAngle=0,density=0,label='wall'))

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

O.bodies.append(ymport.text('packing-JCFPM.spheres',scale=1,shift=Vector3(0,0,0),material='sphere',color=(0.6,0.5,0.15)))

triax=TriaxialStressController(
maxMultiplier=1.+4e8/young, 
finalMaxMultiplier=1.+4e7/young, 
thickness = 0,
stressMask = 7,
internalCompaction=True, 
)
newton=NewtonIntegrator(damping=damp)
O.timingEnabled=True


def recorder():
yade.plot.addData(
i=O.iter,
e11=-triax.strain[0],e22=-triax.strain[1],e33=-triax.strain[2],
s11=-triax.stress(triax.wall_right_id)[0],#0+边界id为right
s22=-triax.stress(triax.wall_top_id)[1],#1+边界id为top
s33=-triax.stress(triax.wall_front_id)[2],#2+边界id为front
P=triax.porosity,
#meanS=-triax.meanStress[2]
ev=triax.volumetricStrain,
numberTc=interactionLaw.nbTensCracks,
numberSc=interactionLaw.nbShearCracks,
unb=unbalancedForce()
)
plot.saveDataTxt('triax_JCFPM_HM_Wy=10.0Mpa,Sy=2.0MPa')

def stop_condition():
if abs(triax.strain[2]) > 0.01:
O.pause()
presentcohesive_count = 0
for i in O.interactions:
if hasattr(i.phys, 'isCohesive'):
if i.phys.isCohesive == 1:
presentcohesive_count+=1
print('the number of cohesive bond now 
is:',presentcohesive_count)

O.engines=[
ForceResetter(),

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.3,label='is2aabb'),Bo1_Box_Aabb()]),
InteractionLoop(

[Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=1.3,label='ss2sc'),Ig2_Box_Sphere_ScGeom()],
[Ip2_JCFpmMat_JCFpmMat_JCFpmPhys()],

[Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM(recordCracks=True,Key='triax_JCFPM_HM',label='interactionLaw')]
),

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
triax,
#TriaxialStateRecorder(iterPeriod=100,file='WallStresses'+key),
FlowEngine(dead=1,label='flow'),

PyRunner(iterPeriod=int(1000),initRun=True,command='recorder()',label='data',dead=0),
PyRunner(iterPeriod=1000,command='stop_condition()',dead=0),
newton,
]

O.step()
ss2sc.interactionDetectionFactor=-1
is2aabb.aabbEnlargeFactor=-1

triax.goal1=triax.goal2=triax.goal3=-10e6
yade.timing.reset()
while 1:
O.run(1000,1)
unb=unbalancedForce()
print('unbalanced force:',unb,'mean stres:',triax.meanStress)
if unbhttps://answers.launchpad.net/yade/+question/690716
[2]https://answers.launchpad.net/yade/+question/670765

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