# \*COUPLING and \*DISTRIBUTING with CPE8R

**URL:** <https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654>\
**Category:** Analysis issues\
**Created:** [March 31, 2025, 9:51am UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654 "2025-03-31T09:51:05Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![anni](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@anni](https://calculix.discourse.group/u/anni)\
**Post date:** [March 31, 2025, 9:51am UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/1 "2025-03-31T09:51:05Z")

</div>

Hi everyone,

I’m having trouble with a minimal example using a plane‐stress CPE8R element in CalculiX. My goal is to model a unit square (representing a quarter of a plate) with symmetry boundary conditions on the x = 0 and y = 0 edges. I want to apply a load along the free right edge (x = 1) by using a coupling constraint that distributes the load from a reference node to that edge. However, when I run the simulation, I get zero deformations and stresses in the model.

Below is the minimal input file I’m using:

```auto
** Node definitions (all nodes lie in the x-y plane; z=0)
*NODE
1, 0.0, 0.0, 0.0
2, 1.0, 0.0, 0.0
3, 1.0, 1.0, 0.0
4, 0.0, 1.0, 0.0
5, 0.5, 0.0, 0.0    
6, 1.0, 0.5, 0.0    
7, 0.5, 1.0, 0.0    
8, 0.0, 0.5, 0.0    
9, 1.0, 1.0, 0.0

** Element definition for a single 8-node plane-strain element (CPE8R)
*ELEMENT, TYPE=CPE8R, ELSET=Eall
1, 1,2,3,4,5,6,7,8

** Define surface S1 representing the right edge (x=1 edge)
*SURFACE, NAME=S1
1, S4

** Define symmetry node sets for the quarter model:
** NSX: Nodes on the x=0 edge (constrain displacement in x)
*NSET, NSET=NSX
1,4,8
** NSY: Nodes on the y=0 edge (constrain displacement in y)
*NSET, NSET=NSY
1,2,5

** Material and section definitions
*MATERIAL, NAME=STEEL
*ELASTIC
210000, 0.3

** For plane stress elements a thickness is required (here set to 1.0)
*SOLID SECTION, MATERIAL=STEEL, ELSET=Eall
1.0

** Coupling definition:
** The reference node (node 9) is coupled to the right edge (surface S1).
** Any force in degree of freedom 1 (x-direction) applied at node 9
** will be distributed (area-weighted) over surface S1.
*COUPLING, REF NODE=9, SURFACE=S1, CONSTRAINT NAME=DistCoupling
*DISTRIBUTING
1,1

*STEP
*STATIC

** Apply symmetry boundary conditions:
** Constrain x-displacement for nodes on the x=0 edge (NSX)
*BOUNDARY
NSX, 1, 1, 0.0
** Constrain y-displacement for nodes on the y=0 edge (NSY)
*BOUNDARY
NSY, 2, 2, 0.0

** Apply load:
** A 1 N force in the x-direction is applied at the reference node (node 9)
*CLOAD
9, 1, 1.0

*NODE FILE
U, RF

*EL FILE
S, E

*END STEP

```

**Problem Description:**  
When running this simulation, I always end up with zero deformation and stress results. I suspect either the load isn’t correctly transmitted via the coupling or that perhaps I misunderstand how the `*COUPLING` and `*DISTRIBUTING` cards function with CPE (plane-strain) elements.

**Question:**  
Has anyone encountered similar issues when using `*COUPLING` with a CPE8R element for load distribution? I’d appreciate any insights or suggestions on how to modify the setup so that the load is effectively transmitted into the model.

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [March 31, 2025, 10:49am UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/2 "2025-03-31T10:49:13Z")

</div>

It seems that you have BC applied to the same face (edge) as coupling constraint:

 ![image](https://global.discourse-cdn.com/free1/uploads/calculix/original/2X/3/34faa0f395e1be5b6d06334bda2140d85444ccd0.png)

I guess you wanted to define:

```auto
*SURFACE, NAME=S1
1, S2

```

---

<div class="post-metadata">

**Author:** ![anni](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@anni](https://calculix.discourse.group/u/anni)\
**Post date:** [March 31, 2025, 11:57am UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/3 "2025-03-31T11:57:49Z")

</div>

Thank you, @Calc_em, for the quick reply! You’re right, of course—but unfortunately, that doesn’t change the outcome for me. The deformation and stress components remain zero. Are you seeing the same results?

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [March 31, 2025, 12:21pm UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/4 "2025-03-31T12:21:13Z")

</div>

If I run this model with CalculiX - yes. But not when running the same model in Abaqus so it’s a CalculiX bug/limitation. Try with C3D20R element to which CPE8R is extended.

---

<div class="post-metadata">

**Author:** ![Disla](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/disla/32/3548_2.png) [@Disla](https://calculix.discourse.group/u/Disla)\
**Post date:** [March 31, 2025, 1:18pm UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/5 "2025-03-31T13:18:04Z")

</div>

It works with DCOUP3D element but you will have to enter the weights manually for each node.

\*ELEMENT,TYPE=DCOUP3D  
2,9  
\*ELSET,ELSET=EL1  
2  
\*DISTRIBUTING COUPLING,ELSET=EL1  
2,0.166666666666683  
6,0.666666666666633  
3,0.166666666666683

Anyway would be best to report the bug.

---

<div class="post-metadata">

**Author:** ![anni](https://avatars.discourse-cdn.com/v4/letter/a/a87d85/32.png) [@anni](https://calculix.discourse.group/u/anni)\
**Post date:** [March 31, 2025, 3:04pm UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/6 "2025-03-31T15:04:50Z")

</div>

@Calc_em:  
Thanks a lot for testing and confirming this issue! I’ll definitely report this as a bug. Could you tell me where the best place is to report CalculiX bugs or issues? Is there a preferred forum, mailing list, or GitHub repository? Or should I report to @dhondt?

@Disla:  
Thanks for suggesting `DCOUP3D`. It’s indeed a useful workaround, but unfortunately not practical for my case. I work at the Max Planck Institute in fusion research, and we’re developing a tool to rapidly evaluate structural loads on a toroidal field coil. Our geometries are more complex, so specifying node weights manually isn’t feasible.

I might have to switch to a full 3D model, but then I’d need to apply distributed electromagnetic body forces across volumes. I suspect that approach might also come with its own challenges.

Thanks again to both of you—I really appreciate your helpful feedback!

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [March 31, 2025, 3:43pm UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/7 "2025-03-31T15:43:13Z")

</div>

> [@anni](#):
>
> Could you tell me where the best place is to report CalculiX bugs or issues? Is there a preferred forum, mailing list, or GitHub repository?

It’s best to report issues here: [GitHub · Where software is built](https://github.com/Dhondtguido/CalculiX/issues)

Although we often contact @dhondt directly via e-mail when it comes to particularly problematic bugs.

---

<div class="post-metadata">

**Author:** ![Durbul](https://avatars.discourse-cdn.com/v4/letter/d/8dc957/32.png) [@Durbul](https://calculix.discourse.group/u/Durbul)\
**Post date:** [June 9, 2025, 6:29pm UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/8 "2025-06-09T18:29:36Z")

</div>

I believe you could also use \*EQUATION here:

```auto
** Node definitions (all nodes lie in the x-y plane; z=0)
*NODE
1, 0.0, 0.0, 0.0
2, 1.0, 0.0, 0.0
3, 1.0, 1.0, 0.0
4, 0.0, 1.0, 0.0
5, 0.5, 0.0, 0.0    
6, 1.0, 0.5, 0.0    
7, 0.5, 1.0, 0.0    
8, 0.0, 0.5, 0.0    

** Element definition for a single 8-node plane-strain element (CPE8R)
*ELEMENT, TYPE=CPE8R, ELSET=Eall
1, 1,2,3,4,5,6,7,8

** Define surface S1 representing the right edge (x=1 edge)
*SURFACE, NAME=S1
1, S2

** Define symmetry node sets for the quarter model:
** NSX: Nodes on the x=0 edge (constrain displacement in x)
*NSET, NSET=NSX
1,4,8
** NSY: Nodes on the y=0 edge (constrain displacement in y)
*NSET, NSET=NSY
1,2,5

** Material and section definitions
*MATERIAL, NAME=STEEL
*ELASTIC
210000, 0.3

** For plane stress elements a thickness is required (here set to 1.0)
*SOLID SECTION, MATERIAL=STEEL, ELSET=Eall
1.0

*EQUATION
2
2,1,1.,6,1,-1.
2
3,1,1.,6,1,-1.

*STEP
*STATIC

** Apply symmetry boundary conditions:
** Constrain x-displacement for nodes on the x=0 edge (NSX)
*BOUNDARY
NSX, 1, 1, 0.0
** Constrain y-displacement for nodes on the y=0 edge (NSY)
*BOUNDARY
NSY, 2, 2, 0.0

** Apply load:
** A 1 N force in the x-direction is applied at the reference node (node 6)
*CLOAD
6, 1, 1.0

*NODE FILE
U, RF

*EL FILE
S, E

*END STEP

```

Returns the same weights as those provided by @Disla.  
Unfortunately you have to specify one equation for each node, but this syntax can be easily scripted e.g. in a separate file and included in the .inp.

---

<div class="post-metadata">

**Author:** ![fethio](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/fethio/32/3940_2.png) [@fethio](https://calculix.discourse.group/u/fethio)\
**Post date:** [February 20, 2026, 2:41pm UTC](https://calculix.discourse.group/t/coupling-and-distributing-with-cpe8r/2654/9 "2026-02-20T14:41:38Z")

</div>

Hello all,

I wanted to note that I encountered the same issue while using COUPLING and DISTRIBUTING cards in order to transfer a remote force applied to a REF NODE to the edges of S3 and S4 type elements defined via the SURFACE card.

```auto
*Heading 
 skirt under dead load using original gmsh output
*INCLUDE, INPUT=gmsh.inp_ed

** constraints
*BOUNDARY
Nskir_carbo_ctrin,1,1,0
Nskir_carbo_ctrin,3,3,0
Nbase_plate_cutin,2,2,0
Nbase_plate_cutou,2,2,0

*MATERIAL,NAME=Carbo
*ELASTIC
200000,0.3
*density
7.85e-9
*MATERIAL,NAME=Sless
*ELASTIC
200000,0.3
*density
7.85e-9

*SHELL SECTION,ELSET=Eskir_sless,MATERIAL=Sless
25
*SHELL SECTION,ELSET=Eskir_carbo_body,MATERIAL=Carbo
25
*SHELL SECTION,ELSET=Eskir_carbo_undc,MATERIAL=Carbo
25
*SHELL SECTION,ELSET=Euppe_plate,MATERIAL=Carbo
65
*SHELL SECTION,ELSET=Ebase_plate_cutin,MATERIAL=Carbo
65
*SHELL SECTION,ELSET=Ebase_plate_cutou,MATERIAL=Carbo
65

*STEP
*STATIC
*CLOAD
Nskir_sless_uprin, 2, -46.75E3
*NODE FILE
U, RF
*EL FILE
S
*END STEP

```

This results with zero load transfer to the edge nodes, and zero overall displacement of the structure.

Fethi
