Inclusions in a Matrix

  Tutorial Resources
Data File Project: Open “Inclusions.p2prj” in PFC2D [1]

Introduction

An unconfined compression test is performed on a bonded-particle model (BPM) with uniform mechanical properties. Select regions of the sample (inclusions) are given smaller or larger stiffness parameters, and the test is repeated. This tutorial demonstrates advanced usage of the Contact Model Assignment Table (CMAT) to build complex materials with a spatial distribution of mechanical properties. The linear and linear parallel bond contact models are used. The material-modeling support package can also be used to create and test BPMs; however, it would need to be modified to add the inclusions.

Numerical Model

The complete data file (2D) for this example is “inclusions.p2dat”. Select lines of this file are discussed below. The initial stage of constructing the bonded-particle specimen is not discussed since the procedure is similar to the one presented in the “Generating a Bonded Assembly” tutorial. Note that balls have been created with the ball distribute command and have all been assigned the matrix group identifier.

Lines 34-45 create top and bottom wall platens, assign their vertical velocities, and set up history monitoring.

; prepare for upcoming tests : add top and bottom platens and set up monitoring
contact cmat default type 'ball-facet' model linear ...
                                       property kn 1e8 ks 5e7 fric 0.25
wall generate id 1 plane position 0.0  4.015
wall generate id 2 plane position 0.0 -4.015
wall attribute velocity-y -0.005 range id 1
wall attribute velocity-y  0.005 range id 2
wall history force-contact-y id 1
wall history force-contact-y id 2
wall history displacement-y id 2
ball attribute displacement 0.0
model save 'initial1'

The initial system is shown in Figure 1.

../../../../../../../_images/p2d-inclusions-init1.png

Figure 1: The initial bonded system with uniform properties prior to compression.

The first compression test is performed via lines 47-51:

; perform UCS test (activate fragment tracking)
fragment register ball-ball
fragment activate time 0.1
model solve time 5.0 
model save 'final1'

Note that fragment tracking is activated to monitor fragmentation of the BPM during the test. The final state is shown in Figure 2.

../../../../../../../_images/p2d-inclusions-final1.png

Figure 2: Final state of the system with uniform properties after compression.

Lines 53-73 alter the initial BPM to model inclusions in select model regions:

; use groups to identify inclusions 
model restore 'initial1'
ball group 'inclusions' range circle center 1.0 3.0 rad 0.5
ball group 'inclusions' range circle center -0.5 1.0 rad 0.5
ball group 'inclusions' range circle center 0.5 -1.5 rad 0.5
ball group 'inclusions' range circle center -1.0 -3.0 rad 0.5
model save 'initial-groups'

Balls inside the inclusions are assigned the inclusions group identifier.

The system before compression is shown in Figure 3.

../../../../../../../_images/p2d-inclusions-groups.png

Figure 3: The initial system with soft inclusions before compression.

Lines 62–79 alter contact properties within the inclusions and matrix. The group identifiers are used to identify contacts within the matrix and within inclusions. The contact cmat apply command is required to apply the modified default CMAT entries to existing contacts. The compression test is then repeated. In this case, the inclusions are softer than the matrix. Lines 80-100 (not shown here) repeat these operations to produce inclusions that are more stiff than the matrix.

contact cmat default type ball-ball model linear ...
                                    property kn 1e7 ks 5e6 fric 0.25 lin_mode 1
contact cmat add 1 model linearpbond ...
                   property kn 1e8 ks 5e7 fric 0.25 lin_mode 1 ...
                   pb_kn 1e8 pb_ks 5e7 pb_ten 2e5 pb_coh 5e4 pb_fa 20 ...
                   range group 'matrix' matches 2
contact cmat add 2 model linearpbond ...
                   property kn 1e7 ks 5e6 fric 0.25 lin_mode 1 ...
                   pb_kn 1e7 pb_ks 5e6 pb_ten 2e4 pb_coh 5e3 pb_fa 20 ...
                   range group 'inclusions' matches 2
contact cmat apply
contact method bond gap 0.0

; repeat UCS test
fragment register ball-ball
fragment activate time 0.1
model solve time 5.0 
model save 'final2'

Figures 4 and 5 show the model after compression for the case of inclusions softer and stiffer than the matrix, respectively. One can observe that failure initiates near the soft inclusions and the resulting stress concentration drives the failure through neighboring soft inclusions in Figure 4. Note that some failure has occurred in all of the soft inclusions. For the case of stiff inclusions (Figure 5), on the other hand, failure occurs predominantly in the matrix and along the inclusion/matrix boundaries.

../../../../../../../_images/p2d-inclusions-final2.png

Figure 4: The final system with soft inclusions after compression.

../../../../../../../_images/p2d-inclusions-final3.png

Figure 5: The final system with stiff inclusions after compression.

For all three cases, Figure 6 shows the evolution of the y-component of the resultants of the contact forces acting on the top platen versus the platen y-displacement. The soft inclusions significantly decrease the yield strength of the BPM, along with the post-peak response. The stiff inclusions, on the other hand, have little impact on these responses.

../../../../../../../_images/p2d-inclusions-tables.png

Figure 6: History of the y-component of the force acting on the top platen as a function of platen displacement for the cases of a uniform material (green), the soft inclusion material (red), and the stiff inclusion material (blue).

Discussion

This tutorial provides an introduction to how the Contact Model Assignment Table (CMAT) may be used to build complex models with heterogeneous mechanical properties. The results of an unconfined compression test performed on a uniform and heterogeneous materials with soft and stiff inclusions have been discussed.

Endnote

[1]These may be found in PFC3D under the “tutorials/inclusions” folder in the Examples dialog (Help —> Examples on the menu). If this entry does not appear, please copy the application data to a new directory. (Use the menu commands Tools —> Copy App Data … See the “Copy Application Data” section for details.)