# 3pb unexpected results when varying input data

**URL:** <https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661>\
**Category:** General Questions\
**Tags:** material-definition\
**Created:** [April 28, 2025, 1:45pm UTC](https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661 "2025-04-28T13:45:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [April 28, 2025, 1:45pm UTC](https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661/1 "2025-04-28T13:45:52Z")

</div>

Good afternoon.  
I am a little confused and hope someone here could help me explain this? I have a 3-point-bending simulation of a sandwich panel with composite skins and an aluminium core. I tried making small variations to the material input values and get very large variations in results which do not look correct any longer. I cannot explain this…

The model looks like this, inspired by @FEAnalyst video: [https://www.youtube.com/watch?v=nGraA5nsHOo](https://www.youtube.com/watch?v=nGraA5nsHOo)

 ![Sandiwch set-up](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/2/2340dd02db885213b216a889697488a6c61d433e.png)  
The dimensions are length 120 mm, width 36.7 mm and core height 8.3 mm.  
NB: Not sure why there is an area defined to input load (guess to minimise stress concentrations?) and also not entirely sure what size should be selected based on which reasoning. Here 1mm width has been used as a best guess for the contact area of the loading roller.

I defined the skins as shells and expand these through the keyword manager to layered composites representing this material with 2mm thickness:

> **[Double-Sided Carbon Fibre Sheet; 0.25mm, 0.5mm, 1mm, 2mm, 3mm - Easy Composites](https://www.easycomposites.co.uk/double-sided-high-strength-carbon-fibre-sheet)**
>
> Double-sided gloss finish, high performance carbon fibre sheet direct from the UK manufacturer. 0.25mm to 3mm thickness, range of sizes, OEM enquiries welcome.

I leave this unchanged between simulations. For the core material modelled as a solid, I define an orthotropic material using the keyword editor. This should represent a honeycomb core of 3.2 mm cell size and density of about 70 kg/m3:  
\*MATERIAL, NAME=core  
\*ELASTIC, TYPE=ENGINEERING CONSTANTS  
200, 200, 1270, 0.278, 0.278, 0.278, 200, 200,  
550, 20  
Definitions here: [\*ELASTIC](https://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node193.html#elastic)

This is the result which does look reasonable:

 ![sandwich-clear](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/f/f4d5f337eed26b76bcc2136e0e9d4ace5efb2627.png)

I then tried to vary E1 and E2 of the core to check if other input values would provide simulation results which match test data better. I tried for example E1 = E2 =140, 141 or 142 and otherwise kept all other parameters constant. However, the simulation results vary significantly. Why would this be? Here are the screenshots of maximum displacement:

E1=E2=140:

 ![sandwich-patchy.png140](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/699252fbc0612d2e9226430b33d48c9f55c53b23.png)  
In this example, the input looks like:  
\*MATERIAL, NAME=core  
\*ELASTIC, TYPE=ENGINEERING CONSTANTS  
140, 140, 1270, 0.278, 0.278, 0.278, 200, 200,  
550, 20

E1=E2=141:

 ![sandwich-patchy.png141](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/6/6237f023b14fb3e709a2893a5ed543471001dc95.png)

E1=E2=142:

 ![sandwich-patchy.png142](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/e/eb9071f0232e01fd086dc99ebe8553ee46acb176.jpeg)

Not only look the displacement fields patchy but also the max deflection peaks at 141? I have tried to play with mesh density but no luck.

Could anyone point out where these artifacts come from? What is wrong with the set-up? The variations to the material data are minute (\<1%) but the variations are large. Somehow, it reminds me about the Butterfly effect…

The pmx file, using v2.2.11 dev can be found here:

> **[Sandwich-AluCore.pmx](https://drive.google.com/file/d/1tfNd7a4Rstykb2wOiRS3dB8j59idslXA/view?usp=sharing)**
>
> Google Drive file.

On a different note:  
When creating a model and defining material properties in the tree and others in the keyword editor and then deleting a material in the tree, this removes the materials in the keyword editor too. This may be an unexpected behaviour?

Many thanks for any of your wisdom! Thank you all the same if you wouldn’t know either.

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [April 28, 2025, 2:44pm UTC](https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661/2 "2025-04-28T14:44:22Z")

</div>

There’s an interference between the expanded shells of the skins and the solid core. You should offset the shells by 2 mm (I had a gap in the tutorial as well).

Still, the core seems to be exhibiting incorrect hourglassing-like distortion:

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/9/9127b4d7f8985ae136b7d59852a305e731d1a9e9.png)

Abaqus gives a clue by throwing this error message when submitting input file with modified constants:

> \*\*\*ERROR: STIFFNESS DEFINED BY ENGINEERING CONSTANTS IS NOT PHYSICALLY  
> REASONABLE. CHECK CHOICE OF POISSON’S RATIOS

Check the stability criteria. From [Abaqus documentation](https://abaqus-docs.mit.edu/2017/English/SIMACAEMATRefMap/simamat-c-linearelastic.htm#simamat-c-linearelastic-engconst):

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/4/4d35791a8ef8baf0af94bdf6f2ff2daf0b8b6a00.png)

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [April 28, 2025, 5:27pm UTC](https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661/3 "2025-04-28T17:27:33Z")

</div>

Knowing the above criteria and the following relationship:

![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/4/4754ab63ad8e41bfe59e4f1e10f66b90c45e340a.png)

we can see that your second set of data is invalid - the last criterion yields negative value (-0.869). Your original set of data also gives negative value of the last criterion (-0.332) but it somehow works in CalculiX (it causes error in Abaqus though).

---

<div class="post-metadata">

**Author:** ![frank](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@frank](https://prepomax.discourse.group/u/frank)\
**Post date:** [April 29, 2025, 9:45am UTC](https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661/4 "2025-04-29T09:45:26Z")

</div>

Thank you for this Jakub.  
Expanding the skins in the wrong direction is of course a rooky mistake. The keyword should have read:  
\*\* 2 mm skins  
\*SHELL SECTION, COMPOSITE, Elset=Element\_Set-1, OFFSET=-0.5  
0.5, , CFRP, OR\_0  
0.5, , CFRP, OR\_90  
0.5, , CFRP, OR\_0  
0.5, , CFRP, OR\_90  
\*SHELL SECTION, COMPOSITE, Elset=Element\_Set-2, OFFSET=0.5  
0.5, , CFRP, OR\_0  
0.5, , CFRP, OR\_90  
0.5, , CFRP, OR\_0  
0.5, , CFRP, OR\_90

I’m not entirely sure about the need for a gap between the skins and the core (the 2 mm offset you mentioned). The load introduction is defined at the outer face of the top skin—shouldn’t that remain consistent when the skins are expanded? Even if not, it likely makes little difference for the simulation in this case I believe…

Pointing out the Abaqus error message seems to be the key to the problems faced and many thanks for this! In the absence of better Poison ratios I used the default ~0.3. Should have known better… Updating this with something reasonable for honeycomb structures to  
v12 = v21 = 0.21  
v13 = v31 = 0.01  
v23 = v32 = 0.01  
removed the artefacts and the model runs well.

For the stability criteria you show, these should all have passed; but of course depends if the value of vij is to be taken positive or negative in these checks? It will make a big difference to  
1-v12^2-v23^2-v13^2-2\*v12v23v13

Lesson learned from this exercise. Get your material properties correct from the start! 😉  
Many thanks again!

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [April 29, 2025, 10:08am UTC](https://prepomax.discourse.group/t/3pb-unexpected-results-when-varying-input-data/2661/5 "2025-04-29T10:08:34Z")

</div>

> [@frank](#):
>
> I’m not entirely sure about the need for a gap between the skins and the core (the 2 mm offset you mentioned). The load introduction is defined at the outer face of the top skin—shouldn’t that remain consistent when the skins are expanded? Even if not, it likely makes little difference for the simulation in this case I believe…

You can either add gaps or use proper offsets, this is equivalent. Just make sure there’s no intersection when shell is expanded (you don’t have to run full analysis to check that, just choose “Check Model”).

> [@frank](#):
>
> For the stability criteria you show, these should all have passed; but of course depends if the value of vij is to be taken positive or negative in these checks? It will make a big difference to  
> 1-v12^2-v23^2-v13^2-2\*v12v23v13

They should be taken as they are from the standard relationship:

![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/2X/a/a40373652c1aa16880db8e01fc7fbbb958d93c83.png)

where _j_ is the transverse strain direction when the material is stressed in the _i_ direction.
