Skip to content

Commit e233e92

Browse files
authored
v2.9 (#122)
1 parent 07d3957 commit e233e92

File tree

386 files changed

+134750
-23867
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

386 files changed

+134750
-23867
lines changed

.github/workflows/dev-mkl-vtk.yml

+9-7
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-mkl-vtk-dev:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3
@@ -23,7 +24,7 @@ jobs:
2324
go build Checker/updater.go
2425
sudo apt-get update && sudo apt-get install mesa-common-dev mesa-utils freeglut3-dev libglvnd-dev dpkg-dev xz-utils intel-oneapi-mkl-devel intel-oneapi-compiler-dpcpp-cpp intel-oneapi-compiler-fortran
2526
source /opt/intel/oneapi/setvars.sh
26-
cmake -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icx -DCMAKE_Fortran_COMPILER=ifx -DCMAKE_BUILD_TYPE=Release -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DUSE_MKL=ON -DMKLROOT=/opt/intel/oneapi/mkl/latest/ -DLINK_DYNAMIC_MKL=OFF -DCMAKE_INSTALL_PREFIX=suanPan-linux-mkl-vtk .
27+
cmake -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DCMAKE_Fortran_COMPILER=ifx -DCMAKE_BUILD_TYPE=Debug -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DUSE_MKL=ON -DMKLROOT=/opt/intel/oneapi/mkl/latest/ -DLINK_DYNAMIC_MKL=OFF -DCMAKE_INSTALL_PREFIX=suanPan-linux-mkl-vtk .
2728
make install -j"$(nproc)"
2829
make package
2930
- name: Test
@@ -32,10 +33,11 @@ jobs:
3233
./suanPan-linux-mkl-vtk/bin/suanPan -v
3334
- uses: actions/upload-artifact@v3
3435
with:
35-
name: suanPan-2.8.0-1.x86_64.deb
36-
path: suanPan-2.8.0-1.x86_64.deb
36+
name: suanPan-2.9.0-1.x86_64.deb
37+
path: suanPan-2.9.0-1.x86_64.deb
3738
fedora-mkl-vtk-dev:
3839
runs-on: ubuntu-22.04
40+
timeout-minutes: 60
3941
container: fedora:36
4042
steps:
4143
- name: Setup
@@ -62,14 +64,14 @@ jobs:
6264
- name: Compile
6365
run: |
6466
source /opt/intel/oneapi/setvars.sh
65-
cmake -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icx -DCMAKE_Fortran_COMPILER=ifx -DCMAKE_BUILD_TYPE=Release -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DUSE_MKL=ON -DMKLROOT=/opt/intel/oneapi/mkl/latest/ -DLINK_DYNAMIC_MKL=OFF .
67+
cmake -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DCMAKE_Fortran_COMPILER=ifx -DCMAKE_BUILD_TYPE=Debug -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DUSE_MKL=ON -DMKLROOT=/opt/intel/oneapi/mkl/latest/ -DLINK_DYNAMIC_MKL=OFF .
6668
make package -j"$(nproc)"
6769
- name: Test
6870
run: |
69-
dnf install ./suanPan-2.8.0-1.x86_64.rpm -y
71+
dnf install ./suanPan-2.9.0-1.x86_64.rpm -y
7072
suanPan -v
7173
- name: Upload
7274
uses: actions/upload-artifact@v3
7375
with:
74-
name: suanPan-2.8.0-1.x86_64.rpm
75-
path: suanPan-2.8.0-1.x86_64.rpm
76+
name: suanPan-2.9.0-1.x86_64.rpm
77+
path: suanPan-2.9.0-1.x86_64.rpm

.github/workflows/dev-vtk.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-openblas-vtk-dev:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3
@@ -29,10 +30,11 @@ jobs:
2930
./suanPan-linux-openblas-vtk/bin/suanPan -v
3031
- uses: actions/upload-artifact@v3
3132
with:
32-
name: suanPan-2.8.0-1.x86_64.deb
33-
path: suanPan-2.8.0-1.x86_64.deb
33+
name: suanPan-2.9.0-1.x86_64.deb
34+
path: suanPan-2.9.0-1.x86_64.deb
3435
macos-openblas-vtk-dev:
3536
runs-on: macos-11
37+
timeout-minutes: 60
3638
steps:
3739
- name: Clone
3840
uses: actions/checkout@v3
@@ -55,6 +57,7 @@ jobs:
5557
./suanPan-macos-openblas-vtk/bin/suanPan -v
5658
windows-openblas-vtk-dev:
5759
runs-on: windows-2022
60+
timeout-minutes: 90
5861
steps:
5962
- name: Clone
6063
uses: actions/checkout@v3
@@ -67,7 +70,7 @@ jobs:
6770
- name: Compile
6871
run: |
6972
go build Checker/updater.go
70-
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=D:/a/suanPan/suanPan/lib/cmake/vtk-9.2/ -DCMAKE_INSTALL_PREFIX=suanPan-win-openblas-vtk .
73+
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=D:/a/suanPan/suanPan/lib/cmake/vtk-9.2/ -DCMAKE_INSTALL_PREFIX=suanPan-win-openblas-vtk .
7174
cmake --build . --target INSTALL --config Release -j 4
7275
- name: Pack
7376
run: |

.github/workflows/dev.yml

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-dev:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3
@@ -28,6 +29,7 @@ jobs:
2829
gcov: true
2930
macos-dev:
3031
runs-on: macos-11
32+
timeout-minutes: 60
3133
steps:
3234
- name: Clone
3335
uses: actions/checkout@v3

.github/workflows/master-mkl-vtk.yml

+43-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-mkl-vtk:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3
@@ -32,7 +33,7 @@ jobs:
3233
tar czf suanPan-linux-mkl-vtk.tar.gz suanPan-linux-mkl-vtk
3334
- name: Test
3435
run: |
35-
sudo apt-get install ./suanPan-2.8.0-1.x86_64.deb -y
36+
sudo apt-get install ./suanPan-2.9.0-1.x86_64.deb -y
3637
suanPan -v
3738
export LD_LIBRARY_PATH=/home/runner/work/suanPan/suanPan/suanPan-linux-mkl-vtk/lib
3839
cd suanPan-linux-mkl-vtk/bin
@@ -50,13 +51,49 @@ jobs:
5051
uses: svenstaro/upload-release-action@v2
5152
with:
5253
repo_token: ${{ secrets.GITHUB_TOKEN }}
53-
file: suanPan-2.8.0-1.x86_64.deb
54-
asset_name: suanPan-2.8.0-1.x86_64.deb
54+
file: suanPan-2.9.0-1.x86_64.deb
55+
asset_name: suanPan-2.9.0-1.x86_64.deb
56+
tag: ${{ env.SP_TIME }}
57+
prerelease: true
58+
overwrite: true
59+
ubuntu-mkl-vtk-no-avx:
60+
runs-on: ubuntu-22.04
61+
timeout-minutes: 60
62+
steps:
63+
- name: Clone
64+
uses: actions/checkout@v3
65+
- name: Install MKL VTK
66+
run: |
67+
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
68+
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
69+
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
70+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
71+
tar xf VTK-9.2.5-linux.tar.gz
72+
- name: Golang
73+
uses: actions/setup-go@v3
74+
- name: Compile
75+
run: |
76+
go build Checker/updater.go
77+
sudo apt-get update && sudo apt-get install mesa-common-dev mesa-utils freeglut3-dev libglvnd-dev intel-oneapi-mkl-devel dpkg-dev
78+
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_AVX=OFF -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DUSE_MKL=ON -DMKLROOT=/opt/intel/oneapi/mkl/latest/ -DUSE_INTEL_OPENMP=OFF -DLINK_DYNAMIC_MKL=OFF -DCMAKE_INSTALL_PREFIX=suanPan-linux-mkl-vtk-no-avx .
79+
make install -j"$(nproc)"
80+
make package
81+
- name: Pack
82+
run: |
83+
cp updater suanPan-linux-mkl-vtk-no-avx/bin
84+
tar czf suanPan-linux-mkl-vtk-no-avx.tar.gz suanPan-linux-mkl-vtk-no-avx
85+
- name: Release
86+
uses: svenstaro/upload-release-action@v2
87+
with:
88+
repo_token: ${{ secrets.GITHUB_TOKEN }}
89+
file: suanPan-linux-mkl-vtk-no-avx.tar.gz
90+
asset_name: suanPan-linux-mkl-vtk-no-avx.tar.gz
5591
tag: ${{ env.SP_TIME }}
5692
prerelease: true
5793
overwrite: true
5894
fedora-mkl-vtk:
5995
runs-on: ubuntu-22.04
96+
timeout-minutes: 60
6097
container: fedora:36
6198
steps:
6299
- name: Setup
@@ -87,14 +124,14 @@ jobs:
87124
make package -j"$(nproc)"
88125
- name: Test
89126
run: |
90-
dnf install ./suanPan-2.8.0-1.x86_64.rpm -y
127+
dnf install ./suanPan-2.9.0-1.x86_64.rpm -y
91128
suanPan -v
92129
- name: RPM
93130
uses: svenstaro/upload-release-action@v2
94131
with:
95132
repo_token: ${{ secrets.GITHUB_TOKEN }}
96-
file: suanPan-2.8.0-1.x86_64.rpm
97-
asset_name: suanPan-2.8.0-1.x86_64.rpm
133+
file: suanPan-2.9.0-1.x86_64.rpm
134+
asset_name: suanPan-2.9.0-1.x86_64.rpm
98135
tag: ${{ env.SP_TIME }}
99136
prerelease: true
100137
overwrite: true

.github/workflows/master-mkl.yml

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-mkl:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3

.github/workflows/master-vtk.yml

+71
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-openblas-vtk:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3
@@ -40,6 +41,7 @@ jobs:
4041
overwrite: true
4142
macos-openblas-vtk:
4243
runs-on: macos-11
44+
timeout-minutes: 60
4345
steps:
4446
- name: Clone
4547
uses: actions/checkout@v3
@@ -73,8 +75,45 @@ jobs:
7375
tag: ${{ env.SP_TIME }}
7476
prerelease: true
7577
overwrite: true
78+
macos-openblas-vtk-no-avx:
79+
runs-on: macos-11
80+
timeout-minutes: 60
81+
steps:
82+
- name: Clone
83+
uses: actions/checkout@v3
84+
- name: Install VTK
85+
run: |
86+
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
87+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-macos.tar.gz
88+
tar xf VTK-9.2.5-macos.tar.gz
89+
- name: Golang
90+
uses: actions/setup-go@v3
91+
- name: Compile
92+
run: |
93+
export CC=$(brew --prefix llvm@15)/bin/clang && export CXX=$(brew --prefix llvm@15)/bin/clang++ && export FC=gfortran-11
94+
go build Checker/updater.go
95+
brew install glfw glew libomp
96+
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_AVX=OFF -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DCMAKE_INSTALL_PREFIX=suanPan-macos-openblas-vtk-no-avx .
97+
make install -j4
98+
- name: Pack
99+
run: |
100+
cp updater suanPan-macos-openblas-vtk-no-avx/bin
101+
tar czf suanPan-macos-openblas-vtk-no-avx.tar.gz suanPan-macos-openblas-vtk-no-avx
102+
export DYLD_LIBRARY_PATH=/Users/runner/work/suanPan/suanPan/suanPan-macos-openblas-vtk-no-avx/lib/
103+
cd suanPan-macos-openblas-vtk-no-avx/bin
104+
./suanPan -v
105+
- name: Release
106+
uses: svenstaro/upload-release-action@v2
107+
with:
108+
repo_token: ${{ secrets.GITHUB_TOKEN }}
109+
file: suanPan-macos-openblas-vtk-no-avx.tar.gz
110+
asset_name: suanPan-macos-openblas-vtk-no-avx.tar.gz
111+
tag: ${{ env.SP_TIME }}
112+
prerelease: true
113+
overwrite: true
76114
windows-openblas-vtk:
77115
runs-on: windows-2022
116+
timeout-minutes: 90
78117
steps:
79118
- name: Clone
80119
uses: actions/checkout@v3
@@ -105,3 +144,35 @@ jobs:
105144
tag: ${{ env.SP_TIME }}
106145
prerelease: true
107146
overwrite: true
147+
windows-openblas-vtk-no-avx:
148+
runs-on: windows-2022
149+
timeout-minutes: 90
150+
steps:
151+
- name: Clone
152+
uses: actions/checkout@v3
153+
- name: Install VTK
154+
run: |
155+
echo ("SP_TIME=daily-"+(get-date -format "yyyyMMddHH")) >> $env:GITHUB_ENV
156+
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-win.7z
157+
7z x VTK-9.2.5-win.7z
158+
- name: Golang
159+
uses: actions/setup-go@v3
160+
- name: Compile
161+
run: |
162+
go build Checker/updater.go
163+
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_AVX=OFF -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=D:/a/suanPan/suanPan/lib/cmake/vtk-9.2/ -DCMAKE_INSTALL_PREFIX=suanPan-win-openblas-vtk-no-avx .
164+
cmake --build . --target INSTALL --config Release
165+
- name: Pack
166+
run: |
167+
cp updater.exe suanPan-win-openblas-vtk-no-avx/bin
168+
cd suanPan-win-openblas-vtk-no-avx/bin
169+
7z a ../../suanPan-win-openblas-vtk-no-avx.7z ./*
170+
- name: Release
171+
uses: svenstaro/upload-release-action@v2
172+
with:
173+
repo_token: ${{ secrets.GITHUB_TOKEN }}
174+
file: suanPan-win-openblas-vtk-no-avx.7z
175+
asset_name: suanPan-win-openblas-vtk-no-avx.7z
176+
tag: ${{ env.SP_TIME }}
177+
prerelease: true
178+
overwrite: true

.github/workflows/master.yml

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
ubuntu-openblas:
99
runs-on: ubuntu-22.04
10+
timeout-minutes: 60
1011
steps:
1112
- name: Clone
1213
uses: actions/checkout@v3
@@ -35,6 +36,7 @@ jobs:
3536
overwrite: true
3637
macos-openblas:
3738
runs-on: macos-11
39+
timeout-minutes: 60
3840
steps:
3941
- name: Clone
4042
uses: actions/checkout@v3

CHANGELOG.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22

33
## known issues
44

5-
1. `MKL` includes outdated `FEAST`, the external names in `FEAST` library are modified to avoid linking error.
5+
1. The `MKL` includes outdated `FEAST`, the external names in `FEAST` library are modified to avoid linking error.
6+
2. The `SPIKE` solver may occasionally hang, to circumvent, try to avoid mixing compilers from different vendors.
7+
3. The `MUMPS` solver throws segfaults with large matrices.
8+
9+
## version 2.9
10+
11+
1. matrix optimsation
12+
2. update `Catch2` to version `3.3.1`
13+
3. update `TBB` to version `2021.8.0`
14+
4. add mixed precision algorithm for `MUMPS` solver [#119](https://github.com/TLCFEM/suanPan/pull/119)
15+
5. add `CustomDegradation`, `CustomGurson` and `CustomGurson1D` models
16+
6. update `Armadillo` to version `12.0` [#121](https://github.com/TLCFEM/suanPan/pull/121)
617

718
## version 2.8
819

CITATION.cff

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ identifiers:
1919
- type: doi
2020
value: 10.5281/zenodo.1285221
2121
repository-code: 'https://github.com/TLCFEM/suanPan'
22-
url: 'https://bit.ly/suanpan-doc'
22+
url: 'https://tlcfem.github.io/suanPan-manual/latest/'
2323
keywords:
2424
- FEM
2525
- Seismic Engineering
@@ -28,5 +28,5 @@ keywords:
2828
- IGA
2929
- Solid Mechanics
3030
license: GPL-3.0
31-
version: '2.7'
32-
date-released: '2022-12-21'
31+
version: '2.9'
32+
date-released: '2023-02-25'

0 commit comments

Comments
 (0)