Upscaling particle size in PFC2D

Dear all,

I have tried to make a slope model using particle sizes according to real conditions. However, I never managed to do it because my computer always shuts down when trying to run the model.
Does anyone know how to do upscaling for particles in PFC2D?
I really look forward to an answer from all of you. Thank you in advance.



Dear Syani,
can you please give some more details on the problem that you are trying to model and on the steps that you have taken that lead to your computer to shut down.

What are the dimensions of your slope and the particles? Which contact model are you using?
Which method do you use to create the particles and which one to create the stress field? Which error massage did you receive, if any?

From my understanding “upscaling” is a more general framework involving the increase in size of the particles dimensions that you are using for your computations as your “real” problem might have too many particles to compute.

Within several publications research groups have dealt with that framework (e. g. “scaling of discrete element model parameters for cohesionless and cohesive solid” by Thakur et al, 2015) as this simple increase of the particle sizes has consequences for the results of your computations. As your question is on how to do upscaling in PFC2D - I would answer stating that you should simply apply a factor (>>1) to your ball radius - but I am not sure that this might solve your (possibly) more general slope model- problem.



Dear Mussie,

Thank you very much for your explanation, I really appreciate it.
I’m trying to model an embankment slope consisting of 7 benches with each bench having a height of 10m. The smallest particle size is 0.004mm and the largest particle size is 75mm, I tried to model the ball according to the PSD. I will attach the script that I use below. My computer shuts down when I start running particles without contact, but there is no error message.



model new
model large-strain on

contact cmat default model linear method deform emod 140e6 kratio 1.7 ; ball-facet contact will default to this
contact cmat default type ball-ball model linearpbond method deform emod 140e6 kratio 1.7 ; assign pbond contact mdodel here. Only linear part will be active.

contact cmat default property dp_nratio 0.7

geometry import “base.dxf”
geometry import “slope.dxf”
geometry import “both.dxf”
geometry import “bench 1.dxf”

model domain extent -170 500 -80 150 condition destroy; move domain boundaries closer to destroy balls that are ejected.
[global dmin = 0.001]
wall import from-geometry “both”
wall import from-geometry “base”
wall create vertices -29.9897 56.2319 113.8185 56.2319

;bench 1
fish def granulometry
global exptab = table.create(‘experimental’)
table(exptab,2.3e-3) = 0.043
table(exptab,45e-3) = 0.663
table(exptab,75e-3) = 1.0

model random 10001
ball distribute porosity 0.1 …
number-bins 3 …
bin 1 …
radius [2e-6] [0.5table.x(exptab,1)] …
volume-fraction [table.y(exptab,1)] …
bin 2 …
radius [0.5
table.x(exptab,1)] [0.5table.x(exptab,2)] …
volume-fraction [table.y(exptab,2)-table.y(exptab,1)] …
bin 3 …
radius [0.5
table.x(exptab,2)] [0.5*table.x(exptab,3)] …
volume-fraction [table.y(exptab,3)-table.y(exptab,2)] …
range geometry-space ‘bench 1’ inside
ball attribute density 1833.33 damp 0.7
model cycle 1000 calm 10
model mechanical timestep scale
model solve ratio-average 1e-3
model mechanical timestep auto

wall delete range set name ‘both’
geometry delete

model save ‘bench_1’

Dear Syani,
have you tried using larger particles already?

If I assume a slice of monosized particles of 1 m width and 10 m height this would lead to arround 1811 particles (for the largest particles/ d = 0,075m) but also 63661977 (for the smallest particles / d = 0,000004 m) if you assume a porosity of 0,2 for both cases.

I couldnt reproduce your model as I dont have the .dxf files.

I suggest that you increase the size of the particles drastically just to check wether the number of particles is the cause of the problem (I guess it should be in the order of a few hundred of million particles now). Apart from that the porosity seems quiet low maybe setting it to 0.2 or 0.25 would be better here.

What is the basis of your particle size distribution? A lab test (sieving analysis)? (very often smaller sized particles are being negleted in many computations due to time constraints and their limited amout of contribution to the overall mechanical interactions).