Applying Time-Varying Non-Uniform Surface Pressure in FLAC3D

Hello everyone and Itasca support team, @itascaYang @isaac @itsmoho_sen @ITE @Inwoo @Inu @itmam @itasca @dafo407_itasca @dblanksma

I am trying to apply a time-varying non-uniform distributed pressure on a surface in FLAC3D and would appreciate some guidance on the best way to implement it. I want to clarify my loading condition a little more. In my model, I am not using a ramp table. My goal is to directly apply a non-uniform distributed pressure on a surface instantaneously, solve the model for a certain number of steps, and then replace that pressure distribution with a new non-uniform pressure distribution.

For example, assume the loaded surface height is 10 m. Along this height, I have calculated different pressure values at 2 m intervals. For one loading instant, the pressure distribution may be:

z = 0–2 m      pressure = P1

z = 2–4 m      pressure = P2

z = 4–6 m      pressure = P3

z = 6–8 m      pressure = P4

z = 8–10 m     pressure = P5

My current understanding is that I can apply this non-uniform pressure distribution using separate vertical bands:

zone face skin

zone face group ‘LoadedFace’ range group ‘PanelGroup’ position-x … position-y … position-z 0 10

zone face apply stress-normal -P1 range group ‘LoadedFace’ position-z 0 2

zone face apply stress-normal -P2 range group ‘LoadedFace’ position-z 2 4

zone face apply stress-normal -P3 range group ‘LoadedFace’ position-z 4 6

zone face apply stress-normal -P4 range group ‘LoadedFace’ position-z 6 8

zone face apply stress-normal -P5 range group ‘LoadedFace’ position-z 8 10

model step 5000

model solve ratio 1e-4

model save ‘pressure_state_1’

Then, to replace this with a new non-uniform pressure distribution, I would remove the previous pressure and apply the new values:

zone face apply-remove stress-normal range group ‘LoadedFace’

zone face apply stress-normal -Q1 range group ‘LoadedFace’ position-z 0 2

zone face apply stress-normal -Q2 range group ‘LoadedFace’ position-z 2 4

zone face apply stress-normal -Q3 range group ‘LoadedFace’ position-z 4 6

zone face apply stress-normal -Q4 range group ‘LoadedFace’ position-z 6 8

zone face apply stress-normal -Q5 range group ‘LoadedFace’ position-z 8 10

model step 5000

model solve ratio 1e-4

model save ‘pressure_state_2’

My first question is whether this is the correct way to apply an instantaneous non-uniform distributed pressure over a surface using vertical bands.

My second question is related to time-domain loading. I am trying to represent a time-varying pressure distribution. For example, suppose I have non-uniform pressure distributions for 100 seconds. By this, I mean that for each second, I have a different set of pressure values along the height. For example, each second has 5 pressure values:

t = 1 sec:     P1, P2, P3, P4, P5

t = 2 sec:     P1, P2, P3, P4, P5

t = 3 sec:     P1, P2, P3, P4, P5

...

t = 100 sec:   P1, P2, P3, P4, P5

Each second would therefore have a different non-uniform pressure distribution along the surface height.

Writing separate zone face apply commands manually for 100 different pressure distributions would be very tedious. Is there a recommended way to handle this in FLAC3D? For example, should I import the pressure values from an excel or text file or table and use FISH to update the pressure distribution with time?

If anyone has an example of applying a time-varying non-uniform surface pressure from an external file, I would really appreciate the guidance.

Thanks in advance.