Skip to content

Commit 6fdce48

Browse files
MakisHboris-martinMatthiasFreimuthMatthias FreimuthIshaanDesai
authored
Release v2.20.0 (#110)
* Improved error message (for missing mesh) (#88) * Added error message for missing faces mesh * Improved error message for missing nodes mesh * 2D simulations major overhaul (#92) Fixed 2D simulations being unusable with Temperature BC. Arbitrary number of elements on the Z-axis is now allowed and handled assuming data independant of the Z-axis. * Added Pressure ExchangeData, hexaedral elements and Modal Dynamic Modus (#91) * Added Pressure ExchangeData, hexaedral elements and Modal Dynamic Modus * Update dyna_precice.c Co-authored-by: Matthias Freimuth <[email protected]> Co-authored-by: Boris Martin <[email protected]> * format * Added warning of broken implicit coupling when using modal dynamic simulations * Fixed mesh configuration 2D coupling with Face meshes (#94) * Fixed mesh config for face mesh * Removed dead code * Fixed missing include * Fixed crash when using face meshes and element IDs don't start to 0 (#95) * Fixed crashing simulation when using face meshes and element IDs don't start to 0 * Typo Co-authored-by: Ishaan Desai <[email protected]> * Typo Co-authored-by: Ishaan Desai <[email protected]> * Typo Co-authored-by: Ishaan Desai <[email protected]> * Update adapter/CCXHelpers.h Co-authored-by: Ishaan Desai <[email protected]> * format * reverted fallow-argument-mismatch * format Co-authored-by: Ishaan Desai <[email protected]> * Revert "Fixed crash when using face meshes and element IDs don't start to 0 (#95)" (#96) This reverts commit 9cfc0cf. * Update packaging script to Ubuntu 22.04 LTS (#98) * added ubuntu 22.04 to the list of OSes in Github action * updated to 2 Ubuntu LTS only, added fflags * fixed wrong distribution name * added preivous Ubuntu non-LTS * fixd missing os * typo * removed non LTS * Fixed face mesh config(correct PR) (#97) * Fixed crashing simulation when using face meshes and element IDs don't start to 0 * Typo Co-authored-by: Ishaan Desai <[email protected]> * Typo Co-authored-by: Ishaan Desai <[email protected]> * Typo Co-authored-by: Ishaan Desai <[email protected]> * Update adapter/CCXHelpers.h Co-authored-by: Ishaan Desai <[email protected]> Co-authored-by: Ishaan Desai <[email protected]> * format * format * restored script * Fixed implicit coupling in modal dynamic simulation. (#99) * Fixed missing checkpointing * fixed extra output in implicit coupling * removed deprecated warnings * Fixed crash when freeing unused pointers (#102) * init NULL pointers * Enable Static Step for FSI (#101) * Update ccx_2.19.c Enable basic Static Step * Update ccx_2.19.c * Update ccx_2.19.c * Add error messages when reading invalid data in modal dynamic simulations (#103) * registering modal dynamic * added forbidden reading types to modal dynamic sims * added actual error * Update adapter/PreciceInterface.c Co-authored-by: Gerasimos Chourdakis <[email protected]> * Update adapter/PreciceInterface.h Co-authored-by: Gerasimos Chourdakis <[email protected]> Co-authored-by: Gerasimos Chourdakis <[email protected]> * basic infrastructure for proper checkpointingin dyna_precice * seemingly working implict + subcycling modal dynamic simulations * Prototype output buffer * added C API * added missing function * improved Buffer * Actual usage of the buffer, seemingly working * added short description of the buffer mechanism * cleanup * refactoring * format * removed dead code * renamed for consistency * no longer asking for length when loading data * cleanup * documentation * removed apparently useless memcpy (#104) * Make read/write data name parsing consistent (#108) * Update for CalculiX v2.20 (#109) Co-authored-by: Boris Martin <[email protected]> Co-authored-by: MatthiasFreimuth <[email protected]> Co-authored-by: Matthias Freimuth <[email protected]> Co-authored-by: Boris Martin <[email protected]> Co-authored-by: Ishaan Desai <[email protected]> Co-authored-by: Kyle Davis <[email protected]>
1 parent 4496e8f commit 6fdce48

25 files changed

+4036
-583
lines changed

.github/workflows/ubuntu_build.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Calculix 2.19 with preCICE adapter test build
1+
name: Calculix 2.20 with preCICE adapter test build
22

33
on: [push, pull_request]
44

@@ -7,42 +7,44 @@ jobs:
77

88
strategy:
99
matrix:
10-
os: [ubuntu-18.04, ubuntu-20.04]
10+
os: [ubuntu-20.04, ubuntu-22.04]
1111
include:
12-
- os: ubuntu-18.04
13-
name: bionic
1412
- os: ubuntu-20.04
1513
name: focal
14+
- os: ubuntu-22.04
15+
name: jammy
16+
flags: -fallow-argument-mismatch
17+
1618
runs-on: ${{matrix.os}}
1719
continue-on-error: true
1820
env: # Versioning is "calculix-preciceX_2.YY-Z[...]" with X the major preCICE version, YY the minor CCX version and Z the package version
19-
PACKAGE_NAME: "calculix-precice2_2.19.0-1_amd64"
21+
PACKAGE_NAME: "calculix-precice2_2.20.0-1_amd64"
2022

2123
steps:
2224
- name: Update system
2325
run: sudo apt update && sudo apt upgrade -y
2426
- uses: actions/checkout@v2
2527
with:
2628
ref: ${{ github.ref }}
27-
- name: Get preCICE v2.3.0
28-
run: wget https://github.com/precice/precice/releases/download/v2.3.0/libprecice2_2.3.0_${{matrix.name}}.deb &&
29-
sudo apt install ./libprecice2_2.3.0_${{matrix.name}}.deb -y
29+
- name: Get preCICE v2.4.0
30+
run: wget https://github.com/precice/precice/releases/download/v2.4.0/libprecice2_2.4.0_${{matrix.name}}.deb &&
31+
sudo apt install ./libprecice2_2.4.0_${{matrix.name}}.deb -y
3032
- name: install dependencies
3133
run: sudo apt install libarpack2-dev libspooles-dev libyaml-cpp-dev -y
3234
- name: Download CalculiX
33-
run: wget http://www.dhondt.de/ccx_2.19.src.tar.bz2
35+
run: wget http://www.dhondt.de/ccx_2.20.src.tar.bz2
3436
- name: Unpack Calculix
35-
run: tar -xjf ccx_2.19.src.tar.bz2
37+
run: tar -xjf ccx_2.20.src.tar.bz2
3638
- name: make
37-
run: make -j 4 CCX="./CalculiX/ccx_2.19/src"
39+
run: make -j 4 CCX="./CalculiX/ccx_2.20/src" ADDITIONAL_FFLAGS="${{matrix.flags}}"
3840
- name: Test run
3941
run: ./bin/ccx_preCICE -h
4042
- name: Download tools for packaging
4143
run: sudo apt install lintian pandoc -y
4244
- name: Create Debian Package
4345
run: |
44-
mkdir -p "packaging/calculix-precice2_2.19.0-1_amd64/usr/bin" &&
45-
cp ./bin/ccx_preCICE ./packaging/calculix-precice2_2.19.0-1_amd64/usr/bin/ccx_preCICE &&
46+
mkdir -p "packaging/calculix-precice2_2.20.0-1_amd64/usr/bin" &&
47+
cp ./bin/ccx_preCICE ./packaging/calculix-precice2_2.20.0-1_amd64/usr/bin/ccx_preCICE &&
4648
cd packaging && pwd && bash ./make_deb.sh ${{matrix.name}}
4749
- name: Store Debian package artifact
4850
uses: actions/upload-artifact@v2

CalculiX.h

Lines changed: 183 additions & 116 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# https://precice.org/adapter-calculix-get-calculix.html
33
# Set the following variables before building:
44
# Path to original CalculiX source (e.g. $(HOME)/ccx_2.xx/src )
5-
CCX_VERSION = 2.19
5+
CCX_VERSION = 2.20
66
CCX = $(HOME)/CalculiX/ccx_$(CCX_VERSION)/src
77

88
### Change these if you built SPOOLES, ARPACK, or yaml-cpp from source ###
@@ -62,7 +62,7 @@ else
6262
CC = mpicc
6363
endif
6464

65-
FFLAGS = -Wall -O3 -fopenmp $(INCLUDES)
65+
FFLAGS = -Wall -O3 -fopenmp $(INCLUDES) ${ADDITIONAL_FFLAGS}
6666
# Note for GCC 10 or newer: add -fallow-argument-mismatch in the above flags
6767
FC = mpifort
6868
# FC = mpif90
@@ -73,7 +73,7 @@ include $(CCX)/Makefile.inc
7373
SCCXMAIN = ccx_$(CCX_VERSION).c
7474

7575
# Append additional sources
76-
SCCXC += nonlingeo_precice.c CCXHelpers.c PreciceInterface.c
76+
SCCXC += nonlingeo_precice.c dyna_precice.c CCXHelpers.c PreciceInterface.c
7777
SCCXF += getflux.f getkdeltatemp.f
7878

7979

@@ -99,7 +99,7 @@ $(OBJDIR)/%.o : $(CCX)/%.f
9999
OCCXF = $(SCCXF:%.f=$(OBJDIR)/%.o)
100100
OCCXC = $(SCCXC:%.c=$(OBJDIR)/%.o)
101101
OCCXMAIN = $(SCCXMAIN:%.c=$(OBJDIR)/%.o)
102-
OCCXC += $(OBJDIR)/ConfigReader.o
102+
OCCXC += $(OBJDIR)/ConfigReader.o $(OBJDIR)/2D3DCoupling.o $(OBJDIR)/OutputBuffer.o
103103

104104

105105

Makefile_i8_PaStiX

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# See our wiki for getting the CalculiX dependencies:
22
# https://precice.org/adapter-calculix-get-calculix.html
33
# Set the following variables before building:
4-
# Path to original CalculiX source (e.g. $(HOME)/ccx_2.19/src )
5-
CCX = $(HOME)/CalculiX/ccx_2.19/src
4+
# Path to original CalculiX source (e.g. $(HOME)/ccx_2.20/src )
5+
CCX = $(HOME)/CalculiX/ccx_2.20/src
66

77
### Change these if you built SPOOLES, ARPACK, or yaml-cpp from source ###
88
# SPOOLES include flags (e.g. -I$(HOME)/SPOOLES.2.2 )
@@ -86,7 +86,7 @@ FC = mpifort
8686

8787
# Include a list of all the source files
8888
include $(CCX)/Makefile.inc
89-
SCCXMAIN = ccx_2.19.c
89+
SCCXMAIN = ccx_2.20.c
9090

9191
# Append additional sources
9292
SCCXC += nonlingeo_precice.c CCXHelpers.c PreciceInterface.c
@@ -119,14 +119,14 @@ OCCXC += $(OBJDIR)/ConfigReader.o
119119

120120

121121

122-
$(OBJDIR)/ccx_preCICE: $(OBJDIR) $(OCCXMAIN) $(OBJDIR)/ccx_2.19.a
123-
$(FC) -fopenmp -Wall -O3 -o $@ $(OCCXMAIN) $(OBJDIR)/ccx_2.19.a $(LIBS)
122+
$(OBJDIR)/ccx_preCICE: $(OBJDIR) $(OCCXMAIN) $(OBJDIR)/ccx_2.20.a
123+
$(FC) -fopenmp -Wall -O3 -o $@ $(OCCXMAIN) $(OBJDIR)/ccx_2.20.a $(LIBS)
124124

125-
$(OBJDIR)/ccx_2.19.a: $(OCCXF) $(OCCXC)
125+
$(OBJDIR)/ccx_2.20.a: $(OCCXF) $(OCCXC)
126126
ar vr $@ $?
127127

128128
$(OBJDIR):
129129
mkdir -p $(OBJDIR)
130130

131131
clean:
132-
rm -f $(OBJDIR)/*.o $(OBJDIR)/ccx_2.19.a $(OBJDIR)/ccx_preCICE
132+
rm -f $(OBJDIR)/*.o $(OBJDIR)/ccx_2.20.a $(OBJDIR)/ccx_preCICE

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The adapter was initially developed for conjugate heat transfer (CHT) simulations via preCICE by Lucia Cheung in the scope of her master’s thesis [[1]](https://www5.in.tum.de/pub/Cheung2016_Thesis.pdf) in cooperation with [SimScale](https://www.simscale.com/). For running the adapter for CHT simulations refer to this thesis. The adapter was extended to fluid-structure interaction by Alexander Rusch [[2]](https://www.gacm2017.uni-stuttgart.de/registration/Upload/ExtendedAbstracts/ExtendedAbstract_0138.pdf).
44

5-
The latest version of the adapter is based on **CalculiX version 2.19.**
5+
The latest version of the adapter is based on **CalculiX version 2.20.**
66
Legacy versions of the adapter for older versions of CalculiX are supported on various branches. Branches for CalculiX version older than 2.15 require **preCICE v1.x**, whereas newer versions rely on **preCICE v2.x**.
77

88
## Start here

0 commit comments

Comments
 (0)