An example of mines formation is considered. There is a total volume of soil, from which volumes are removed in a few steps, simulating the process of formations mines. Gravity affects all volumes.
There will consider 4 volumes for mines, which will be sequentially deleted in 5 calculation steps.
Geometry creating
1. Enter the command at the command line using APREPRO:
#{num = 4}
{num} is a variable for the number of sequentially removed volumes in the mine.
2. Creation of the main soil volume.
On the command panel, select the mode for creating volume geometry (Mode - Geometry, Entity - Volume, Action - Create).
From the list of geometric primitives, select Brick. Set the following parameters:
-
X (Width): {num+1};
-
Y (height): 10;
-
Z (depth): 10.
Click Apply.
3. Cylinder creation.
On the command panel, select the mode for creating volume geometry (Mode - Geometry, Entity - Volume, Action - Create).

From the list of geometric primitives, select Cylinder. Set the following parameters:
-
Height: {num};
-
Circular;
-
Radius: 1.
Click Apply.
4. Rotate the cylinder 90 degrees around the Y axis.
On the command panel, select the mode for creating volume geometry (Mode - Geometry, Entity - Volume, Action - Transform).

From the list select Rotate. Set the following parameters:
-
ID volumes: 2;
-
Angle: 90;
-
Rotate about: Y-axis.
Click Apply.
5. Move the cylinder.
On the command panel, select the mode for creating volume geometry (Mode - Geometry, Entity - Volume, Action - Transform).

From the list select Move. Set the following parameters:
-
ID volumes: 2;
-
Select Method: Distance;
-
X Distance : 0.5.
Click Apply.
6. Subtract the cylinder from the brick.
On the command panel, select the mode for creating volume geometry (Mode - Geometry, Entity - Volume, Action - Boolean).

From the list select Subtract. Set the following parameters:
-
Volume ID (s): 1;
-
Subtract bodies (ID): 2 .
Click Apply.
7. Enter the command at the command line to correct volumes numeration compress all
8. Create 4 cylinders using loop (aprepro). The height of each cylinder 1 and radius 1. Turn the cylinders 90 degrees. Move each cylinder a distance {i-num/2}. Enter the commands at the command line:
#{i = 1} #{Loop(num)} цикл create Cylinder height 1 radius 1 rotate Volume {i+1} angle 90 about Y move vol {i+1} x {i-num/2} #{i++} #{EndLoop}
In the Model Tree on the left side you can see that 5 volumes have been created.
9. Merge all the volumes received. Enter the commands at the command line:
imprint all merge all
Meshing
Enter the command at the command line :
mesh vol all
As a result, a finite element mesh is constructed on the model:
Specifying the material
On the command panel, select the mode for creating volume geometry (Mode - Material, Entity - Materials Management).
In appeared window Materials managenement:
-
Elasticity - Hook Material - Young's modulus E = 2e+8;
-
Elasticity - Hook Material - Poisson ratio ν = 0.3;
-
General - Density ρ = 1900;
-
Cohesion = 29000;
-
Plasticity - Second Drucker-Prager Criterion - Internal friction angle = 20;
-
Plasticity - Second Drucker-Prager Criterion - Dilatancy angle = 10.
Click Apply.
Create a block
1. Using a loop, create 5 blocks. Enter the commands at the command line:
block 1 vol 1 #{i = 1} #{Loop(num)} block {i+1} vol {num+2-i} #{i++} #{EndLoop}
Thus, 5 blocks were created.
2. Set the block parameters.
On the command panel, select the mode for setting material properties (Mode - Blocks, Entity - Block, Action - Block properties/parameters).
Set the following parameters:
-
Block ID(s): all;
-
Available materials: Material 1;
-
Coordinate System: Global Cartesian;
-
Category: Solid;
-
Order: 2.
Click Apply.
Setting boundary conditions
1. Fix surface 2 along the Z-axis.
On the command panel, select Mode - Boundary Conditions, Entity - Displacement, Action - Create.

Set the following parameters:
-
System Assigned ID;
-
Entity List: Surface;
-
Entity ID(s): 2;
-
Degrees Of Freedom: Z-Translation Disp;
-
DOF Value: 0.
Click Apply.
2. Fix surfaces 3 and 5 along the Y-axis.
Set the following parameters:
-
System Assigned ID;
-
Entity List: Surface;
-
Entity ID(s): 3 5;
-
Degrees Of Freedom: Y-Translation Disp;
-
DOF Value: 0.
Click Apply.
3. Fix surfaces 4 and 8 along the X-axis.
Set the following parameters:
-
System Assigned ID;
-
Entity List: Surface;
-
Entity ID(s): 4 8;
-
Degrees Of Freedom: X-Translation Disp;
-
DOF Value: 0.
Click Apply.
4. Create gravity.
On the command panel, select Mode - Boundary Conditions, Entity - Gravity, Action - Create.

Set the following parameters:
-
System Assigned ID;
-
Entity List: Global;
-
Directions Z: -9.81.
Click Apply.
All boundary conditions can be viewed in the Model Tree on the left side.
Starting calculation
1. Select calculation setting section on Command Panel (Mode — Calculation settings, Calculation settings — Static, Static — General).

Select:
-
Dimensions: 3D;
-
Model: Elasticity;
-
Set load steps count: {num+1}.
Click the button
opposite the field with setting the number of loading steps. In the appeared Settings of loading steps window, assign active steps to blocks.
-
Block 1 (main soil volume) is involved at all calculation steps. Highlight Block 1 in the left column and enter all in the Block tab on the right. Click Apply.
-
Block 2 (upper volume) is involved at the first calculation step. Next, this volume is removed. Highlight Block 2 in the left column and enter 1 in the Block tab on the right. Click Apply.
-
Block 3 (second volume) is involved at the first and second calculation steps. Next, this volume is removed. Highlight Block 3 in the left column and enter 1 2 (separated by space) in the Block tab on the right. Click Apply.
-
Block 4 (third volume) is involved at the 1, 2 and 3 calculation steps. Next, this volume is removed. Highlight Block 3 in the left column and enter 1 2 3 (separated by space) in the Block tab on the right. Click Apply.
-
Block 5 (fourth volume) is involved at the 1, 2, 3 and 4 calculation steps. Next, this volume is removed. Highlight Block 3 in the left column and enter 1 2 3 4 (separated by space) in the Block tab on the right. Click Apply.
Thus, the fields should be filled as follows:
Close the Settings of loading steps window.
The same actions can be carried out using a loop.Enter the commands at the command line:
#{i = 1} #{Loop(num)} block {i+1} step 1 to {i} #{i++} #{EndLoop}
On Command Panel click Apply and Start Calculation.
2. In a pop-up window select a folder to save the result and enter the file name.
3. If the calculation is finished successfully, you will see a message in the Console: “Calculation finished successfully at "date time"”.
Results analysis
1. Open the file with the results. .
You can do this in one of the three ways:
-
Click Ctrl+E.
-
Select Calculation → Open Results in the Main Menu. Click Open last result.
View the calculation results in the Fidesys Viewer window.
In the Toolbar, set to display the first calculation step.
Display the component Mises of the stress field and the mesh on the model.
Next, switching steps from 1 to 5, display the process of removing output in the calculation process.
Using Console Interface
For geometry generation, meshing, setting boundary conditions and materials you can use Console Interface. The following program code allows performing the steps of the above-described guide, you only need to manually specify the full path and name of the file to be saved.
reset
set node constraint on
#{num = 4}
brick x {num+1} y 10 z 10
create Cylinder height {num} radius 1
rotate Volume 2 angle 90 about Y
move vol 2 x 0.5
subtract volume 2 from volume 1
compress all
#{i = 1}
#{Loop(num)}
create Cylinder height 1 radius 1
rotate Volume {i+1} angle 90 about Y
move vol {i+1} x {i-num/2}
#{i++}
#{EndLoop}
imprint all
merge all
mesh vol all
block 1 vol 1
#{i = 1}
#{Loop(num)}
block {i+1} vol {num+2-i}
#{i++}
#{EndLoop}
create material 1
modify material 1 set property 'MODULUS' value 2e+8
modify material 1 set property 'POISSON' value 0.3
modify material 1 set property 'DENSITY' value 1900
modify material 1 set property 'COHESION' value 29000
modify material 1 set property 'INT_FRICTION_ANGLE' value 20
modify material 1 set property 'DILATANCY_ANGLE' value 10
block all element solid order 2
block all material 1
create displacement on surface 2dof 3 fix 0
create displacement on surface 3 5dof 2 fix 0
create displacement on surface 4 8 dof 1 fix 0
create gravity global
modify gravity 1 dof 3 value -9.81
analysis type static elasticity dim3
static steps {num+1}
#{i = 1}
#{Loop(num)}
block {i+1} step 1 to {i}
#{i++}
#{EndLoop}
