# Layered shell (composite) with spring element

**URL:** <https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414>\
**Category:** Uncategorized\
**Created:** [January 25, 2021, 7:30pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414 "2021-01-25T19:30:29Z")\
**Posts on this page:** 19\
**Page:** 2

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [January 26, 2023, 8:14am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/21 "2023-01-26T08:14:28Z")

</div>

Could you please describe how to do it? Modifying the changekon.f?

---

<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:** [January 26, 2023, 8:21am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/22 "2023-01-26T08:21:43Z")

</div>

just replace the indicated line by the one I posted and recompile calculix

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [January 26, 2023, 8:32am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/23 "2023-01-26T08:32:02Z")

</div>

Thanks for your prompt answer, but it sounds like “just spread your wings and fly” to me. I assume that I have to modify and use file from [GitHub - Dhondtguido/CalculiX: This repository contains the source files of CalculiX, a three-dimensional Finite Element Program (www.calculix.de).](https://github.com/Dhondtguido/CalculiX). What I don’t understand, is how to recompile these files? Is there any tutorial, may be? Another question, there is a warning there " Sorry, we had to truncate this directory to 1,000 files. 146 entries were omitted from the list." Will that cause a trouble, too?

---

<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:** [January 26, 2023, 9:52am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/24 "2023-01-26T09:52:46Z")

</div>

you also can find a complete download of the source code ready in the software web site, for current version is [http://www.dhondt.de/ccx\_2.20.src.tar.bz2](http://www.dhondt.de/ccx_2.20.src.tar.bz2)

there you have the instructions available: [www.dhondt.de/ccx\_2.20.README.INSTALL](http://www.dhondt.de/ccx_2.20.README.INSTALL)

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [January 26, 2023, 2:41pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/25 "2023-01-26T14:41:42Z")

</div>

Well, I tried these instructions, and they didn’t work for me. For example, step 3 provides links for SPOOLES and ARPACK which do not lead anywhere. But SPOOLES and ARPACK are mandatory, nevertheless. Skipping step 3, I receive errors

gfortran -Wall -O2 -c absolute\_relative.f

make: gfortran: No such file or directory

make: \*\*\* [Makefile:11: absolute\_relative.o] Error 127

I installed CalculiX 2.20 using instructions [https://solvercube.com/courses/installation-tutorials/lessons/calculix-2-17-binary-executables-on-ubuntu-21-04/](https://solvercube.com/courses/installation-tutorials/lessons/calculix-2-17-binary-executables-on-ubuntu-21-04/), replacing 2.17 with 2.20 and installing libgfortran from a .deb package. Worked fine, but now I got stuck with this ESPRNGA1 error.

---

<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:** [January 26, 2023, 3:32pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/26 "2023-01-26T15:32:56Z")

</div>

you have everything in the software main page: [CalculiX: A Three-Dimensional Structural Finite Element Program (dhondt.de)](http://www.dhondt.de/)

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

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [January 27, 2023, 9:45am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/27 "2023-01-27T09:45:14Z")

</div>

Again, the link for the SPOOLES leads nowhere, and the link for the ARPACK leads to a github repository. After some tackling (I had to search and install gfortran and libopenmpi packages), ARPACK seems to be installed. SPOOLES is still out of my reach.

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [January 27, 2023, 11:34am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/28 "2023-01-27T11:34:05Z")

</div>

I found a SPOOLES version here [Debian Science Team / spooles · GitLab](https://salsa.debian.org/science-team/spooles). But can’t see any instructions how to install it.

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [January 29, 2023, 2:30pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/29 "2023-01-29T14:30:22Z")

</div>

> [@HonestImpostor](#):
>
> SPOOLES

SPOOLES files are in [https://netlib.org/linalg/spooles/spooles.2.2.tgz](https://netlib.org/linalg/spooles/spooles.2.2.tgz) - the same link Guido provided, just need to go down the page.

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [January 29, 2023, 2:31pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/30 "2023-01-29T14:31:22Z")

</div>

> [@HonestImpostor](#):
>
> But can’t see any instructions how to install it.

Installing instructions:  
[https://netlib.org/linalg/spooles/Install.ps.gz](https://netlib.org/linalg/spooles/Install.ps.gz)

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [February 6, 2023, 9:27am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/31 "2023-02-06T09:27:04Z")

</div>

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

This is how that link works for me.

In addition to [salsa.debian.org](http://salsa.debian.org) needed files can be reached from [netlib/linalg/spooles/index](http://www.netlib.no/netlib/linalg/spooles/index.html), this link seems to work.

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [February 7, 2023, 1:37pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/33 "2023-02-07T13:37:03Z")

</div>

I finally got to editing changekon.f and here what make command returns

Error: Unclassifiable statement at (1)  
changekon.f:112:3:

112 | & (lakon(i)(1:7).eq.‘ESPRNGA’)) then  
| 1  
Error: Non-numeric character in statement label at (1)  
make: \*\*\* [Makefile:11: changekon.o] Error 1

---

<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:** [February 7, 2023, 1:53pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/34 "2023-02-07T13:53:03Z")

</div>

> [@JuanP74](#):
>
> ```auto
> elseif((lakon(i)(1:7).eq.'SPRINGA').or.
> & (lakon(i)(1:7).eq.'ESPRNGA')) then
> 
> ```

Calculix code is written in fixed format Fortran, so position is essential. You have to place the continuation character (& in this case) exactly in column 6 of the line. Executable code in each line MUST start from column 7 onwards.

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [February 7, 2023, 2:35pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/35 "2023-02-07T14:35:18Z")

</div>

Thank you for your prompt answer. I would never guess it myself. Surprisingly, make command now finds problems in cubtri.f

gfortran -Wall -O2 -c cubic.f  
gfortran -Wall -O2 -c cubtri.f  
cubtri.f:134:18:

134 | CALL CUBRUL(F, VEC, W(1,1), IDATA, RDATA)  
| 1  
Error: Interface mismatch in dummy procedure ‘f’ at (1): ‘f’ is not a function  
cubtri.f:173:20:

173 | CALL CUBRUL(F, VEC, W(1,J), IDATA, RDATA)  
| 1  
Error: Interface mismatch in dummy procedure ‘f’ at (1): ‘f’ is not a function  
make: \*\*\* [Makefile:11: cubtri.o] Error 1

---

<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:** [February 7, 2023, 8:53pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/36 "2023-02-07T20:53:52Z")

</div>

this post:[Compilation error with gfortran10 - #3 by JuanP74](https://calculix.discourse.group/t/compilation-error-with-gfortran10/1048/3)

I recommend implementing the changes in this file ONTO the new version of c`ubtri.f` since it seems some syntax was updated by dhondt.

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [February 9, 2023, 8:13am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/37 "2023-02-09T08:13:47Z")

</div>

I replaced cubtri.f with the file from the link, this error disappeared.

Now make command stops with another error

make: \*\*\* No rule to make target ‘…/…/…/ARPACK/libarpack\_INTEL.a’, needed by ‘ccx\_2.20’. Stop.

It looks like the link down on the page [dhondt.de](http://dhondt.de) leads to an arpack package that has changed and new version does not support CalculiX.

---

<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:** [February 9, 2023, 4:43pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/38 "2023-02-09T16:43:24Z")

</div>

you have to modify the `Makefile` to point to the arpack library you compiled (or is installed) in your system. You can use the wayback machine to recover the broken link in calculix instructions: [ARPACK - Arnoldi Package](http://web.archive.org/web/20220121182321/https://www.caam.rice.edu/software/ARPACK/index.html)

---

<div class="post-metadata">

**Author:** ![HonestImpostor](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@HonestImpostor](https://calculix.discourse.group/u/HonestImpostor)\
**Post date:** [February 10, 2023, 9:35am UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/39 "2023-02-10T09:35:31Z")

</div>

Well, I suggest it is about these lines from /usr/local/CalculiX/ccx\_2.20/src/Makefile

LIBS =   
$(DIR)/spooles.a   
…/…/…/ARPACK/libarpack\_INTEL.a   
-lpthread -lm -lc

Going through installation according to [GitHub - opencollab/arpack-ng: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.](https://github.com/opencollab/arpack-ng), terminal showed this:

Libraries have been installed in:  
/usr/local/lib

If you ever happen to want to link against installed libraries  
in a given directory, LIBDIR, you must either use libtool, and  
specify the full pathname of the library, or use the ‘-LLIBDIR’  
flag during linking and do at least one of the following:

- add LIBDIR to the ‘LD\_LIBRARY\_PATH’ environment variable  
during execution
- add LIBDIR to the ‘LD\_RUN\_PATH’ environment variable  
during linking
- use the ‘-Wl,-rpath -Wl,LIBDIR’ linker flag
- have your system administrator add LIBDIR to ‘/etc/ld.so.conf’

See any operating system documentation about shared libraries for  
more information, such as the ld(1) and ld.so(8) manual pages.

How to apply one to another, I still don’t understand.

---

<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:** [February 10, 2023, 3:36pm UTC](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414/40 "2023-02-10T15:36:52Z")

</div>

calculix needs arpack libraries to be statically linked, not dynamic libraries. So I’d recommend you follow calculix compiling instructions using the provided download links: download arpack, compile the library as indicated, the result will be a single file `libarpack_(PLAT).a` where `(PLAT)` is substituted by the name indicated (e. g. `UBUNTU` if you’re using ubuntu linux) when compiling and, placing this file where indicated in calculix compilation instructions.

[Previous page](https://calculix.discourse.group/t/layered-shell-composite-with-spring-element/414.md?page=1)
