Skip to content

Commit 07d3957

Browse files
authored
v2.8 (#110)
1 parent cec7887 commit 07d3957

File tree

968 files changed

+73595
-6339
lines changed

Some content is hidden

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

968 files changed

+73595
-6339
lines changed

.github/.codecov.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
11
coverage:
2-
range: 70..80
2+
range: 80..90
33
round: up
44
precision: 4
5+
parsers:
6+
gcov:
7+
branch_detection:
8+
conditional: no
9+
loop: no
10+
method: no
11+
macro: no
512
ignore:
613
- "**/*Parser.cpp"
714
- "Developer"
@@ -16,3 +23,5 @@ ignore:
1623
- "Toolbox/mumps-src"
1724
- "Toolbox/superlu-src"
1825
- "Toolbox/superlumt-src"
26+
- "Toolbox/argument.cpp"
27+
- "Toolbox/command.cpp"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: Application Execution
3+
about: Create a report to help us improve
4+
title: "[Portability]"
5+
labels: 'portability'
6+
assignees: ''
7+
8+
---
9+
10+
***The application officially distributed requires AVX support. Please make sure your CPU supports AVX.***
11+
12+
***If possible, please try to compile the application locally first to see if it executes.***
13+
14+
**Platform**
15+
Please provide platform information, including OS, CPU.
16+
17+
**Issue**
18+
Please provide a screenshot, etc., that shows the failed execution of the application.

.github/ISSUE_TEMPLATE/bug_report.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
---
2-
name: Bug report
2+
name: Bug Report
33
about: Create a report to help us improve
44
title: "[BUG]"
5-
labels: ''
5+
labels: 'bug'
66
assignees: ''
77

88
---
99

1010
**Describe the bug**
1111
A clear and concise description of what the bug is.
1212

13-
**Expected behavior**
14-
A clear and concise description of the expected result should be.
13+
**Expected behaviour**
14+
A clear and concise description of the expected result should be. It would be even better if there is a theoretical solution or reference.
1515

16-
**To Reproduce**
17-
Please provide a MWE.
16+
**To reproduce**
17+
Please provide a MWE (minimum working example) model. It shall be as simple as possible to help efficiently identify the problem.
1818

1919
**Additional context**
2020
Add any other context about the problem here. If there are any references, please also provide them.

.github/ISSUE_TEMPLATE/feature_request.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
name: Feature request
2+
name: Feature Request
33
about: Suggest an idea for this project
44
title: "[FEATURE]"
5-
labels: ''
5+
labels: 'feature'
66
assignees: ''
77

88
---

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

+10-10
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ jobs:
1414
run: |
1515
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
1616
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
17-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
18-
tar xf VTK-9.2.2-linux.tar.gz
17+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
18+
tar xf VTK-9.2.5-linux.tar.gz
1919
- name: Golang
2020
uses: actions/setup-go@v3
2121
- name: Compile
@@ -32,11 +32,11 @@ jobs:
3232
./suanPan-linux-mkl-vtk/bin/suanPan -v
3333
- uses: actions/upload-artifact@v3
3434
with:
35-
name: suanPan-2.7.0-1.x86_64.deb
36-
path: suanPan-2.7.0-1.x86_64.deb
35+
name: suanPan-2.8.0-1.x86_64.deb
36+
path: suanPan-2.8.0-1.x86_64.deb
3737
fedora-mkl-vtk-dev:
3838
runs-on: ubuntu-22.04
39-
container: fedora:35
39+
container: fedora:36
4040
steps:
4141
- name: Setup
4242
run: |
@@ -57,19 +57,19 @@ jobs:
5757
uses: actions/checkout@v3
5858
- name: Install MKL VTK
5959
run: |
60-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
61-
tar xf VTK-9.2.2-linux.tar.gz
60+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
61+
tar xf VTK-9.2.5-linux.tar.gz
6262
- name: Compile
6363
run: |
6464
source /opt/intel/oneapi/setvars.sh
6565
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 .
6666
make package -j"$(nproc)"
6767
- name: Test
6868
run: |
69-
dnf install ./suanPan-2.7.0-1.x86_64.rpm -y
69+
dnf install ./suanPan-2.8.0-1.x86_64.rpm -y
7070
suanPan -v
7171
- name: Upload
7272
uses: actions/upload-artifact@v3
7373
with:
74-
name: suanPan-2.7.0-1.x86_64.rpm
75-
path: suanPan-2.7.0-1.x86_64.rpm
74+
name: suanPan-2.8.0-1.x86_64.rpm
75+
path: suanPan-2.8.0-1.x86_64.rpm

.github/workflows/dev-vtk.yml

+11-11
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ jobs:
1212
uses: actions/checkout@v3
1313
- name: Install VTK
1414
run: |
15-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
16-
tar xf VTK-9.2.2-linux.tar.gz
15+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
16+
tar xf VTK-9.2.5-linux.tar.gz
1717
- name: Golang
1818
uses: actions/setup-go@v3
1919
- name: Compile
@@ -29,24 +29,24 @@ jobs:
2929
./suanPan-linux-openblas-vtk/bin/suanPan -v
3030
- uses: actions/upload-artifact@v3
3131
with:
32-
name: suanPan-2.7.0-1.x86_64.deb
33-
path: suanPan-2.7.0-1.x86_64.deb
32+
name: suanPan-2.8.0-1.x86_64.deb
33+
path: suanPan-2.8.0-1.x86_64.deb
3434
macos-openblas-vtk-dev:
3535
runs-on: macos-11
3636
steps:
3737
- name: Clone
3838
uses: actions/checkout@v3
3939
- name: Install VTK
4040
run: |
41-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-macos.tar.gz
42-
tar xf VTK-9.2.2-macos.tar.gz
41+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-macos.tar.gz
42+
tar xf VTK-9.2.5-macos.tar.gz
4343
- name: Golang
4444
uses: actions/setup-go@v3
4545
- name: Compile
4646
run: |
47-
export CC=$(brew --prefix llvm@14)/bin/clang && export CXX=$(brew --prefix llvm@14)/bin/clang++ && export FC=gfortran-10
47+
export CC=$(brew --prefix llvm@15)/bin/clang && export CXX=$(brew --prefix llvm@15)/bin/clang++ && export FC=gfortran-11
4848
go build Checker/updater.go
49-
brew install llvm glfw glew libomp
49+
brew install glfw glew libomp
5050
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DCMAKE_INSTALL_PREFIX=suanPan-macos-openblas-vtk .
5151
make install -j4
5252
- name: Test
@@ -60,15 +60,15 @@ jobs:
6060
uses: actions/checkout@v3
6161
- name: Install VTK
6262
run: |
63-
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-win.7z
64-
7z x VTK-9.2.2-win.7z
63+
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-win.7z
64+
7z x VTK-9.2.5-win.7z
6565
- name: Golang
6666
uses: actions/setup-go@v3
6767
- name: Compile
6868
run: |
6969
go build Checker/updater.go
7070
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 .
71-
cmake --build . --target INSTALL --config Release
71+
cmake --build . --target INSTALL --config Release -j 4
7272
- name: Pack
7373
run: |
7474
cp updater.exe suanPan-win-openblas-vtk/bin

.github/workflows/dev.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ jobs:
3535
uses: actions/setup-go@v3
3636
- name: Compile
3737
run: |
38-
export CC=gcc-10 && export CXX=g++-10 && export FC=gfortran-10
38+
export CC=gcc-11 && export CXX=g++-11 && export FC=gfortran-11
3939
go build Checker/updater.go
4040
brew install libomp
4141
cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON .
4242
make -j4
43+
export DYLD_LIBRARY_PATH=Libs/mac/
4344
./suanPan -v

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

+11-11
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
1616
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
1717
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
18-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
19-
tar xf VTK-9.2.2-linux.tar.gz
18+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
19+
tar xf VTK-9.2.5-linux.tar.gz
2020
- name: Golang
2121
uses: actions/setup-go@v3
2222
- name: Compile
@@ -32,7 +32,7 @@ jobs:
3232
tar czf suanPan-linux-mkl-vtk.tar.gz suanPan-linux-mkl-vtk
3333
- name: Test
3434
run: |
35-
sudo apt-get install ./suanPan-2.7.0-1.x86_64.deb -y
35+
sudo apt-get install ./suanPan-2.8.0-1.x86_64.deb -y
3636
suanPan -v
3737
export LD_LIBRARY_PATH=/home/runner/work/suanPan/suanPan/suanPan-linux-mkl-vtk/lib
3838
cd suanPan-linux-mkl-vtk/bin
@@ -50,14 +50,14 @@ jobs:
5050
uses: svenstaro/upload-release-action@v2
5151
with:
5252
repo_token: ${{ secrets.GITHUB_TOKEN }}
53-
file: suanPan-2.7.0-1.x86_64.deb
54-
asset_name: suanPan-2.7.0-1.x86_64.deb
53+
file: suanPan-2.8.0-1.x86_64.deb
54+
asset_name: suanPan-2.8.0-1.x86_64.deb
5555
tag: ${{ env.SP_TIME }}
5656
prerelease: true
5757
overwrite: true
5858
fedora-mkl-vtk:
5959
runs-on: ubuntu-22.04
60-
container: fedora:35
60+
container: fedora:36
6161
steps:
6262
- name: Setup
6363
run: |
@@ -79,22 +79,22 @@ jobs:
7979
uses: actions/checkout@v3
8080
- name: Install MKL VTK
8181
run: |
82-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
83-
tar xf VTK-9.2.2-linux.tar.gz
82+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
83+
tar xf VTK-9.2.5-linux.tar.gz
8484
- name: Compile
8585
run: |
8686
cmake -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/ -DUSE_INTEL_OPENMP=OFF -DLINK_DYNAMIC_MKL=OFF .
8787
make package -j"$(nproc)"
8888
- name: Test
8989
run: |
90-
dnf install ./suanPan-2.7.0-1.x86_64.rpm -y
90+
dnf install ./suanPan-2.8.0-1.x86_64.rpm -y
9191
suanPan -v
9292
- name: RPM
9393
uses: svenstaro/upload-release-action@v2
9494
with:
9595
repo_token: ${{ secrets.GITHUB_TOKEN }}
96-
file: suanPan-2.7.0-1.x86_64.rpm
97-
asset_name: suanPan-2.7.0-1.x86_64.rpm
96+
file: suanPan-2.8.0-1.x86_64.rpm
97+
asset_name: suanPan-2.8.0-1.x86_64.rpm
9898
tag: ${{ env.SP_TIME }}
9999
prerelease: true
100100
overwrite: true

.github/workflows/master-vtk.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ jobs:
1313
- name: Install VTK
1414
run: |
1515
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
16-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
17-
tar xf VTK-9.2.2-linux.tar.gz
16+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
17+
tar xf VTK-9.2.5-linux.tar.gz
1818
- name: Golang
1919
uses: actions/setup-go@v3
2020
- name: Compile
@@ -46,15 +46,15 @@ jobs:
4646
- name: Install VTK
4747
run: |
4848
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
49-
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-macos.tar.gz
50-
tar xf VTK-9.2.2-macos.tar.gz
49+
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-macos.tar.gz
50+
tar xf VTK-9.2.5-macos.tar.gz
5151
- name: Golang
5252
uses: actions/setup-go@v3
5353
- name: Compile
5454
run: |
55-
export CC=$(brew --prefix llvm@14)/bin/clang && export CXX=$(brew --prefix llvm@14)/bin/clang++ && export FC=gfortran-10
55+
export CC=$(brew --prefix llvm@15)/bin/clang && export CXX=$(brew --prefix llvm@15)/bin/clang++ && export FC=gfortran-11
5656
go build Checker/updater.go
57-
brew install llvm glfw glew libomp
57+
brew install glfw glew libomp
5858
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DUSE_EXTERNAL_VTK=ON -DVTK_DIR=./lib/cmake/vtk-9.2/ -DCMAKE_INSTALL_PREFIX=suanPan-macos-openblas-vtk .
5959
make install -j4
6060
- name: Pack
@@ -81,8 +81,8 @@ jobs:
8181
- name: Install VTK
8282
run: |
8383
echo ("SP_TIME=daily-"+(get-date -format "yyyyMMddHH")) >> $env:GITHUB_ENV
84-
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-win.7z
85-
7z x VTK-9.2.2-win.7z
84+
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-win.7z
85+
7z x VTK-9.2.5-win.7z
8686
- name: Golang
8787
uses: actions/setup-go@v3
8888
- name: Compile

.github/workflows/master.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
uses: actions/setup-go@v3
4343
- name: Compile
4444
run: |
45-
export CC=gcc-10 && export CXX=g++-10 && export FC=gfortran-10
45+
export CC=gcc-11 && export CXX=g++-11 && export FC=gfortran-11
4646
go build Checker/updater.go
4747
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
4848
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DCMAKE_INSTALL_PREFIX=suanPan-macos-openblas .

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ $RECYCLE.BIN/
2020
/.vscode/*
2121
/build/*
2222
/Checker/.idea/*
23+
/Checker/*.exe
2324
/cmake-build*/*
2425
/Document/*
2526
/MSVC/Debug/*

CHANGELOG.md

+16-3
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,29 @@
33
## known issues
44

55
1. `MKL` includes outdated `FEAST`, the external names in `FEAST` library are modified to avoid linking error.
6-
2. `OpenBLAS` causes SEGFAULT with version 0.3.15+ when compiled with `DYNAMIC_ARCH` enabled.
6+
7+
## version 2.8
8+
9+
1. better on screen display with the fmt library [#99](https://github.com/TLCFEM/suanPan/pull/99)
10+
2. add command `overview`
11+
3. update `OpenBLAS` to version `0.3.21`
12+
4. add Euler buckling load check for `T2D2` [#104](https://github.com/TLCFEM/suanPan/pull/104)
13+
5. speed-up analysis with visualisation recorder [#102](https://github.com/TLCFEM/suanPan/pull/102)
14+
6. update `VTK` to version `9.2.5`
15+
7. add `Expression` to support custom function definition [#105](https://github.com/TLCFEM/suanPan/pull/105)
16+
8. add `CustomMises1D`, `CustomCC`, `CustomCDP`, `CustomDP`, `CustomJ2` and `CustomHoffman` models
717

818
## version 2.7
919

1020
1. optimise assembling of symmetric global matrices [#79](https://github.com/TLCFEM/suanPan/pull/79)
11-
2. extend `BatheTwoStep` to allow customisation of spectral radius [#81](https://github.com/TLCFEM/suanPan/pull/81) and sub-step size [#82](https://github.com/TLCFEM/suanPan/pull/82)
21+
2. extend `BatheTwoStep` to allow customisation of spectral radius [#81](https://github.com/TLCFEM/suanPan/pull/81) and
22+
sub-step size [#82](https://github.com/TLCFEM/suanPan/pull/82)
1223
3. update `Catch2` to version `2.13.10`
1324
4. update `Armadillo` to version `11.4`
1425
5. update modern `Arpack` [#94](https://github.com/TLCFEM/suanPan/pull/94)
15-
6. add `Tchamwa` [#88](https://github.com/TLCFEM/suanPan/pull/88), `BatheExplicit` [#90](https://github.com/TLCFEM/suanPan/pull/90) and `GeneralisedAlphaExplicit` [#93](https://github.com/TLCFEM/suanPan/pull/93) explicit time integration methods
26+
6. add `Tchamwa` [#88](https://github.com/TLCFEM/suanPan/pull/88),
27+
`BatheExplicit` [#90](https://github.com/TLCFEM/suanPan/pull/90)
28+
and `GeneralisedAlphaExplicit` [#93](https://github.com/TLCFEM/suanPan/pull/93) explicit time integration methods
1629
7. add `OALTS` two-step implicit time integration method [#92](https://github.com/TLCFEM/suanPan/pull/92)
1730
8. add `Sinh1D` and `Tanh1D` nonlinear elastic 1D material
1831
9. add `linear_system` flag to speed up linear system analysis

CITATION.cff

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ keywords:
2828
- IGA
2929
- Solid Mechanics
3030
license: GPL-3.0
31-
version: '2.6.1'
32-
date-released: '2022-11-09'
31+
version: '2.7'
32+
date-released: '2022-12-21'

0 commit comments

Comments
 (0)