Skip to content

Commit

Permalink
v2.8 (#110)
Browse files Browse the repository at this point in the history
  • Loading branch information
TLCFEM authored Jan 20, 2023
1 parent cec7887 commit 07d3957
Show file tree
Hide file tree
Showing 968 changed files with 73,595 additions and 6,339 deletions.
11 changes: 10 additions & 1 deletion .github/.codecov.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
coverage:
range: 70..80
range: 80..90
round: up
precision: 4
parsers:
gcov:
branch_detection:
conditional: no
loop: no
method: no
macro: no
ignore:
- "**/*Parser.cpp"
- "Developer"
Expand All @@ -16,3 +23,5 @@ ignore:
- "Toolbox/mumps-src"
- "Toolbox/superlu-src"
- "Toolbox/superlumt-src"
- "Toolbox/argument.cpp"
- "Toolbox/command.cpp"
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/application_execution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Application Execution
about: Create a report to help us improve
title: "[Portability]"
labels: 'portability'
assignees: ''

---

***The application officially distributed requires AVX support. Please make sure your CPU supports AVX.***

***If possible, please try to compile the application locally first to see if it executes.***

**Platform**
Please provide platform information, including OS, CPU.

**Issue**
Please provide a screenshot, etc., that shows the failed execution of the application.
12 changes: 6 additions & 6 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
---
name: Bug report
name: Bug Report
about: Create a report to help us improve
title: "[BUG]"
labels: ''
labels: 'bug'
assignees: ''

---

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

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

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

**Additional context**
Add any other context about the problem here. If there are any references, please also provide them.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: Feature request
name: Feature Request
about: Suggest an idea for this project
title: "[FEATURE]"
labels: ''
labels: 'feature'
assignees: ''

---
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/dev-mkl-vtk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
run: |
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
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
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
tar xf VTK-9.2.2-linux.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
tar xf VTK-9.2.5-linux.tar.gz
- name: Golang
uses: actions/setup-go@v3
- name: Compile
Expand All @@ -32,11 +32,11 @@ jobs:
./suanPan-linux-mkl-vtk/bin/suanPan -v
- uses: actions/upload-artifact@v3
with:
name: suanPan-2.7.0-1.x86_64.deb
path: suanPan-2.7.0-1.x86_64.deb
name: suanPan-2.8.0-1.x86_64.deb
path: suanPan-2.8.0-1.x86_64.deb
fedora-mkl-vtk-dev:
runs-on: ubuntu-22.04
container: fedora:35
container: fedora:36
steps:
- name: Setup
run: |
Expand All @@ -57,19 +57,19 @@ jobs:
uses: actions/checkout@v3
- name: Install MKL VTK
run: |
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
tar xf VTK-9.2.2-linux.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
tar xf VTK-9.2.5-linux.tar.gz
- name: Compile
run: |
source /opt/intel/oneapi/setvars.sh
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 .
make package -j"$(nproc)"
- name: Test
run: |
dnf install ./suanPan-2.7.0-1.x86_64.rpm -y
dnf install ./suanPan-2.8.0-1.x86_64.rpm -y
suanPan -v
- name: Upload
uses: actions/upload-artifact@v3
with:
name: suanPan-2.7.0-1.x86_64.rpm
path: suanPan-2.7.0-1.x86_64.rpm
name: suanPan-2.8.0-1.x86_64.rpm
path: suanPan-2.8.0-1.x86_64.rpm
22 changes: 11 additions & 11 deletions .github/workflows/dev-vtk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
uses: actions/checkout@v3
- name: Install VTK
run: |
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
tar xf VTK-9.2.2-linux.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
tar xf VTK-9.2.5-linux.tar.gz
- name: Golang
uses: actions/setup-go@v3
- name: Compile
Expand All @@ -29,24 +29,24 @@ jobs:
./suanPan-linux-openblas-vtk/bin/suanPan -v
- uses: actions/upload-artifact@v3
with:
name: suanPan-2.7.0-1.x86_64.deb
path: suanPan-2.7.0-1.x86_64.deb
name: suanPan-2.8.0-1.x86_64.deb
path: suanPan-2.8.0-1.x86_64.deb
macos-openblas-vtk-dev:
runs-on: macos-11
steps:
- name: Clone
uses: actions/checkout@v3
- name: Install VTK
run: |
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-macos.tar.gz
tar xf VTK-9.2.2-macos.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-macos.tar.gz
tar xf VTK-9.2.5-macos.tar.gz
- name: Golang
uses: actions/setup-go@v3
- name: Compile
run: |
export CC=$(brew --prefix llvm@14)/bin/clang && export CXX=$(brew --prefix llvm@14)/bin/clang++ && export FC=gfortran-10
export CC=$(brew --prefix llvm@15)/bin/clang && export CXX=$(brew --prefix llvm@15)/bin/clang++ && export FC=gfortran-11
go build Checker/updater.go
brew install llvm glfw glew libomp
brew install glfw glew libomp
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 .
make install -j4
- name: Test
Expand All @@ -60,15 +60,15 @@ jobs:
uses: actions/checkout@v3
- name: Install VTK
run: |
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-win.7z
7z x VTK-9.2.2-win.7z
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-win.7z
7z x VTK-9.2.5-win.7z
- name: Golang
uses: actions/setup-go@v3
- name: Compile
run: |
go build Checker/updater.go
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 .
cmake --build . --target INSTALL --config Release
cmake --build . --target INSTALL --config Release -j 4
- name: Pack
run: |
cp updater.exe suanPan-win-openblas-vtk/bin
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@ jobs:
uses: actions/setup-go@v3
- name: Compile
run: |
export CC=gcc-10 && export CXX=g++-10 && export FC=gfortran-10
export CC=gcc-11 && export CXX=g++-11 && export FC=gfortran-11
go build Checker/updater.go
brew install libomp
cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON .
make -j4
export DYLD_LIBRARY_PATH=Libs/mac/
./suanPan -v
22 changes: 11 additions & 11 deletions .github/workflows/master-mkl-vtk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ jobs:
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
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
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
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
tar xf VTK-9.2.2-linux.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
tar xf VTK-9.2.5-linux.tar.gz
- name: Golang
uses: actions/setup-go@v3
- name: Compile
Expand All @@ -32,7 +32,7 @@ jobs:
tar czf suanPan-linux-mkl-vtk.tar.gz suanPan-linux-mkl-vtk
- name: Test
run: |
sudo apt-get install ./suanPan-2.7.0-1.x86_64.deb -y
sudo apt-get install ./suanPan-2.8.0-1.x86_64.deb -y
suanPan -v
export LD_LIBRARY_PATH=/home/runner/work/suanPan/suanPan/suanPan-linux-mkl-vtk/lib
cd suanPan-linux-mkl-vtk/bin
Expand All @@ -50,14 +50,14 @@ jobs:
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: suanPan-2.7.0-1.x86_64.deb
asset_name: suanPan-2.7.0-1.x86_64.deb
file: suanPan-2.8.0-1.x86_64.deb
asset_name: suanPan-2.8.0-1.x86_64.deb
tag: ${{ env.SP_TIME }}
prerelease: true
overwrite: true
fedora-mkl-vtk:
runs-on: ubuntu-22.04
container: fedora:35
container: fedora:36
steps:
- name: Setup
run: |
Expand All @@ -79,22 +79,22 @@ jobs:
uses: actions/checkout@v3
- name: Install MKL VTK
run: |
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
tar xf VTK-9.2.2-linux.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
tar xf VTK-9.2.5-linux.tar.gz
- name: Compile
run: |
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 .
make package -j"$(nproc)"
- name: Test
run: |
dnf install ./suanPan-2.7.0-1.x86_64.rpm -y
dnf install ./suanPan-2.8.0-1.x86_64.rpm -y
suanPan -v
- name: RPM
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: suanPan-2.7.0-1.x86_64.rpm
asset_name: suanPan-2.7.0-1.x86_64.rpm
file: suanPan-2.8.0-1.x86_64.rpm
asset_name: suanPan-2.8.0-1.x86_64.rpm
tag: ${{ env.SP_TIME }}
prerelease: true
overwrite: true
16 changes: 8 additions & 8 deletions .github/workflows/master-vtk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
- name: Install VTK
run: |
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-linux.tar.gz
tar xf VTK-9.2.2-linux.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-linux.tar.gz
tar xf VTK-9.2.5-linux.tar.gz
- name: Golang
uses: actions/setup-go@v3
- name: Compile
Expand Down Expand Up @@ -46,15 +46,15 @@ jobs:
- name: Install VTK
run: |
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-macos.tar.gz
tar xf VTK-9.2.2-macos.tar.gz
wget https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-macos.tar.gz
tar xf VTK-9.2.5-macos.tar.gz
- name: Golang
uses: actions/setup-go@v3
- name: Compile
run: |
export CC=$(brew --prefix llvm@14)/bin/clang && export CXX=$(brew --prefix llvm@14)/bin/clang++ && export FC=gfortran-10
export CC=$(brew --prefix llvm@15)/bin/clang && export CXX=$(brew --prefix llvm@15)/bin/clang++ && export FC=gfortran-11
go build Checker/updater.go
brew install llvm glfw glew libomp
brew install glfw glew libomp
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 .
make install -j4
- name: Pack
Expand All @@ -81,8 +81,8 @@ jobs:
- name: Install VTK
run: |
echo ("SP_TIME=daily-"+(get-date -format "yyyyMMddHH")) >> $env:GITHUB_ENV
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.2-win.7z
7z x VTK-9.2.2-win.7z
C:/msys64/usr/bin/wget.exe https://github.com/TLCFEM/prebuilds/releases/download/latest/VTK-9.2.5-win.7z
7z x VTK-9.2.5-win.7z
- name: Golang
uses: actions/setup-go@v3
- name: Compile
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
uses: actions/setup-go@v3
- name: Compile
run: |
export CC=gcc-10 && export CXX=g++-10 && export FC=gfortran-10
export CC=gcc-11 && export CXX=g++-11 && export FC=gfortran-11
go build Checker/updater.go
echo "SP_TIME=daily-$(date +''%Y%m%d%H'')" >> $GITHUB_ENV
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_MULTITHREAD=ON -DUSE_HDF5=ON -DCMAKE_INSTALL_PREFIX=suanPan-macos-openblas .
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ $RECYCLE.BIN/
/.vscode/*
/build/*
/Checker/.idea/*
/Checker/*.exe
/cmake-build*/*
/Document/*
/MSVC/Debug/*
Expand Down
19 changes: 16 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,29 @@
## known issues

1. `MKL` includes outdated `FEAST`, the external names in `FEAST` library are modified to avoid linking error.
2. `OpenBLAS` causes SEGFAULT with version 0.3.15+ when compiled with `DYNAMIC_ARCH` enabled.

## version 2.8

1. better on screen display with the fmt library [#99](https://github.com/TLCFEM/suanPan/pull/99)
2. add command `overview`
3. update `OpenBLAS` to version `0.3.21`
4. add Euler buckling load check for `T2D2` [#104](https://github.com/TLCFEM/suanPan/pull/104)
5. speed-up analysis with visualisation recorder [#102](https://github.com/TLCFEM/suanPan/pull/102)
6. update `VTK` to version `9.2.5`
7. add `Expression` to support custom function definition [#105](https://github.com/TLCFEM/suanPan/pull/105)
8. add `CustomMises1D`, `CustomCC`, `CustomCDP`, `CustomDP`, `CustomJ2` and `CustomHoffman` models

## version 2.7

1. optimise assembling of symmetric global matrices [#79](https://github.com/TLCFEM/suanPan/pull/79)
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)
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)
3. update `Catch2` to version `2.13.10`
4. update `Armadillo` to version `11.4`
5. update modern `Arpack` [#94](https://github.com/TLCFEM/suanPan/pull/94)
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
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
7. add `OALTS` two-step implicit time integration method [#92](https://github.com/TLCFEM/suanPan/pull/92)
8. add `Sinh1D` and `Tanh1D` nonlinear elastic 1D material
9. add `linear_system` flag to speed up linear system analysis
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ keywords:
- IGA
- Solid Mechanics
license: GPL-3.0
version: '2.6.1'
date-released: '2022-11-09'
version: '2.7'
date-released: '2022-12-21'
Loading

0 comments on commit 07d3957

Please sign in to comment.