muGrid 0.90.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mugrid-0.90.1/.clang-format +7 -0
- mugrid-0.90.1/.gitattributes +3 -0
- mugrid-0.90.1/.github/install_netcdf4.sh +19 -0
- mugrid-0.90.1/.github/workflows/publish.yml +49 -0
- mugrid-0.90.1/.github/workflows/ubuntu.yml +93 -0
- mugrid-0.90.1/.github/workflows/wheels.yml +73 -0
- mugrid-0.90.1/.gitignore +12 -0
- mugrid-0.90.1/.gitmodules +11 -0
- mugrid-0.90.1/CHANGELOG.md +249 -0
- mugrid-0.90.1/CPPLINT.cfg +5 -0
- mugrid-0.90.1/LICENSE +674 -0
- mugrid-0.90.1/PKG-INFO +774 -0
- mugrid-0.90.1/README.md +83 -0
- mugrid-0.90.1/discover_version.py +148 -0
- mugrid-0.90.1/doc/dev-docs/MainSchema.png +0 -0
- mugrid-0.90.1/doc/dev-docs/Makefile +20 -0
- mugrid-0.90.1/doc/dev-docs/logo_flat.png +0 -0
- mugrid-0.90.1/doc/dev-docs/logo_square.png +0 -0
- mugrid-0.90.1/doc/dev-docs/requirements.txt +4 -0
- mugrid-0.90.1/doc/dev-docs/source/CellSplit.rst +54 -0
- mugrid-0.90.1/doc/dev-docs/source/CodingConvention.rst +3082 -0
- mugrid-0.90.1/doc/dev-docs/source/ConstitutiveLaws.rst +129 -0
- mugrid-0.90.1/doc/dev-docs/source/Doxyfile +29 -0
- mugrid-0.90.1/doc/dev-docs/source/GettingStarted.rst +181 -0
- mugrid-0.90.1/doc/dev-docs/source/License.rst +400 -0
- mugrid-0.90.1/doc/dev-docs/source/MaterialLaminate.rst +56 -0
- mugrid-0.90.1/doc/dev-docs/source/MaterialLinearElasticGeneric.rst +53 -0
- mugrid-0.90.1/doc/dev-docs/source/NewMaterial.rst +250 -0
- mugrid-0.90.1/doc/dev-docs/source/OrganisationOfCode.rst +24 -0
- mugrid-0.90.1/doc/dev-docs/source/Reference.rst +7 -0
- mugrid-0.90.1/doc/dev-docs/source/Summary.rst +33 -0
- mugrid-0.90.1/doc/dev-docs/source/Tutorials.rst +15 -0
- mugrid-0.90.1/doc/dev-docs/source/conf.py +225 -0
- mugrid-0.90.1/doc/dev-docs/source/index.rst +43 -0
- mugrid-0.90.1/doc/dev-docs/source/input_def +1 -0
- mugrid-0.90.1/doc/dev-docs/source/input_def.in +1 -0
- mugrid-0.90.1/doc/dev-docs/source/macosx14_bash_profile +58 -0
- mugrid-0.90.1/doc/dev-docs/source/muGrid.rst +431 -0
- mugrid-0.90.1/doc/dev-docs/source/xml_output_def +1 -0
- mugrid-0.90.1/doc/dev-docs/source/xml_output_def.in +1 -0
- mugrid-0.90.1/doc/summary.rmk +19 -0
- mugrid-0.90.1/language_bindings/meson.build +1 -0
- mugrid-0.90.1/language_bindings/python/__init__.py +1 -0
- mugrid-0.90.1/language_bindings/python/bind_py_common_mugrid.cc +213 -0
- mugrid-0.90.1/language_bindings/python/bind_py_communicator.cc +161 -0
- mugrid-0.90.1/language_bindings/python/bind_py_declarations.hh +51 -0
- mugrid-0.90.1/language_bindings/python/bind_py_field.cc +182 -0
- mugrid-0.90.1/language_bindings/python/bind_py_field_collection.cc +371 -0
- mugrid-0.90.1/language_bindings/python/bind_py_file_io.cc +342 -0
- mugrid-0.90.1/language_bindings/python/bind_py_module.cc +52 -0
- mugrid-0.90.1/language_bindings/python/bind_py_options_dictionary.cc +167 -0
- mugrid-0.90.1/language_bindings/python/bind_py_state_field.cc +101 -0
- mugrid-0.90.1/language_bindings/python/meson.build +21 -0
- mugrid-0.90.1/language_bindings/python/muGrid/Parallel.py +85 -0
- mugrid-0.90.1/language_bindings/python/muGrid/__init__.py +53 -0
- mugrid-0.90.1/language_bindings/python/muGrid/meson.build +11 -0
- mugrid-0.90.1/meson.build +62 -0
- mugrid-0.90.1/pyproject.toml +55 -0
- mugrid-0.90.1/renovate.json +6 -0
- mugrid-0.90.1/src/libmugrid/T4_map_proxy.hh +119 -0
- mugrid-0.90.1/src/libmugrid/ccoord_operations.cc +274 -0
- mugrid-0.90.1/src/libmugrid/ccoord_operations.hh +1013 -0
- mugrid-0.90.1/src/libmugrid/communicator.cc +56 -0
- mugrid-0.90.1/src/libmugrid/communicator.hh +439 -0
- mugrid-0.90.1/src/libmugrid/cpp_compliance.hh +201 -0
- mugrid-0.90.1/src/libmugrid/eigen_tools.hh +537 -0
- mugrid-0.90.1/src/libmugrid/exception.cc +107 -0
- mugrid-0.90.1/src/libmugrid/exception.hh +144 -0
- mugrid-0.90.1/src/libmugrid/field.cc +361 -0
- mugrid-0.90.1/src/libmugrid/field.hh +383 -0
- mugrid-0.90.1/src/libmugrid/field_collection.cc +552 -0
- mugrid-0.90.1/src/libmugrid/field_collection.hh +963 -0
- mugrid-0.90.1/src/libmugrid/field_collection_global.cc +192 -0
- mugrid-0.90.1/src/libmugrid/field_collection_global.hh +269 -0
- mugrid-0.90.1/src/libmugrid/field_collection_local.cc +107 -0
- mugrid-0.90.1/src/libmugrid/field_collection_local.hh +143 -0
- mugrid-0.90.1/src/libmugrid/field_map.cc +264 -0
- mugrid-0.90.1/src/libmugrid/field_map.hh +426 -0
- mugrid-0.90.1/src/libmugrid/field_map_static.hh +781 -0
- mugrid-0.90.1/src/libmugrid/field_typed.cc +749 -0
- mugrid-0.90.1/src/libmugrid/field_typed.hh +564 -0
- mugrid-0.90.1/src/libmugrid/file_io_base.cc +112 -0
- mugrid-0.90.1/src/libmugrid/file_io_base.hh +294 -0
- mugrid-0.90.1/src/libmugrid/file_io_netcdf.cc +3315 -0
- mugrid-0.90.1/src/libmugrid/file_io_netcdf.hh +1523 -0
- mugrid-0.90.1/src/libmugrid/gradient_operator_base.hh +148 -0
- mugrid-0.90.1/src/libmugrid/gradient_operator_default.cc +370 -0
- mugrid-0.90.1/src/libmugrid/gradient_operator_default.hh +212 -0
- mugrid-0.90.1/src/libmugrid/grid_common.cc +105 -0
- mugrid-0.90.1/src/libmugrid/grid_common.hh +590 -0
- mugrid-0.90.1/src/libmugrid/iterators.hh +383 -0
- mugrid-0.90.1/src/libmugrid/mapped_field.hh +341 -0
- mugrid-0.90.1/src/libmugrid/mapped_state_field.hh +253 -0
- mugrid-0.90.1/src/libmugrid/meson.build +49 -0
- mugrid-0.90.1/src/libmugrid/numpy_tools.hh +463 -0
- mugrid-0.90.1/src/libmugrid/optional_mapped_field.hh +106 -0
- mugrid-0.90.1/src/libmugrid/options_dictionary.cc +293 -0
- mugrid-0.90.1/src/libmugrid/options_dictionary.hh +186 -0
- mugrid-0.90.1/src/libmugrid/physics_domain.cc +109 -0
- mugrid-0.90.1/src/libmugrid/physics_domain.hh +108 -0
- mugrid-0.90.1/src/libmugrid/raw_memory_operations.cc +53 -0
- mugrid-0.90.1/src/libmugrid/raw_memory_operations.hh +163 -0
- mugrid-0.90.1/src/libmugrid/ref_array.hh +117 -0
- mugrid-0.90.1/src/libmugrid/ref_vector.hh +119 -0
- mugrid-0.90.1/src/libmugrid/state_field.cc +179 -0
- mugrid-0.90.1/src/libmugrid/state_field.hh +271 -0
- mugrid-0.90.1/src/libmugrid/state_field_map.cc +177 -0
- mugrid-0.90.1/src/libmugrid/state_field_map.hh +284 -0
- mugrid-0.90.1/src/libmugrid/state_field_map_static.hh +518 -0
- mugrid-0.90.1/src/libmugrid/tensor_algebra.hh +599 -0
- mugrid-0.90.1/src/libmugrid/units.cc +486 -0
- mugrid-0.90.1/src/libmugrid/units.hh +299 -0
- mugrid-0.90.1/src/libmugrid/version.cc.skeleton +71 -0
- mugrid-0.90.1/src/meson.build +7 -0
- mugrid-0.90.1/subprojects/eigen.wrap +13 -0
- mugrid-0.90.1/subprojects/pybind11.wrap +13 -0
- mugrid-0.90.1/tests/field_test_fixtures.cc +47 -0
- mugrid-0.90.1/tests/field_test_fixtures.hh +136 -0
- mugrid-0.90.1/tests/header_test_ccoord_operations.cc +279 -0
- mugrid-0.90.1/tests/header_test_eigen_tools.cc +134 -0
- mugrid-0.90.1/tests/header_test_ref_array.cc +54 -0
- mugrid-0.90.1/tests/header_test_t4_map.cc +201 -0
- mugrid-0.90.1/tests/header_test_tensor_algebra.cc +341 -0
- mugrid-0.90.1/tests/io_mpi_test_file_io.hh +128 -0
- mugrid-0.90.1/tests/io_mpi_test_file_io_netcdf.cc +560 -0
- mugrid-0.90.1/tests/io_test_file_io.hh +162 -0
- mugrid-0.90.1/tests/io_test_file_io_base.cc +64 -0
- mugrid-0.90.1/tests/io_test_file_io_netcdf.cc +681 -0
- mugrid-0.90.1/tests/main_test_suite.cc +44 -0
- mugrid-0.90.1/tests/meson.build +113 -0
- mugrid-0.90.1/tests/mpi_context.hh +95 -0
- mugrid-0.90.1/tests/mpi_field_test_fixtures.hh +143 -0
- mugrid-0.90.1/tests/mpi_test_communicator.cc +259 -0
- mugrid-0.90.1/tests/mpi_test_field_map.cc +264 -0
- mugrid-0.90.1/tests/python_binding_tests.py +50 -0
- mugrid-0.90.1/tests/python_common_tests.py +135 -0
- mugrid-0.90.1/tests/python_communicator_tests.py +131 -0
- mugrid-0.90.1/tests/python_field_tests.py +154 -0
- mugrid-0.90.1/tests/python_file_io_test.py +401 -0
- mugrid-0.90.1/tests/python_mpi_binding_test.py +47 -0
- mugrid-0.90.1/tests/python_muGrid_license_test.py +136 -0
- mugrid-0.90.1/tests/test_ccoord_operations.cc +152 -0
- mugrid-0.90.1/tests/test_discrete_gradient_operator.cc +215 -0
- mugrid-0.90.1/tests/test_discrete_gradient_operator.hh +303 -0
- mugrid-0.90.1/tests/test_field.cc +404 -0
- mugrid-0.90.1/tests/test_field_collection.cc +360 -0
- mugrid-0.90.1/tests/test_field_map.cc +333 -0
- mugrid-0.90.1/tests/test_goodies.cc +73 -0
- mugrid-0.90.1/tests/test_goodies.hh +277 -0
- mugrid-0.90.1/tests/test_mapped_fields.cc +307 -0
- mugrid-0.90.1/tests/test_mapped_state_fields.cc +107 -0
- mugrid-0.90.1/tests/test_options_dictionary.cc +141 -0
- mugrid-0.90.1/tests/test_raw_memory_operations.cc +135 -0
- mugrid-0.90.1/tests/test_state_field_maps.cc +256 -0
- mugrid-0.90.1/tests/test_state_fields.cc +98 -0
- mugrid-0.90.1/tests/test_units.cc +209 -0
- mugrid-0.90.1/tests/tests.hh +52 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
if [ -z "$HOMEBREW_REPOSITORY" ]; then
|
|
2
|
+
INSTALL_PREFIX=/usr/local
|
|
3
|
+
else
|
|
4
|
+
brew install pkg-config
|
|
5
|
+
INSTALL_PREFIX=$HOMEBREW_REPOSITORY
|
|
6
|
+
export PKG_CONFIG_PATH
|
|
7
|
+
fi
|
|
8
|
+
printenv
|
|
9
|
+
curl -L https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.7.tar.xz | tar -Jx
|
|
10
|
+
cd libxml2-2.12.7
|
|
11
|
+
./configure --without-lzma --without-python --enable-static --disable-shared --with-pic --prefix=$INSTALL_PREFIX
|
|
12
|
+
make
|
|
13
|
+
make install
|
|
14
|
+
cd ..
|
|
15
|
+
curl -L https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz | tar -zx
|
|
16
|
+
cd netcdf-c-4.9.2
|
|
17
|
+
./configure --disable-hdf5 --disable-byterange --enable-static --disable-shared --with-pic --prefix=$INSTALL_PREFIX
|
|
18
|
+
make
|
|
19
|
+
make install
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- '*'
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
runs-on: ubuntu-22.04
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
submodules: recursive
|
|
19
|
+
|
|
20
|
+
- name: Installing Python
|
|
21
|
+
run: |
|
|
22
|
+
sudo apt-get update -qy
|
|
23
|
+
sudo apt-get install -y \
|
|
24
|
+
python3-dev \
|
|
25
|
+
python3-pip \
|
|
26
|
+
python3-venv \
|
|
27
|
+
meson \
|
|
28
|
+
ninja-build
|
|
29
|
+
python3 -m venv ../venv
|
|
30
|
+
source ../venv/bin/activate
|
|
31
|
+
pip install build
|
|
32
|
+
|
|
33
|
+
- name: Build source package
|
|
34
|
+
run: |
|
|
35
|
+
source ../venv/bin/activate
|
|
36
|
+
python3 -m build . -s
|
|
37
|
+
|
|
38
|
+
- name: Test installation of source package
|
|
39
|
+
run: |
|
|
40
|
+
source ../venv/bin/activate
|
|
41
|
+
pip install dist/*.tar.gz
|
|
42
|
+
|
|
43
|
+
- name: Publish package on PyPI
|
|
44
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
|
|
45
|
+
uses: pypa/gh-action-pypi-publish@master
|
|
46
|
+
with:
|
|
47
|
+
user: __token__
|
|
48
|
+
password: ${{ secrets.PYPI_TOKEN }}
|
|
49
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- '**'
|
|
7
|
+
tags:
|
|
8
|
+
- '**'
|
|
9
|
+
pull_request:
|
|
10
|
+
branches:
|
|
11
|
+
- '**'
|
|
12
|
+
schedule:
|
|
13
|
+
- cron: "0 2 * * 5"
|
|
14
|
+
jobs:
|
|
15
|
+
tests:
|
|
16
|
+
runs-on: ubuntu-22.04
|
|
17
|
+
timeout-minutes: 45
|
|
18
|
+
|
|
19
|
+
strategy:
|
|
20
|
+
matrix:
|
|
21
|
+
mpi: ['no', 'yes']
|
|
22
|
+
compiler: ['gcc', 'clang']
|
|
23
|
+
python-version: ['3.8', '3.9', '3.10', '3.11' , '3.12']
|
|
24
|
+
numpy-version: ['<2.0.0']
|
|
25
|
+
mpi4py-version: ['==3.1.6']
|
|
26
|
+
exclude:
|
|
27
|
+
- mpi: 'yes'
|
|
28
|
+
compiler: 'clang'
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v4
|
|
32
|
+
with:
|
|
33
|
+
fetch-depth: 0
|
|
34
|
+
submodules: recursive
|
|
35
|
+
|
|
36
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
37
|
+
uses: actions/setup-python@v5
|
|
38
|
+
with:
|
|
39
|
+
python-version: ${{ matrix.python-version }}
|
|
40
|
+
|
|
41
|
+
- name: Install dependencies
|
|
42
|
+
run: |
|
|
43
|
+
sudo apt-get update -qy
|
|
44
|
+
if [ "${{ matrix.compiler }}" == "clang" ]; then
|
|
45
|
+
sudo apt-get install -y clang
|
|
46
|
+
fi
|
|
47
|
+
python3 -m venv venv
|
|
48
|
+
source venv/bin/activate
|
|
49
|
+
python3 -m pip install --upgrade pip
|
|
50
|
+
# Install numpy
|
|
51
|
+
pip install -v "numpy${{ matrix.numpy-version }}"
|
|
52
|
+
if [ "${{ matrix.mpi }}" == "yes" ]; then
|
|
53
|
+
sudo apt-get install -y \
|
|
54
|
+
ninja-build \
|
|
55
|
+
libboost-test-dev \
|
|
56
|
+
openmpi-bin \
|
|
57
|
+
libopenmpi-dev \
|
|
58
|
+
libpnetcdf-dev
|
|
59
|
+
# Install mpi4py
|
|
60
|
+
echo "Installing mpi4py${{ matrix.mpi4py-version }}"
|
|
61
|
+
CC=mpicc python3 -m pip install -v \
|
|
62
|
+
--no-binary mpi4py \
|
|
63
|
+
"mpi4py${{ matrix.mpi4py-version }}"
|
|
64
|
+
else
|
|
65
|
+
sudo apt-get install -y \
|
|
66
|
+
ninja-build \
|
|
67
|
+
libboost-test-dev \
|
|
68
|
+
libnetcdf-dev
|
|
69
|
+
fi
|
|
70
|
+
python3 -m pip install build meson
|
|
71
|
+
python3 -m pip list
|
|
72
|
+
|
|
73
|
+
- name: Compile with Meson
|
|
74
|
+
run: |
|
|
75
|
+
if [ "${{ matrix.compiler }}" == "clang" ]; then
|
|
76
|
+
export CC=clang
|
|
77
|
+
export CXX=clang++
|
|
78
|
+
fi
|
|
79
|
+
source venv/bin/activate
|
|
80
|
+
meson setup builddir
|
|
81
|
+
cd builddir
|
|
82
|
+
meson compile
|
|
83
|
+
|
|
84
|
+
- name: Run tests
|
|
85
|
+
run: |
|
|
86
|
+
source venv/bin/activate
|
|
87
|
+
cd builddir
|
|
88
|
+
meson test -v
|
|
89
|
+
|
|
90
|
+
- name: Test installation of Python extension module
|
|
91
|
+
run: |
|
|
92
|
+
source venv/bin/activate
|
|
93
|
+
python3 -m pip install .
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: Wheels
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- '**'
|
|
7
|
+
tags:
|
|
8
|
+
- '**'
|
|
9
|
+
pull_request:
|
|
10
|
+
branches:
|
|
11
|
+
- '**'
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
build_wheels:
|
|
15
|
+
name: Build wheel for ${{ matrix.python }}-${{ matrix.buildplat[1] }} ${{ matrix.buildplat[2] }}
|
|
16
|
+
runs-on: ${{ matrix.buildplat[0] }}
|
|
17
|
+
strategy:
|
|
18
|
+
matrix:
|
|
19
|
+
buildplat:
|
|
20
|
+
- [ubuntu-22.04, manylinux, x86_64]
|
|
21
|
+
# - [ubuntu-22.04, manylinux, aarch64]
|
|
22
|
+
- [macos-14, macosx, arm64]
|
|
23
|
+
# - [macos-14, macosx, x86_64]
|
|
24
|
+
# - [windows-2019, win, AMD64]
|
|
25
|
+
python: ["cp38", "cp39", "cp310", "cp311", "cp312"]
|
|
26
|
+
fail-fast: false
|
|
27
|
+
|
|
28
|
+
env:
|
|
29
|
+
IS_32_BIT: ${{ matrix.buildplat[2] == 'x86' }}
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
with:
|
|
34
|
+
fetch-depth: 0
|
|
35
|
+
submodules: recursive
|
|
36
|
+
|
|
37
|
+
- uses: actions/setup-python@v5
|
|
38
|
+
with:
|
|
39
|
+
python-version: '3.8'
|
|
40
|
+
|
|
41
|
+
- name: Build wheels
|
|
42
|
+
uses: pypa/cibuildwheel@v2.18.1
|
|
43
|
+
env:
|
|
44
|
+
CIBW_BUILD_VERBOSITY: 3
|
|
45
|
+
CIBW_BEFORE_ALL: bash .github/install_netcdf4.sh
|
|
46
|
+
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }}*
|
|
47
|
+
CIBW_ARCHS: ${{ matrix.buildplat[2] }}
|
|
48
|
+
CIBW_ENVIRONMENT_MACOS: PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/homebrew/lib/pkgconfig
|
|
49
|
+
CIBW_ENVIRONMENT_PASS_LINUX: RUNNER_OS
|
|
50
|
+
CIBW_TEST_COMMAND: python3 -c "import muGrid; print(muGrid.__version__); from _muGrid import FileIONetCDF"
|
|
51
|
+
|
|
52
|
+
- uses: actions/upload-artifact@v4
|
|
53
|
+
with:
|
|
54
|
+
path: ./wheelhouse/*.whl
|
|
55
|
+
name: ${{ matrix.python }}-${{ matrix.buildplat[1] }}-${{ matrix.buildplat[2] }}
|
|
56
|
+
|
|
57
|
+
- name: Check tag
|
|
58
|
+
id: check-tag
|
|
59
|
+
run: |
|
|
60
|
+
if [[ ${{ github.ref }} =~ ^refs/tags/[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
61
|
+
echo ::set-output name=match::true
|
|
62
|
+
fi
|
|
63
|
+
shell: bash
|
|
64
|
+
|
|
65
|
+
- name: Deploy to PyPI
|
|
66
|
+
if: steps.check-tag.outputs.match == 'true'
|
|
67
|
+
run: |
|
|
68
|
+
pip install twine
|
|
69
|
+
twine upload wheelhouse/*.whl
|
|
70
|
+
env:
|
|
71
|
+
TWINE_USERNAME: __token__
|
|
72
|
+
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
|
73
|
+
shell: bash
|
mugrid-0.90.1/.gitignore
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
[submodule "external/pybind11"]
|
|
2
|
+
path = external/pybind11
|
|
3
|
+
url = https://github.com/pybind/pybind11.git
|
|
4
|
+
branch = stable
|
|
5
|
+
[submodule "external/eigen3"]
|
|
6
|
+
path = external/eigen3
|
|
7
|
+
url = https://gitlab.com/libeigen/eigen.git
|
|
8
|
+
branch = 3.4
|
|
9
|
+
[submodule "external/cork"]
|
|
10
|
+
path = external/cork
|
|
11
|
+
url = https://github.com/pastewka/cork
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
Change log for µSpectre
|
|
2
|
+
=======================
|
|
3
|
+
|
|
4
|
+
0.90.0 (not yet released)
|
|
5
|
+
-------------------------
|
|
6
|
+
|
|
7
|
+
- Split code into three repositories: muGrid, muFFT and
|
|
8
|
+
|
|
9
|
+
0.27.0 (30Jan2024)
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
- muSpectre: Sensitivity analysis for 3D problems
|
|
13
|
+
- Fixing meson-python to >= 0.15.0
|
|
14
|
+
- Updated Eigen3 to v3.4 and pybind11 to v2.11
|
|
15
|
+
|
|
16
|
+
0.26.4 (04Oct2023)
|
|
17
|
+
------------------
|
|
18
|
+
|
|
19
|
+
- Fixing meson-python to 0.13.2 because of a bug in 0.14.0
|
|
20
|
+
|
|
21
|
+
0.26.3 (16Jul2023)
|
|
22
|
+
------------------
|
|
23
|
+
|
|
24
|
+
- Same as 0.26.2 (debugging CI)
|
|
25
|
+
|
|
26
|
+
0.26.2 (10Jul2023)
|
|
27
|
+
------------------
|
|
28
|
+
|
|
29
|
+
- Same as 0.26.1, fixed deployment procedure
|
|
30
|
+
|
|
31
|
+
0.26.1 (08Jul2023)
|
|
32
|
+
------------------
|
|
33
|
+
|
|
34
|
+
- macOS wheels
|
|
35
|
+
|
|
36
|
+
0.26.0 (31Mar2023)
|
|
37
|
+
------------------
|
|
38
|
+
|
|
39
|
+
- MPI parallelization of sensitivity analysis
|
|
40
|
+
- Wheels for Python 3.11
|
|
41
|
+
|
|
42
|
+
0.25.2 (14Jan2023)
|
|
43
|
+
------------------
|
|
44
|
+
|
|
45
|
+
- Fixed macOS build
|
|
46
|
+
|
|
47
|
+
0.25.1 (28Dec2022)
|
|
48
|
+
------------------
|
|
49
|
+
|
|
50
|
+
- Same as 0.25.0, changed CI configuration for automatic deployment to PyPI
|
|
51
|
+
|
|
52
|
+
0.25.0 (28Dec2022)
|
|
53
|
+
------------------
|
|
54
|
+
|
|
55
|
+
- muSpectre is now distributed with Linux wheels (basic configuration only)
|
|
56
|
+
- muFFT: Added PocketFFT engine (that does not require external dependencies)
|
|
57
|
+
- Added Meson build files (Python package now exclusively build using Meson)
|
|
58
|
+
- Defaulted again to autodetecting MPI
|
|
59
|
+
|
|
60
|
+
0.24.0 (22Nov2022)
|
|
61
|
+
------------------
|
|
62
|
+
|
|
63
|
+
- muFFT: Changed Python install procedure; default to no MPI and MPI now needs
|
|
64
|
+
to be explicitly enabled
|
|
65
|
+
|
|
66
|
+
0.23.1 (24Mar2022)
|
|
67
|
+
------------------
|
|
68
|
+
- muSpectre: A bug fixed in the call of the constructor of FieldCollection
|
|
69
|
+
- muFFT: Fixed `pip install muFFT` on macOS
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
0.23.0 (15Oct2021)
|
|
73
|
+
------------------
|
|
74
|
+
- muSpectre: making vector operation methods in solver classed with communicating inside them
|
|
75
|
+
- muSpectre: added logical reduction on was_last_step_nonlinear evaluation in CellData
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
0.22.0 (24Sep2021)
|
|
79
|
+
------------------
|
|
80
|
+
- muSpectre: mean stress control bugs resolved
|
|
81
|
+
- muSpectre: mean stress control is now usable in MPI
|
|
82
|
+
- muSpectre: examples using mean stress control added
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
0.21.0 (26Aug2021)
|
|
86
|
+
------------------
|
|
87
|
+
- CI: Refactoring of the CI with addition of coverage and ccache
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
0.20.2 (04Aug2021)
|
|
91
|
+
------------------
|
|
92
|
+
- muSpectre: deleted an unnecssary parameter from write_2d_class function in iinear_finite_elements.py
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
0.20.1 (03Aug2021)
|
|
96
|
+
------------------
|
|
97
|
+
- muSpectre: improve write_2d and write_3d functions, 2D stencil for hexagonal grid
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
0.20.0 (15Jul2021)
|
|
101
|
+
------------------
|
|
102
|
+
- muSpectre: capability to apply mean stress (instead of mean strain added)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
0.19.2 (28Jun2021)
|
|
106
|
+
------------------
|
|
107
|
+
- muGrid: correct bugs in the FileIONetCDF
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
0.19.1 (23Jun2021)
|
|
111
|
+
------------------
|
|
112
|
+
- muSpectre: Fixed a minor array reshape bug in the tutorial_example_new.py that was jeopardizing the output stress plot
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
0.19.0 (16Jun2021)
|
|
116
|
+
------------------
|
|
117
|
+
- muSpectre: added material_dunnat_tc (bilinear elastic- linear strain softening with tensile-compressive wiegthed norm as strain measure)
|
|
118
|
+
- muSpectre: added material_dunnat_t (bilinear elastic- linear strain softening with maiximum tensile principal strain as strain measure)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
0.18.2 (10Jun2021)
|
|
122
|
+
------------------
|
|
123
|
+
- muSpectre: Small bugfix and addition of regularization for slightly non-pd Hessians in phase field fracture material
|
|
124
|
+
- muGrid: Added functions for reporting version
|
|
125
|
+
- muGrid: Added global attributes to FileIONetCDF
|
|
126
|
+
|
|
127
|
+
0.18.1 (02Jun2021)
|
|
128
|
+
------------------
|
|
129
|
+
- muSpectre: Fix, changed the reset criterion for gradient orthogonality in
|
|
130
|
+
FEM trust region precondtioned Krylov solvers
|
|
131
|
+
- muSpectre: Fix, added calling clear_was_last_step_nonlinear in
|
|
132
|
+
fem_newton_trust_region_pc solver
|
|
133
|
+
- muSpectre: Fixed get_complemented_positions
|
|
134
|
+
- muFFT: Fixed large transforms
|
|
135
|
+
- muFFT: Fixed segfault when input buffer had wrong shape
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
0.18.0 (10May2021)
|
|
139
|
+
------------------
|
|
140
|
+
- muSpectre: Added trust fem region solver + ability to handle precondtioner
|
|
141
|
+
- muSpectre: re-organized the krylov solver hierarchy to circumvent diamond
|
|
142
|
+
inheritance by introducing KrylovSolverXXXTraits classes
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
0.17.0 (24Apr2021)
|
|
146
|
+
------------------
|
|
147
|
+
- muSpectre: Added trust region solver class and a simplistic damage material
|
|
148
|
+
- muSpectre: physics have their specific name that might be used later for outputs
|
|
149
|
+
- muSpectre: trsut region krylov solver has different resetart strategies available
|
|
150
|
+
- muSpectre: gradient integration for solver class + cell data is now available
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
0.16.0 (31Mar2021)
|
|
154
|
+
------------------
|
|
155
|
+
|
|
156
|
+
- µSpectre: The ProjectionGradient works for vectorial and rank-two-tensor
|
|
157
|
+
gradient fields and replaces ProjectionFiniteStrainFast
|
|
158
|
+
- µSpectre: The SolverNewtonCG can now handle scalar problems (e.g., diffusion
|
|
159
|
+
equation, heat equation, etc.)
|
|
160
|
+
- clang: No more warnings are emitted during compilation
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
0.15.1 (30Mar2021)
|
|
164
|
+
------------------
|
|
165
|
+
|
|
166
|
+
- muSpectre: Added material for phase field fracture simulations
|
|
167
|
+
- muGrid: Fix support for fields with >= 2^32 elements
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
0.15.0 (12Mar2021)
|
|
171
|
+
------------------
|
|
172
|
+
|
|
173
|
+
- muSpectre: All projection operators now have a gradient argument and can
|
|
174
|
+
work with discrete derivatives
|
|
175
|
+
- muSpectre: Projection classes now have an `integrate` method that
|
|
176
|
+
reconstructs the node positions
|
|
177
|
+
- muSpectre: Added `linear_finite_elements` to stencil database
|
|
178
|
+
- muSpectre: Enabled even number of grid points for discrete stencils
|
|
179
|
+
- muFFT: PFFT engine works with pencil decomposition
|
|
180
|
+
- all: Fixed installation via CMake and `make install`
|
|
181
|
+
- all: Fixed cross platform install of NetCDF I/O
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
0.14.0 (04Feb2021)
|
|
185
|
+
------------------
|
|
186
|
+
|
|
187
|
+
- muFFT: implement serial wrapper to FFTW hcfft
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
0.13.0 (28Jan2021)
|
|
191
|
+
------------------
|
|
192
|
+
|
|
193
|
+
- muSpectre: CellData and Solver classes for multiphysics calculations
|
|
194
|
+
- muSpectre: Sensitivity analysis
|
|
195
|
+
- Bug fix (muFFT): Handle cases where MPI processes have no grid points
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
0.12.0 (19Nov2020)
|
|
199
|
+
------------------
|
|
200
|
+
|
|
201
|
+
- muGrid: Parallel I/O via NetCDF
|
|
202
|
+
- muFFT: Derivatives in 1D
|
|
203
|
+
- muFFT: Second derivatives
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
0.11.0 (07Sep20)
|
|
207
|
+
----------------
|
|
208
|
+
|
|
209
|
+
- Trust-Region Newton-CG solver for nonlinear problems with instabilities
|
|
210
|
+
- Updated Eigen archive URL which broke installation via pip
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
0.10.0 (22Jul2020)
|
|
214
|
+
------------------
|
|
215
|
+
- Support for more flexible strideste in fields: full column-major, row-major and
|
|
216
|
+
strided pixels portion (#103)
|
|
217
|
+
- User control over buffer copies in muFFT with option to avoid them completely
|
|
218
|
+
- Gradient integration for multiple quadrature points
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
0.9.3 (28Jun2020)
|
|
222
|
+
-----------------
|
|
223
|
+
- Bug fix: Packaging with sdist did not remove dirty flag which lead to a
|
|
224
|
+
broken PyPI package
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
0.9.2 (28Jun2020)
|
|
228
|
+
-----------------
|
|
229
|
+
- Bug fix: operator= of TypedFieldBase passed wrong strides during strided
|
|
230
|
+
copy; this broke the MPI-parallel FFTW forward transform (#130)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
0.9.1 (17Jun2020)
|
|
234
|
+
-----------------
|
|
235
|
+
- Bug fix: Packaging with sdist only included FFT engines present during
|
|
236
|
+
the packaging process
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
0.9.0 (17Jun2020)
|
|
240
|
+
-----------------
|
|
241
|
+
- Initial release of µSpectre
|
|
242
|
+
* FFT based micromechanical homogeneization
|
|
243
|
+
* Arbitrary constitutive laws in small and finite strain
|
|
244
|
+
* Krylov and Newton solver suite
|
|
245
|
+
* MPI parallelization
|
|
246
|
+
- Initial release of µFFT
|
|
247
|
+
* Generic wrapper for MPI-parallel FFT libraries
|
|
248
|
+
- Initial release of µGrid
|
|
249
|
+
* Generic library for managing regular grids
|