← Back to team overview

yade-users team mailing list archive

Re: [Question #689817]: Assessing aperture size while injectin in a joint plane

 

Question #689817 on Yade changed:
https://answers.launchpad.net/yade/+question/689817

    Status: Open => Answered

Luc Scholtès proposed the following answer:
Hi Yousef,

2 ways:

1) record the positions of particles located on each side of the joint
2)record the aperture of the interactions labelled "onJoint" (https://yade-dem.org/doc/yade.wrapper.html?highlight=jointaperture#yade.wrapper.JCFpmPhys.crackJointAperture)

I would suggest option 2) if you use the neverErase=True which keep
track of the interactions during the duration of the simulation. To do
so, you could (this is just one possibility from someone who is not very
good at programming):

1) create a list containing all interactions "onJoint". You can do that
right after the firts timestep byt looping over all interactions,
checking for those which are "onJoint":

intOnFracPlane=[]
for i in O.interactions:
  if i.phys.isOnJoint:
    intOnFracPlane.append(i)

2) record their aperture "periodically " during the simulation with a
dedicated fonction that you would call every n iterations like:

def recordInteractionStatus():
  global intOnFracPlane
  inFile=open('interactions_timePositionsAperturePressure_'+str(O.iter)+'_'+str(round(O.time,3)),'a')
  for i in intOnFracPlane:
    inFile.write( str(i.geom.contactPoint[0]) + '\t' + str(i.geom.contactPoint[1]) + '\t' + str(i.geom.contactPoint[2]) + '\t' + str(i.phys.crackJointAperture) + '\t' + str(flow.getPorePressure((i.geom.contactPoint[0],i.geom.contactPoint[1],i.geom.contactPoint[2]))) + '\n')
  inFile.close()

Doing so, you will get several text files with the information you want
and you'll then be able to map the evolution of the aperture over all
the joint surface.

I guess you could also adapt these lines to get some sort of average
value (probably not meaningful though) or, another option, the aperture
at a given location (e.g., injection point).

Luc

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.