Hi all,

I am struggling to fully understand the syntax for volume loading (`VOLU`

) in Sofiplus. Despite multiple readings of Chapter 3.20 “VOLU - Volume Loading” in the Sofiplus manual, the syntax, particularly Figure 3.11, eludes me.

Could someone please explain how the syntax should be interpreted? I am especially confused about applying volume loads in the context of soil and water pressures.

I have created a small example model to illustrate my problem. So far, I have successfully applied volume loading for water pressure using the `p`

, `z`

, and `p1`

parameters. However, applying the same logic to soil pressure, especially with sloping retaining walls, has proven challenging.

**Model description**

Side 1 and 2 have dry soil covering their entire surfaces. Side 3 and 4 also have soil covering their entire surface, but have a water table at z = 7.

Dry soil density is 20kN/m3 while the effective soil density is 10kN/m2

- P = 0 at the top, and increases by 20kN/m2 downwards.
- P = 0 at coordinates (0, 0, 0) and (0, 10, 5), while increasing by 20kN/m2 downwards
- P = 0 at coordinates (0, 10, 5) and (10, 10, 10) while increasing by 20kN/m2 down to z = 7. from z = 7, it should increase by 10 kN/m2 instead
- P = 0 at the top increasing by 20kN/m2 down to z = 7. from z = 7, it should increase by 10 kN/m2 instead

So I guess it comes down to the two questions:

- Is it possible to at VOLU loading on a slope?
- What is the best way to change soil density along a line?

Please find the example model here:

```
+prog aqua urs:1 $ materials
head
NORM dc ds en199x-200x
UNIT 5
CONC no 1 c 40 ec 17500 gam 25
STEE no 2 type 'b' fy 500
CONC no 3 c 40 ec 20000 gam 25
end
+prog sofimshc urs:2 $ geometry
head
syst 3d gdiv 10000 gdir negz
ctrl opt mesh val 1
spt no 1 x 0 y 0 z 0
spt no 2 x 10 y 0 z 0
spt no 3 x 0 y 10 z 0
spt no 4 x 10 y 10 z 0
spt no 5 x 0 y 0 z 10
spt no 6 x 10 y 0 z 10
spt no 7 x 0 y 10 z 5
spt no 8 x 10 y 10 z 10
sar no 1 t 100 grp 1
sarb type out na 1 ne 2
sarb type out na 2 ne 6
sarb type out na 6 ne 5
sarb type out na 5 ne 1
sar no 2 t 100 grp 2
sarb type out na 1 ne 5
sarb type out na 5 ne 7
sarb type out na 7 ne 3
sarb type out na 3 ne 1
sar no 3 t 100 grp 3
sarb type out na 3 ne 4
sarb type out na 4 ne 8
sarb type out na 8 ne 7
sarb type out na 7 ne 3
sar no 4 t 100 grp 4
sarb type out na 4 ne 2
sarb type out na 2 ne 6
sarb type out na 6 ne 8
sarb type out na 8 ne 4
end
+prog sofiload urs:3 $ volu loading
head
lc 1 type 'none' titl 'Soil load 1'
volu ref 'qgrp' no 1 type 'pz' p 0 z 10 p1 -20
lc 2 type 'none' titl 'Soil load 2'
volu ref 'qgrp' no 2 type 'pz' p 0 z 10 p1 -20
lc 3 type 'none' titl 'Effective Soil load 1'
volu ref 'qgrp' no 3 type 'pz' p 0 z 10 p1 -20
volu ref 'qgrp' no 3 type 'pz' p 0 z 7 p1 10
lc 4 type 'none' titl 'Effective Soil load 1'
volu ref 'qgrp' no 4 type 'pz' p 0 z 10 p1 -20
volu ref 'qgrp' no 4 type 'pz' p 0 z 7 p1 10
end
```

**Additional info**

I have already contacted Sofistik support on a related question.

However, I believe a public discussion might be beneficial for many users dealing with similar issues.

Thank you in advance for any insights or suggestions.