# Error with shell elements: a minimal example

**URL:** <https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721>\
**Category:** Uncategorized\
**Created:** [April 27, 2025, 1:58pm UTC](https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721 "2025-04-27T13:58:51Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![hconel](https://avatars.discourse-cdn.com/v4/letter/h/bc79bd/32.png) [@hconel](https://calculix.discourse.group/u/hconel)\
**Post date:** [April 27, 2025, 1:58pm UTC](https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721/1 "2025-04-27T13:58:51Z")

</div>

Hi,  
I am a CFD & finite volume guy, and a new CalculiX user (and new to FEM in general). My problem will probably sound very silly, but I couldn’t manage to solve it, so I’d appreciate any help.  
I am trying to understand the structure of a CalculiX case on this simplest possible case:

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

Here is my job.inp file

```auto
*INCLUDE, INPUT=mesh.inp

*MATERIAL, NAME=steel
*ELASTIC
210e9, 0.3
*DENSITY
7850

*SHELL SECTION, ELSET=plate, MATERIAL=steel, OFFSET=0
0.01

*STEP
*STATIC

** Fix the root (all displacements = 0)
*BOUNDARY
fix, 1, 3

*DLOAD
plate,GRAV,9.81,0.,-1.,0

*END STEP

```

and my mesh.inp file:

```auto
*Heading
test
*NODE
1, 0, 0, 0
3, 1, 0, 0
4, 0, 0, 0.5
6, 1, 0, 0.5
7, 0, 0, 1
9, 1, 0, 1
2, 0.5, 0, 0
8, 0.5, 0, 1
5, 0.5, 0, 0.5
*******E L E M E N T S*************
*ELEMENT, type=T3D2, ELSET=Line2
5, 3, 6
6, 6, 9
7, 4, 1
8, 7, 4
*ELEMENT, type=T3D2, ELSET=Line3
9, 1, 2
10, 2, 3
*ELEMENT, type=T3D2, ELSET=Line4
11, 9, 8
12, 8, 7
*ELEMENT, type=S4, ELSET=plate
1, 1, 2, 5, 4
2, 2, 3, 6, 5
3, 4, 5, 8, 7
4, 5, 6, 9, 8
*ELSET,ELSET=Unspecified
5, 6, 7, 8, 
*ELSET,ELSET=fix
9, 10, 
*ELSET,ELSET=load
11, 12, 
*ELSET,ELSET=plate
1, 2, 3, 4, 
*NSET,NSET=Unspecified
1, 3, 4, 6, 7, 9, 
*NSET,NSET=fix
1, 2, 3, 
*NSET,NSET=load
7, 8, 9, 
*NSET,NSET=plate
1, 2, 3, 4, 5, 6, 7, 8, 9, 

```

And this is the output I get:

```auto
You are using an executable made on So 31. Jul 13:26:31 CEST 2016

  The numbers below are estimated upper bounds

  number of:

   nodes: 697
   elements: 12
   one-dimensional elements: 8
   two-dimensional elements: 4
   integration points per element: 8
   degrees of freedom per node: 3
   layers per element: 2

   distributed facial loads: 0
   distributed volumetric loads: 1
   concentrated loads: 0
   single point constraints: 945
   multiple point constraints: 1441
   terms in all multiple point constraints: 9217
   tie constraints: 0
   dependent nodes tied by cyclic constraints: 0
   dependent nodes in pre-tension constraints: 0

   sets: 12
   terms in all sets: 54

   materials: 1
   constants per material and temperature: 2
   temperature points per material: 1
   plastic data points per material: 0

   orientations: 0
   amplitudes: 2
   data points in all amplitudes: 2
   print requests: 0
   transformations: 0
   property cards: 0

 *ERROR in gen3delem: first thickness
        in node 1 of element 5
        is zero

```

I checked the tutorials (and ChatGPT also), but still can’t pinpoint the problem. CCX complains about zero thickness, despite I define it.

My mesh generation process: Create mesh in Pointwise (2D, solver: Gmsh) \> Export to Gmsh v2 format (.msh) \> Open in Gmsh \> Export to .inp format \> Make final modifications in the file.

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![fgr](https://avatars.discourse-cdn.com/v4/letter/f/f4b2a3/32.png) [@fgr](https://calculix.discourse.group/u/fgr)\
**Post date:** [April 27, 2025, 5:52pm UTC](https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721/2 "2025-04-27T17:52:14Z")

</div>

@hconel , you’re missing cross-section specification for elements line2,line3 and line4

if you add the following lines in your data-set you will get a result

```auto
*SOLID SECTION,ELSET=Line2,MATERIAL=steel
.025
*SOLID SECTION,ELSET=Line3,MATERIAL=steel
.025
*SOLID SECTION,ELSET=Line4,MATERIAL=steel
.025

```

---

<div class="post-metadata">

**Author:** ![hconel](https://avatars.discourse-cdn.com/v4/letter/h/bc79bd/32.png) [@hconel](https://calculix.discourse.group/u/hconel)\
**Post date:** [April 27, 2025, 6:15pm UTC](https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721/3 "2025-04-27T18:15:59Z")

</div>

Dear @fgr,  
Thanks for your answer.  
I noticed that although I do not want those line elements to be included in my .msh and .inp files, PointWise and Gmsh prints them anyway. I also noticed that deleting those type=T3D2 elements from the .inp file does not affect my simulation, and moreover, clears the error, leading to a successful simulation.  
Now I wonder, instead of deleting those manually, is there anything I can do in the CalculiX .inp file to set such elements “not to be simulated”, or void, ignore, something like that?

---

<div class="post-metadata">

**Author:** ![JuanP74](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@JuanP74](https://calculix.discourse.group/u/JuanP74)\
**Post date:** [April 27, 2025, 8:36pm UTC](https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721/4 "2025-04-27T20:36:01Z")

</div>

export mesh from gmsh using Physical Groups, have a look at in gmsh website/manual

> **[Gmsh 4.13.1](https://gmsh.info/doc/texinfo/gmsh.html#t1)**
>
> Gmsh 4.13.1

However we recommend to start as a new user with the graphical pre/post Prepomax (windows only): [https://prepomax.fs.um.si/downloads/](https://prepomax.fs.um.si/downloads/)

---

<div class="post-metadata">

**Author:** ![hconel](https://avatars.discourse-cdn.com/v4/letter/h/bc79bd/32.png) [@hconel](https://calculix.discourse.group/u/hconel)\
**Post date:** [April 27, 2025, 8:52pm UTC](https://calculix.discourse.group/t/error-with-shell-elements-a-minimal-example/2721/5 "2025-04-27T20:52:33Z")

</div>

Hi @JuanP74,  
I have to work on Linux, so unfortunately I can not use PrePoMax…
