Overconstraint conflict between TIE and BOUNDARY: Matching Displacements but Divergent Eigenvalues

Hi everyone,

I am researching a composite beam modeling approach by comparing two cantilever setups:

  1. A baseline beam modeled entirely with C3D20 (20-node hexahedral) elements.

  2. A composite beam where S8 shell elements are “jacketed” onto the top and bottom surfaces of a C3D20 solid core.

The Setup:

  • Loading: Surface traction on the free end (right face).

  • Boundary Condition: The left face of the solid core is fixed using *BOUNDARY.

  • Interaction: I used *TIE to bind the shell-solid interfaces, with the solid face as the Master and the shell surface as the Slave.

The Issue:

In the initial run, the shells “peeled” away from the solid core specifically at the fixed end. Even though the Master (solid) nodes were fixed, the Slave (shell) nodes at that specific boundary seemed to ignore the constraint.

Attempted Fix:

I applied an additional *BOUNDARY to the fixed-end edges of the shells. This stopped the peeling, but the solver issued warnings indicating that tied constraints were not generated for those nodes because they were already subject to an SPC. However-

The “Paradox” in the Results:

  1. Static Analysis: Despite the deactivation of the tie at the fixed boundary, the displacement results for both the pure solid and composite beams match almost perfectly.

  2. Modal/Matrix Analysis: When I extract the final global stiffness matrix (I wrote a custom code to export the stiffness vals at the end in mafillsm.f) and solved for the lowest positive eigenvalues, the results revealed that the composite beams were much softer than the pure solid one. The eigenvalues were consistently ~45% lower than those of the pure solid cantilever beam.

The Question: It seems the “overconstraint” is creating a localized region at the support where the shell and solid are no longer mathematically coupled in the stiffness matrix, even if the static displacements look “correct” due to the shared boundary condition.

  1. How can I ensure the *TIE remains active across the entire interface, including the fixed boundary?

  2. Is there a recommended way to “fix” the end of a tied shell-solid assembly without triggering the overconstraint/redundancy errors that deactivate the *TIE at the support?

I appreciate any insights on this. Have a nice day!

Did you try swapping the master/slave surfaces ? Or using tied contact instead of tie constraints ?

Hey, yeah I did.

-Swapping the master/slave surfaces solved the MPC-SPC conflict issue. But the stiffness matrix analysis result remained the same.

-I had also tried using tied contact instead of tie constraints, but the MPC/SPC conflict issue remained.

I have tried modeling a wall. The beam nodes are merged with the wall. No need to fix. The fix is in the backside of the wall far from the contact areas. The shells are *tie agains the wall and to the beam.

Beam and wall are master (Blue) and shell surfaces are slaves.

That makes a lot of sense to move the SPCs away from the MPC zone. In my case, I’m trying to validate the ‘subtractive’ effect of shells, so I’m keeping the geometry as lean as possible.

Follwo-up question: Since displacements match between cases but the extracted K is ‘softer’ in Python, is there a specific way in CCX to export the condensed/reduced stiffness matrix where the slave DOFs are already eliminated? Or is mafillsm.f always going to provide the expanded system?

Seems related to this bug/limitation: Tied constraint fails if a forces are prescribed to slave nodes