Assigning different contact properties/ - models to seperate walls in one model

Hi everyone,
I am stuck with a rather basic question.

How can I define different contact - properties - for different walls within a model and how can I define different contact - models - for different walls within a model.

I have tried to use the tutorial example " Using the CMAT" - “cmat3.dat” as a basic example to explain the issue.

Here 2 groups of balls are being created within a box where each of the groups of balls has different contact properties. I have failed to assign different contact properties for the bottom wall for this case while trying to use the same logic from the example (optional cmat slots) for the balls applied to the walls.

I have attached the commented cmat3.dat file to this tag.

As a next step I would like to change the contact model from the bottom wall in this example from Linear model to the Burgers model, unfortunately I dont have a clue on how to procede here.

I am using PFC 7 to solve this problem - any hint on this matter is very much appreciated.

Thank you very much!

cmat3.dat (2.1 KB)

Dear Mussie,
cmat3.dat (3.4 KB)
attached you will find a modified version of your script which uses different properties or contact models for different parts of the walls.
The key when assigning different contact models to different pieces is using the matches keyword with range group.

Dear Nils,
thank you very much! Your reply is of great help for me - one additional question to the topic tough. Where can I find a definition or additional info on the “matches” keyword - Im still trying to understand the parameters 1 and 2? - Unfortunately I could find any in the documentation yet.

and once again thank you very much


Dear Mussie,
the “matches” can be used in the range logic to specify the required number of object matches that needs to be met to apply the command prepending the range. You can see about it here:
Range Phrase Keyword Reference — PFC 7.0 documentation (

Below you will find an example of a colleague, using PFC2D for convenience.
Commenting line 22 to 39 and using “matches 2” for line 18/19 you get the following figure:

You can see that the contact with kn = 7 is formed only between the two balls in the “mainball” group.
If we switch to “matches 1” you get the following figure.

You can see that the contact with kn = 7 is also formed between wall and the balls in the “mainball” group. Using “matches 1” is sufficient to have the ball in the correct group so that the connection between facet and ball is formed.

Another short test using just:

contact cmat add 2 model linear property kn 6 …
range group ‘mainball’ matches 1 group ‘ball1’ matches 1

Results in contacts with kn 6 between all balls in “mainball” and “ball1”

If we modify the command to

contact cmat add 2 model linear property kn 6 …
range group ‘ball1’ matches 1

We get the same contacts and additionally we get the ball+facet connection.
Using “matches 2” with the command above results in no contacts being formed.

And lastly if you rename the “rightwall” to be named “ball1” and use the same command again, we get the expected connection between the right wall and the ball1:

I hope these examples help you!

1 Like

Dear Nils,
thank you very much for the detailed explanation!

I have to admit tough that I got most of it through context but the very first part - “Commenting line 22 to 39 …”.

Which file/code are you referring to here?

Best regards,


run.dat (1.6 KB)
Dear Mussie, sorry I forgot to attach the example. See attached.

Thank you very much Nils!

This answers all my questions.

Best regards,