Compare commits

..

No commits in common. "Working_beta" and "v3.0.0-alpha5" have entirely different histories.

690 changed files with 400170 additions and 226538 deletions

10
.gitattributes vendored
View File

@ -12,12 +12,12 @@
*.pbz2 binary *.pbz2 binary
# ignore files from MSC.Marc in language statistics # ignore files from MSC.Marc in language statistics
install/MarcMentat/** linguist-vendored install/MarcMentat/** linguist-vendored
src/Marc/include/* linguist-vendored src/Marc/include/* linguist-vendored
install/MarcMentat/MSC_modifications.py linguist-vendored=false install/MarcMentat/apply_DAMASK_modifications.py linguist-vendored=false
# ignore reference files for tests in language statistics # ignore reference files for tests in language statistics
python/tests/resources/** linguist-vendored python/tests/reference/** linguist-vendored
# ignore deprecated scripts # ignore deprecated scripts
processing/legacy/** linguist-vendored processing/legacy/** linguist-vendored

View File

@ -2,32 +2,32 @@ name: Grid and Mesh Solver
on: [push] on: [push]
env: env:
PETSC_VERSION: '3.20.5' HOMEBREW_NO_ANALYTICS: "ON" # Make Homebrew installation a little quicker
HOMEBREW_NO_ANALYTICS: 'ON' # Make Homebrew installation a little quicker HOMEBREW_NO_AUTO_UPDATE: "ON"
HOMEBREW_NO_AUTO_UPDATE: 'ON' HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: "ON"
HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: 'ON' HOMEBREW_NO_GITHUB_API: "ON"
HOMEBREW_NO_GITHUB_API: 'ON' HOMEBREW_NO_INSTALL_CLEANUP: "ON"
HOMEBREW_NO_INSTALL_CLEANUP: 'ON'
jobs: jobs:
gcc_ubuntu: gcc:
runs-on: ubuntu-22.04 runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
gcc_v: [9, 10, 11, 12, 13] os: [ubuntu-latest, macos-latest]
fail-fast: false gcc_v: [9, 10, 11] # Version of GCC compilers
env: env:
GCC_V: ${{ matrix.gcc_v }} GCC_V: ${{ matrix.gcc_v }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v2
- name: GCC - Install - name: GCC - Install (Linux)
if: contains( matrix.os, 'ubuntu')
run: | run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update sudo apt-get update
@ -37,38 +37,53 @@ jobs:
--slave /usr/bin/g++ g++ /usr/bin/g++-${GCC_V} \ --slave /usr/bin/g++ g++ /usr/bin/g++-${GCC_V} \
--slave /usr/bin/gcov gcov /usr/bin/gcov-${GCC_V} --slave /usr/bin/gcov gcov /usr/bin/gcov-${GCC_V}
- name: GCC - Install (macOS)
if: contains( matrix.os, 'macos')
run: |
brew install gcc@${GCC_V} || brew upgrade gcc@${GCC_V} || true
brew link gcc@${GCC_V}
- name: PETSc - Cache download - name: PETSc - Cache download
id: petsc-download id: petsc-download
uses: actions/cache@v3 uses: actions/cache@v2
with: with:
path: download path: download
key: petsc-${{ env.PETSC_VERSION }}.tar.gz key: petsc-3.15.4.tar.gz
- name: PETSc - Download - name: PETSc - Download
if: steps.petsc-download.outputs.cache-hit != 'true' if: steps.petsc-download.outputs.cache-hit != 'true'
run: | run: |
wget -q https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${PETSC_VERSION}.tar.gz -P download wget -q https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.15.4.tar.gz -P download
- name: PETSc - Prepare - name: PETSc - Prepare
run: | run: |
tar -xf download/petsc-${PETSC_VERSION}.tar.gz -C . tar -xf download/petsc-3.15.4.tar.gz -C .
export PETSC_DIR=${PWD}/petsc-${PETSC_VERSION} export PETSC_DIR=${PWD}/petsc-3.15.4
export PETSC_ARCH=gcc${GCC_V} export PETSC_ARCH=gcc${GCC_V}
printenv >> $GITHUB_ENV printenv >> $GITHUB_ENV
- name: PETSc - Cache Installation - name: PETSc - Cache installation
id: petsc-install id: petsc-install
uses: actions/cache@v3 uses: actions/cache@v2
with: with:
path: petsc-${{ env.PETSC_VERSION }} path: petsc-3.15.4
key: petsc-${{ env.PETSC_VERSION }}-gcc${{ matrix.gcc_v }}-${{ hashFiles('**/petscversion.h') }} key: petsc-3.15.4-${{ matrix.os }}-gcc${{ matrix.gcc_v }}-${{ hashFiles('**/petscversion.h') }}
- name: PETSc - Installation - name: PETSc - Install (Linux)
if: contains( matrix.os, 'ubuntu')
run: | run: |
cd petsc-${PETSC_VERSION} cd petsc-3.15.4
./configure --with-fc=gfortran --with-cc=gcc --with-cxx=g++ \ ./configure --with-fc=gfortran --with-cc=gcc --with-cxx=g++ \
--download-openmpi --download-fftw --download-hdf5 --download-hdf5-fortran-bindings=1 --download-zlib \ --download-mpich --download-fftw --download-hdf5 --download-zlib \
--with-mpi-f90module-visibility=1 --with-mpi-f90module-visibility=0
make all
- name: PETSc - Install (macOS)
if: contains( matrix.os, 'macos')
run: |
cd petsc-3.15.4
./configure --with-fc=gfortran-${GCC_V} --with-cc=gcc-${GCC_V} --with-cxx=g++-${GCC_V} \
--download-openmpi --download-fftw --download-hdf5 --download-zlib
make all make all
- name: DAMASK - Compile - name: DAMASK - Compile
@ -82,29 +97,28 @@ jobs:
- name: DAMASK - Run - name: DAMASK - Run
run: | run: |
./bin/DAMASK_grid -l tensionX.yaml -g 20grains16x16x16.vti -m material.yaml -w examples/grid ./bin/DAMASK_grid -l tensionX.yaml -g 20grains16x16x16.vti -w examples/grid
./bin/DAMASK_mesh -l tensionZ_3g.yaml -g cube_3grains.msh -m material.yaml -w examples/mesh
intel: intel:
runs-on: ubuntu-22.04 runs-on: [ubuntu-latest]
strategy: strategy:
fail-fast: false matrix:
intel_v: [classic, llvm] # Variant of Intel compilers
env:
INTEL_V: ${{ matrix.intel_v }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v2
- name: Intel - Install - name: Intel - Install
run: | run: |
sudo apt-get remove -y \ wget -q https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
'^aspnetcore-runtime.*' '^clang.*' '^dotnet.*' '^gfortran.*' '^mono.*' '^llvm.*' '^ruby.*' '^r-cran.*' '^r-base.*' '^dotnet.*' '^apache2.*' sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-get autoremove -y rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
| 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
sudo apt-get update sudo apt-get update
sudo apt-get install \ sudo apt-get install \
intel-basekit \ intel-basekit \
@ -115,40 +129,44 @@ jobs:
- name: PETSc - Cache download - name: PETSc - Cache download
id: petsc-download id: petsc-download
uses: actions/cache@v3 uses: actions/cache@v2
with: with:
path: download path: download
key: petsc-${{ env.PETSC_VERSION }}.tar.gz key: petsc-3.15.4.tar.gz
- name: PETSc - Download - name: PETSc - Download
if: steps.petsc-download.outputs.cache-hit != 'true' if: steps.petsc-download.outputs.cache-hit != 'true'
run: | run: |
wget -q https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${PETSC_VERSION}.tar.gz -P download wget -q https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.15.4.tar.gz -P download
- name: PETSc - Prepare - name: PETSc - Prepare
run: | run: |
tar -xf download/petsc-${PETSC_VERSION}.tar.gz -C . tar -xf download/petsc-3.15.4.tar.gz -C .
sed -i "1800s/if not os.path.isfile(os.path.join(self.packageDir,self.configureName)):/if True:/g" \ export PETSC_DIR=${PWD}/petsc-3.15.4
./petsc-${PETSC_VERSION}/config/BuildSystem/config/package.py export PETSC_ARCH=intel-${INTEL_V}
export PETSC_DIR=${PWD}/petsc-${PETSC_VERSION}
export PETSC_ARCH=intel
printenv >> $GITHUB_ENV printenv >> $GITHUB_ENV
- name: PETSc - Cache installation - name: PETSc - Cache installation
id: petsc-install id: petsc-install
uses: actions/cache@v3 uses: actions/cache@v2
with: with:
path: petsc-${{ env.PETSC_VERSION }} path: petsc-3.15.4
key: petsc-${{ env.PETSC_VERSION }}-intel-${{ hashFiles('**/petscversion.h') }} key: petsc-3.15.4-intel-${{ matrix.intel_v }}-${{ hashFiles('**/petscversion.h') }}
- name: PETSc - Install - name: PETSc - Install (classic)
if: contains( matrix.intel_v, 'classic')
run: | run: |
cd petsc-${PETSC_VERSION} cd petsc-3.15.4
./configure \ ./configure --with-fc=mpiifort --with-cc=mpiicc --with-cxx=mpiicpc \
--with-fc=mpiifx \ --download-fftw --download-hdf5 --download-zlib
--with-cc=mpiicx \ make all
--with-cxx=mpiicpx \
--download-fftw --download-hdf5 --download-hdf5-fortran-bindings=1 --download-zlib - name: PETSc - Install (LLVM)
if: contains( matrix.intel_v, 'llvm')
run: |
cd petsc-3.15.4
./configure --with-fc=mpiifort --with-cc="mpiicc -cc=icx" --with-cxx="mpiicpc -cxx=icpx" \
--download-fftw --download-hdf5 --download-zlib
make all make all
- name: DAMASK - Compile - name: DAMASK - Compile
@ -162,5 +180,4 @@ jobs:
- name: DAMASK - Run - name: DAMASK - Run
run: | run: |
./bin/DAMASK_grid -l tensionX.yaml -g 20grains16x16x16.vti -m material.yaml -w examples/grid ./bin/DAMASK_grid -l tensionX.yaml -g 20grains16x16x16.vti -w examples/grid
./bin/DAMASK_mesh -l tensionZ_3g.yaml -g cube_3grains.msh -m material.yaml -w examples/mesh

View File

@ -9,61 +9,33 @@ jobs:
strategy: strategy:
matrix: matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] python-version: ['3.7', '3.8', '3.9'] #, '3.10']
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest]
fail-fast: false
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4 uses: actions/setup-python@v2
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install pytest pandas scipy h5py vtk matplotlib pyyaml build pip install pytest pandas scipy h5py vtk matplotlib pyyaml
- name: Strip git hash (Unix) - name: Install and run unit tests
if: runner.os != 'Windows'
run: | run: |
export VERSION=$(cat VERSION) python -m pip install ./python --no-deps -vv --use-feature=in-tree-build
echo ${VERSION%-*} > VERSION
- name: Strip git hash (Windows)
if: runner.os == 'Windows'
run: |
$VERSION = Get-Content VERSION -first 1
$VERSION,$_ = $VERSION -Split '-g',2,"simplematch"
$VERSION | Out-File VERSION
- name: Build and Install
run: |
cd python
python -m build
python -m pip install dist/*.whl
python -c 'import damask;print(damask.__version__)'
- name: Install and run unit tests (Unix)
if: runner.os != 'Windows'
run: |
python -m pip install ./python --no-deps -vv
COLUMNS=256 pytest python COLUMNS=256 pytest python
- name: Install and run unit tests (Windows)
if: runner.os == 'Windows'
run: |
python -m pip install ./python --no-deps -vv
pytest python -k 'not XDMF'
apt: apt:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v2
- name: Install pytest - name: Install pytest
run: | run: |
@ -71,13 +43,12 @@ jobs:
pip install pytest pip install pytest
- name: Install dependencies - name: Install dependencies
# https://github.com/actions/virtual-environments/issues/4790
run: > run: >
sudo apt-get update && sudo apt-get update &&
sudo apt-get remove mysql* && sudo apt-get install python3-pip python3-pytest python3-pandas python3-scipy
sudo apt-get install python3-pandas python3-scipy python3-h5py python3-vtk9 python3-matplotlib python3-yaml -y python3-h5py python3-vtk7 python3-matplotlib python3-yaml -y
- name: Run unit tests - name: Run unit tests
run: | run: |
export PYTHONPATH=${PWD}/python export PYTHONPATH=${PWD}/python
COLUMNS=256 pytest python COLUMNS=256 python -m pytest python

1
.gitignore vendored
View File

@ -2,5 +2,6 @@
*~ *~
.DS_Store .DS_Store
bin bin
PRIVATE
build build
system_report.txt system_report.txt

View File

@ -3,287 +3,277 @@ stages:
- prepare - prepare
- python - python
- compile - compile
- setup
- fortran - fortran
- statistics - performance
- finalize - deploy
- backup
- update_master
- distclean
- clean
################################################################################################### ###################################################################################################
default: before_script:
before_script: - if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue)x == 'x' ];
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID} then echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue;
- source env/DAMASK.sh fi
- export PATH=${TESTROOT}/bin:${PATH} - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue) != 1 ];
- echo Job start:" $(date)" do sleep 5m;
after_script: echo -e "Currently queued pipelines:\n$(cat $LOCAL_HOME/GitLabCI.queue)\n";
- echo Job end:" $(date)" done
- source $DAMASKROOT/env/DAMASK.sh
- cd $DAMASKROOT/PRIVATE/testing
- echo Job start:" $(date)"
###################################################################################################
after_script:
- echo Job end:" $(date)"
################################################################################################### ###################################################################################################
variables: variables:
# =============================================================================================== # ===============================================================================================
# GitLab Settings # GitLab Settings
# =============================================================================================== # ===============================================================================================
GIT_SUBMODULE_STRATEGY: normal GIT_SUBMODULE_STRATEGY: none
# =============================================================================================== # ===============================================================================================
# Shortcut names # Shortcut names
# =============================================================================================== # ===============================================================================================
TESTROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID" DAMASKROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK"
TESTROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/tests"
# =============================================================================================== # ===============================================================================================
# Names of module files to load # Names of module files to load
# =============================================================================================== # ===============================================================================================
# ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
COMPILER_GNU: "Compiler/GNU/10" IntelCompiler19_1: "Compiler/Intel/19.1.2 Libraries/IMKL/2020"
COMPILER_INTELLLVM: "Compiler/oneAPI/2022.0.1 Libraries/IMKL/2022.0.1" GNUCompiler10: "Compiler/GNU/10"
COMPILER_INTEL: "Compiler/Intel/2022.0.1 Libraries/IMKL/2022.0.1" # ------------ Defaults ----------------------------------------------
IntelCompiler: "$IntelCompiler19_1"
GNUCompiler: "$GNUCompiler10"
# ++++++++++++ MPI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # ++++++++++++ MPI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MPI_GNU: "MPI/GNU/10/OpenMPI/4.1.2" IMPI2020Intel19_1: "MPI/Intel/19.1.2/IntelMPI/2019"
MPI_INTELLLVM: "MPI/oneAPI/2022.0.1/IntelMPI/2021.5.0" OMPI4_0GNU10: "MPI/GNU/10/OpenMPI/4.0.5"
MPI_INTEL: "MPI/Intel/2022.0.1/IntelMPI/2021.5.0" # ------------ Defaults ----------------------------------------------
MPI_Intel: "$IMPI2020Intel19_1"
MPI_GNU: "$OMPI4_0GNU10"
# ++++++++++++ PETSc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # ++++++++++++ PETSc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PETSC_GNU: "Libraries/PETSc/3.16.4/GNU-10-OpenMPI-4.1.2" PETSc3_14_2IMPI2020Intel19_1: "Libraries/PETSc/3.14.2/Intel-19.1.2-IntelMPI-2019"
PETSC_INTELLLVM: "Libraries/PETSc/3.16.3/oneAPI-2022.0.1-IntelMPI-2021.5.0" PETSc3_14_2OMPI4_0GNU10: "Libraries/PETSc/3.14.2/GNU-10-OpenMPI-4.0.5"
PETSC_INTEL: "Libraries/PETSc/3.16.5/Intel-2022.0.1-IntelMPI-2021.5.0" # ------------ Defaults ----------------------------------------------
# ++++++++++++ MSC Marc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PETSc_Intel: "$PETSc3_14_2IMPI2020Intel19_1"
MSC: "FEM/MSC/2023.4" PETSc_GNU: "$PETSc3_14_2OMPI4_0GNU10"
IntelMarc: "Compiler/Intel/19.1.2 Libraries/IMKL/2020" # ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
HDF5Marc: "HDF5/1.12.2/Intel-19.1.2" MSC2021: "FEM/MSC/2021.2"
# ------------ Defaults ----------------------------------------------
MSC: "$MSC2021"
IntelMarc: "$IntelCompiler19_1"
HDF5Marc: "HDF5/1.12.0/Intel-19.1.2"
################################################################################################### ###################################################################################################
create_testroot: checkout:
stage: prepare stage: prepare
before_script: before_script:
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID} - echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue
- echo Job start:" $(date)" - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue) != 1 ];
do sleep 5m;
echo -e "Currently queued pipelines:\n$(cat $LOCAL_HOME/GitLabCI.queue)\n";
done
script: script:
- mkdir -p ${TESTROOT} - mkdir -p $DAMASKROOT
- mkdir -p $TESTROOT
- cd $DAMASKROOT
- git clone -q git@git.damask.mpie.de:damask/DAMASK.git .
- git checkout $CI_COMMIT_SHA
- git submodule update --init
- source env/DAMASK.sh
except:
- master
- release
###################################################################################################
processing:
stage: python
script:
- cd $DAMASKROOT/python
- COLUMNS=256 pytest --basetemp=${TESTROOT}/python -v --cov --cov-report=term
- coverage report --fail-under=90
except:
- master
- release
################################################################################################### ###################################################################################################
setuptools: compile_grid_Intel:
stage: python
script:
- sed -i 's/-[[:digit:]]*-.*//' VERSION
- cd python
- python3 -m build --wheel --no-isolation
pytest:
stage: python
script:
- cd python
- pytest --basetemp ${TESTROOT}/python -v --cov
- coverage report --fail-under=90 --show-missing
mypy:
stage: python
script:
- cd python
- mypy damask
###################################################################################################
unittest_GNU_DEBUG:
stage: compile stage: compile
script: script:
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU} - module load $IntelCompiler $MPI_Intel $PETSc_Intel
- TEMPDIR=$(mktemp -d) - cd pytest
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage - COLUMNS=256 pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel
- cmake --build ${TEMPDIR} --target install except:
- cd ${TEMPDIR} - master
- ./bin/DAMASK_test - release
- find -name \*.gcda -not -path "**/test/*" | xargs gcov
unittest_GNU_RELEASE: compile_mesh_Intel:
stage: compile stage: compile
script: script:
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU} - module load $IntelCompiler $MPI_Intel $PETSc_Intel
- TEMPDIR=$(mktemp -d) - cd pytest
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage - COLUMNS=256 pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel
- cmake --build ${TEMPDIR} --target install except:
- cd ${TEMPDIR} - master
- ./bin/DAMASK_test - release
- find -name \*.gcda -not -path "**/test/*" | xargs gcov
unittest_GNU_PERFORMANCE: compile_grid_GNU:
stage: compile stage: compile
script: script:
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU} - module load $GNUCompiler $MPI_GNU $PETSc_GNU
- TEMPDIR=$(mktemp -d) - cd pytest
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=PERFORMANCE -DBUILDCMD_POST=-coverage - COLUMNS=256 pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU
- cmake --build ${TEMPDIR} --target install except:
- cd ${TEMPDIR} - master
- ./bin/DAMASK_test - release
- find -name \*.gcda -not -path "**/test/*" | xargs gcov
compile_mesh_GNU:
grid_GNU:
stage: compile stage: compile
script: script:
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU} - module load $GNUCompiler $MPI_GNU $PETSc_GNU
- cd PRIVATE/testing/pytest - cd pytest
- pytest -k 'compile and grid' --basetemp ${TESTROOT}/compile_grid_GNU - COLUMNS=256 pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU
except:
- master
- release
mesh_GNU: compile_Marc:
stage: compile
script:
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU}
- cd PRIVATE/testing/pytest
- pytest -k 'compile and mesh' --basetemp ${TESTROOT}/compile_mesh_GNU
grid_GNU-64bit:
stage: compile
script:
- module load Compiler/GNU/10 Libraries/PETSc/3.16.4/64bit
- cd PRIVATE/testing/pytest
- pytest -k 'compile and grid' --basetemp ${TESTROOT}/compile_grid_GNU-64bit
mesh_GNU-64bit:
stage: compile
script:
- module load Compiler/GNU/10 Libraries/PETSc/3.16.4/64bit
- cd PRIVATE/testing/pytest
- pytest -k 'compile and mesh' --basetemp ${TESTROOT}/compile_mesh_GNU-64bit
grid_IntelLLVM:
stage: compile
script:
- module load ${COMPILER_INTELLLVM} ${MPI_INTELLLVM} ${PETSC_INTELLLVM}
- cd PRIVATE/testing/pytest
- pytest -k 'compile and grid' --basetemp ${TESTROOT}/compile_grid_IntelLLVM
mesh_IntelLLVM:
stage: compile
script:
- module load ${COMPILER_INTELLLVM} ${MPI_INTELLLVM} ${PETSC_INTELLLVM}
- cd PRIVATE/testing/pytest
- pytest -k 'compile and mesh' --basetemp ${TESTROOT}/compile_mesh_IntelLLVM
grid_Intel:
stage: compile
script:
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL}
- cd PRIVATE/testing/pytest
- pytest -k 'compile and grid' --basetemp ${TESTROOT}/compile_grid_Intel
mesh_Intel:
stage: compile
script:
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL}
- cd PRIVATE/testing/pytest
- pytest -k 'compile and mesh' --basetemp ${TESTROOT}/compile_mesh_Intel
Marc_Intel:
stage: compile stage: compile
script: script:
- module load $IntelMarc $HDF5Marc $MSC - module load $IntelMarc $HDF5Marc $MSC
- cd PRIVATE/testing/pytest - cd pytest
- pytest -k 'compile and Marc' --basetemp ${TESTROOT}/compile_Marc - COLUMNS=256 pytest -k 'compile and Marc' --basetemp=${TESTROOT}/compile_Marc
except:
- master
- release
###################################################################################################
setup_grid: setup_grid:
stage: compile stage: setup
script: script:
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL} - module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd $(mktemp -d) - BUILD_DIR=$(mktemp -d)
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${TESTROOT} ${CI_PROJECT_DIR} - cd ${BUILD_DIR}
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
- make -j2 all install - make -j2 all install
except:
- master
- release
setup_mesh: setup_mesh:
stage: compile stage: setup
script: script:
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL} - module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd $(mktemp -d) - BUILD_DIR=$(mktemp -d)
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${TESTROOT} ${CI_PROJECT_DIR} - cd ${BUILD_DIR}
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
- make -j2 all install - make -j2 all install
except:
setup_Marc: - master
stage: compile - release
script:
- module load $IntelMarc $HDF5Marc $MSC
- cd $(mktemp -d)
- cp ${CI_PROJECT_DIR}/examples/Marc/* .
- python3 -c "import damask;damask.solver.Marc().submit_job('r-value','texture',True,'h')"
- mkdir -p ${TESTROOT}/src/Marc
- mv ${CI_PROJECT_DIR}/src/Marc/DAMASK_Marc.marc ${TESTROOT}/src/Marc
################################################################################################### ###################################################################################################
open-source: core:
stage: fortran stage: fortran
script: script:
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL} - module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd PRIVATE/testing/pytest - cd pytest
- pytest -k 'not compile and not Marc' -m 'not cifail' --basetemp ${TESTROOT}/open-source -v - COLUMNS=256 pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v
except:
Marc: - master
stage: fortran - release
script:
- cd PRIVATE/testing/pytest
- pytest -k 'not compile and Marc' -m 'not cifail' --damask-root=${TESTROOT} --basetemp ${TESTROOT}/Marc -v
# Needs closer look # Needs closer look
# Phenopowerlaw_singleSlip: # Phenopowerlaw_singleSlip:
# stage: fortran # stage: fortran
# script: Phenopowerlaw_singleSlip/test.py # script: Phenopowerlaw_singleSlip/test.py
# except:
# - master
# - release
################################################################################################### ###################################################################################################
grid_performance: SpectralRuntime:
stage: statistics stage: performance
before_script:
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID} --blocking
- source env/DAMASK.sh
- echo Job start:" $(date)"
script: script:
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL} - module load $IntelCompiler $MPI_Intel $PETSc_Intel
- cd $(mktemp -d) - cd $DAMASKROOT
- cmake -DOPTIMIZATION=AGGRESSIVE -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=./ ${CI_PROJECT_DIR} - make clean grid OPTIMIZATION=AGGRESSIVE
- make -j2 all install - cd $LOCAL_HOME/performance # location of old results
- export PATH=${PWD}/bin:${PATH} - git checkout . # undo any changes (i.e. run time data from non-development branch)
- cd $(mktemp -d) - cd $DAMASKROOT/PRIVATE/testing
- git clone -q git@git.damask.mpie.de:damask/statistics.git . - ./runtime.py --results ${LOCAL_HOME}/performance --damask_root ${DAMASKROOT} --tag ${CI_COMMIT_SHA}
- ./measure_performance.py --input_dir ${CI_PROJECT_DIR}/examples/grid --tag ${CI_COMMIT_SHA} except:
- > - master
if [ ${CI_COMMIT_BRANCH} == development ]; then - release
git add performance.txt
git commit -m ${CI_PIPELINE_ID}_${CI_COMMIT_SHA}
git push
fi
################################################################################################### ###################################################################################################
update_plots: source_distribution:
stage: finalize stage: deploy
script: script:
- cd $(mktemp -d) - cd $(mktemp -d)
- git clone -q git@git.damask.mpie.de:damask/statistics.git . - $DAMASKROOT/PRIVATE/releasing/deploy.sh $DAMASKROOT $CI_COMMIT_SHA
- ./plot_commithistory.py --color green -n 5 -N 100 except:
- ./plot_commithistory.py --color green -n 5 -N 1000 - master
- ./plot_commithistory.py --color green -n 5 -N 10000 - release
- scp -r ./commits_*.html damask.mpie.de:~/
- ssh damask.mpie.de "./update_statistics_commits.sh" ##################################################################################################
- ./plot_performance.py --template=xgridoff backup_runtime_measurement:
- scp -r ./runtime.html ./memory.html damask.mpie.de:~/ stage: backup
- ssh damask.mpie.de "./update_statistics_performance.sh" script:
- cd $LOCAL_HOME/performance # location of new runtime results
- git commit -am"${CI_PIPELINE_ID}_${CI_COMMIT_SHA}"
- git push
only: only:
- development - development
update_revision: ##################################################################################################
stage: finalize merge_into_master:
before_script: stage: update_master
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID}
- echo Job start:" $(date)"
script: script:
- cd $(mktemp -d) - cd $DAMASKROOT
- git clone -q git@git.damask.mpie.de:damask/DAMASK.git . - export TESTEDREV=$(git describe) # might be detached from development branch
- echo $TESTEDREV > python/damask/VERSION
- >
git diff-index --quiet HEAD ||
git commit python/damask/VERSION -m "[skip ci] updated version information after successful test of $TESTEDREV"
- export UPDATEDREV=$(git describe) # tested state + 1 commit
- git checkout master
- git merge $UPDATEDREV -s recursive -X ours # conflicts occur only for inconsistent state
- git push origin master # master is now tested version and has updated VERSION file
- git checkout development
- git pull - git pull
- export VERSION=$(git describe ${CI_COMMIT_SHA}) - git merge master -s recursive -X ours -m "[skip ci] Merge branch 'master' into development" # only possible conflict is in VERSION file
- echo ${VERSION:1} > VERSION - git push origin development # development is unchanged (as master is based on it) but has updated VERSION file
- >
git diff-index --quiet HEAD ||
git commit VERSION -m "[skip ci] updated version information after successful test of $VERSION"
- if [ ${CI_COMMIT_SHA} == $(git rev-parse HEAD^) ]; then git push --atomic --no-verify origin HEAD:development HEAD:master; fi
only: only:
- development - development
###################################################################################################
remove_data:
stage: distclean
before_script:
- echo "Removing data and lock of pipeline $CI_PIPELINE_ID"
script:
- rm -rf $LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID
- sed -i "/$CI_PIPELINE_ID/d" $LOCAL_HOME/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already
except:
- master
- release
###################################################################################################
remove_lock:
stage: clean
before_script:
- echo "Removing lock of pipeline $CI_PIPELINE_ID"
when: always
script: sed -i "/$CI_PIPELINE_ID/d" $LOCAL_HOME/GitLabCI.queue
except:
- master
- release

View File

@ -1,148 +1,117 @@
cmake_minimum_required(VERSION 3.12.0) cmake_minimum_required (VERSION 3.12.0)
include(FindPkgConfig REQUIRED) include (FindPkgConfig REQUIRED)
if(DEFINED ENV{PETSC_DIR}) if (DEFINED ENV{PETSC_DIR})
message("PETSC_DIR:\n$ENV{PETSC_DIR}\n") message ("PETSC_DIR:\n$ENV{PETSC_DIR}\n")
else() else ()
message(FATAL_ERROR "PETSc location (PETSC_DIR) is not defined") message (FATAL_ERROR "PETSc location (PETSC_DIR) is not defined")
endif() endif ()
# Dummy project to determine compiler names and version # Dummy project to determine compiler names and version
project(Prerequisites LANGUAGES) project (Prerequisites LANGUAGES)
set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}") set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig")
pkg_check_modules(PETSC_MIN REQUIRED PETSc>=3.12.0 QUIET) #CMake does not support version range pkg_check_modules (PETSC REQUIRED PETSc>=3.12.0 PETSc<3.17.0)
pkg_check_modules(PETSC REQUIRED PETSc<3.21.0) pkg_get_variable (CMAKE_Fortran_COMPILER PETSc fcompiler)
pkg_get_variable (CMAKE_C_COMPILER PETSc ccompiler)
pkg_get_variable(CMAKE_Fortran_COMPILER PETSc fcompiler)
pkg_get_variable(CMAKE_C_COMPILER PETSc ccompiler)
# Solver determines name of project # Solver determines name of project
string(TOUPPER "${DAMASK_SOLVER}" DAMASK_SOLVER_UPPER) string(TOUPPER "${DAMASK_SOLVER}" DAMASK_SOLVER)
string(TOLOWER "${DAMASK_SOLVER}" DAMASK_SOLVER_LOWER) if (DAMASK_SOLVER STREQUAL "GRID")
if("${DAMASK_SOLVER_UPPER}" MATCHES "^(GRID|MESH|TEST)$") project (damask-grid HOMEPAGE_URL https://damask.mpie.de LANGUAGES Fortran C)
project("damask-${DAMASK_SOLVER_LOWER}" HOMEPAGE_URL https://damask.mpie.de LANGUAGES Fortran C) elseif (DAMASK_SOLVER STREQUAL "MESH")
else() project (damask-mesh HOMEPAGE_URL https://damask.mpie.de LANGUAGES Fortran C)
message(FATAL_ERROR "Invalid solver: DAMASK_SOLVER=${DAMASK_SOLVER}") else ()
endif() message (FATAL_ERROR "Invalid solver: DAMASK_SOLVER=${DAMASK_SOLVER}")
add_definitions("-D${DAMASK_SOLVER_UPPER}") endif ()
add_definitions ("-D${DAMASK_SOLVER}")
set(CMAKE_Fortran_PREPROCESS "ON") # works only for CMake >= 3.18 file (STRINGS ${PROJECT_SOURCE_DIR}/VERSION DAMASK_VERSION)
# EXPERIMENTAL: This might help to detect HDF5 and FFTW3 in the future if PETSc is not aware of them message ("\nBuilding ${CMAKE_PROJECT_NAME} ${DAMASK_VERSION}\n")
set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/externalpackages:$ENV{PKG_CONFIG_PATH}")
pkg_check_modules(HDF5 hdf5)
pkg_check_modules(FFTW3 fftw3)
pkg_check_modules(fYAML libfyaml)
pkg_check_modules(zlib zlib)
file(STRINGS ${PROJECT_SOURCE_DIR}/VERSION DAMASK_VERSION) add_definitions (-DPETSC)
add_definitions (-DDAMASKVERSION="${DAMASK_VERSION}")
add_definitions (-DCMAKE_SYSTEM="${CMAKE_SYSTEM}")
message("\nBuilding ${CMAKE_PROJECT_NAME} ${DAMASK_VERSION}\n") if (CMAKE_BUILD_TYPE STREQUAL "")
set (CMAKE_BUILD_TYPE "RELEASE")
add_definitions(-DPETSC) endif ()
add_definitions(-DDAMASKVERSION="${DAMASK_VERSION}")
add_definitions(-DCMAKE_SYSTEM="${CMAKE_SYSTEM}")
if(PETSC_VERSION VERSION_EQUAL 3.17.0)
add_definitions("-DCHKERRQ=PetscCall")
endif()
if(CMAKE_BUILD_TYPE STREQUAL "")
set(CMAKE_BUILD_TYPE "RELEASE")
endif()
string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE) string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE)
# Predefined sets for OPTIMIZATION/OPENMP based on BUILD_TYPE # Predefined sets for OPTIMIZATION/OPENMP based on BUILD_TYPE
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY") if (CMAKE_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
set(DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG") set (DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG")
set(PARALLEL "OFF") set (PARALLEL "OFF")
set(OPTI "DEBUG") set (OPTI "OFF")
elseif(CMAKE_BUILD_TYPE STREQUAL "RELEASE") elseif (CMAKE_BUILD_TYPE STREQUAL "RELEASE")
set(PARALLEL "ON") set (PARALLEL "ON")
set(OPTI "DEFENSIVE") set (OPTI "DEFENSIVE")
elseif(CMAKE_BUILD_TYPE STREQUAL "DEBUGRELEASE") elseif (CMAKE_BUILD_TYPE STREQUAL "DEBUGRELEASE")
set(DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG") set (DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG")
set(PARALLEL "ON") set (PARALLEL "ON")
set(OPTI "DEFENSIVE") set (OPTI "DEFENSIVE")
elseif(CMAKE_BUILD_TYPE STREQUAL "PERFORMANCE") elseif (CMAKE_BUILD_TYPE STREQUAL "PERFORMANCE")
set(PARALLEL "ON") set (PARALLEL "ON")
set(OPTI "AGGRESSIVE") set (OPTI "AGGRESSIVE")
else() else ()
message(FATAL_ERROR "Invalid build type: CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}") message (FATAL_ERROR "Invalid build type: CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
endif() endif ()
# $OPTIMIZATION takes precedence over $BUILD_TYPE defaults # $OPTIMIZATION takes precedence over $BUILD_TYPE defaults
if(OPTIMIZATION STREQUAL "" OR NOT DEFINED OPTIMIZATION) if (OPTIMIZATION STREQUAL "" OR NOT DEFINED OPTIMIZATION)
set(OPTIMIZATION "${OPTI}") set (OPTIMIZATION "${OPTI}")
else() else ()
set(OPTIMIZATION "${OPTIMIZATION}") set (OPTIMIZATION "${OPTIMIZATION}")
endif() endif ()
# $OPENMP takes precedence over $BUILD_TYPE defaults # $OPENMP takes precedence over $BUILD_TYPE defaults
if(OPENMP STREQUAL "" OR NOT DEFINED OPENMP) if (OPENMP STREQUAL "" OR NOT DEFINED OPENMP)
set(OPENMP "${PARALLEL}") set (OPENMP "${PARALLEL}")
else() else ()
set(OPENMP "${OPENMP}") set(OPENMP "${OPENMP}")
endif() endif ()
# syntax check only(mainly for pre-receive hook) # syntax check only (mainly for pre-receive hook)
if(CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY") if (CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
set(BUILDCMD_POST "${BUILDCMD_POST} -fsyntax-only") set (BUILDCMD_POST "${BUILDCMD_POST} -fsyntax-only")
endif() endif ()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
set(Fortran_COMPILER_VERSION_MIN 9.1)
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
set(Fortran_COMPILER_VERSION_MIN 19)
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "IntelLLVM")
set(Fortran_COMPILER_VERSION_MIN 19)
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
set(Fortran_COMPILER_VERSION_MIN 19)
else()
message(FATAL_ERROR "Compiler '${CMAKE_Fortran_COMPILER_ID}' not supported")
endif()
if(CMAKE_Fortran_COMPILER_VERSION VERSION_LESS Fortran_COMPILER_VERSION_MIN)
message(FATAL_ERROR "Version '${CMAKE_Fortran_COMPILER_VERSION}' of '${CMAKE_Fortran_COMPILER_ID}' is not supported")
endif()
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
include("Compiler-${CMAKE_Fortran_COMPILER_ID}") if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
include (Compiler-Intel)
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
include (Compiler-GNU)
else ()
message (FATAL_ERROR "Compiler type (CMAKE_Fortran_COMPILER_ID) not recognized")
endif ()
file(STRINGS "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/petsc/conf/petscvariables" PETSC_EXTERNAL_LIB REGEX "PETSC_EXTERNAL_LIB_BASIC = .*$?") file (STRINGS "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/petsc/conf/petscvariables" PETSC_EXTERNAL_LIB REGEX "PETSC_WITH_EXTERNAL_LIB = .*$?")
string(REPLACE "PETSC_EXTERNAL_LIB_BASIC = " "" PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB}") string (REGEX MATCHALL "-[lLW]([^\" ]+)" PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB}")
message("PETSC_EXTERNAL_LIB:\n${PETSC_EXTERNAL_LIB}\n") list (REMOVE_DUPLICATES PETSC_EXTERNAL_LIB)
string (REPLACE ";" " " PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB}")
message ("PETSC_EXTERNAL_LIB:\n${PETSC_EXTERNAL_LIB}\n")
file(STRINGS "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/petsc/conf/petscvariables" PETSC_INCLUDES REGEX "PETSC_FC_INCLUDES = .*$?") file (STRINGS "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/petsc/conf/petscvariables" PETSC_INCLUDES REGEX "PETSC_FC_INCLUDES = .*$?")
string(REPLACE "PETSC_FC_INCLUDES = " "" PETSC_INCLUDES "${PETSC_INCLUDES}") string (REGEX MATCHALL "-I([^\" ]+)" PETSC_INCLUDES "${PETSC_INCLUDES}")
message("PETSC_INCLUDES:\n${PETSC_INCLUDES}\n") list (REMOVE_DUPLICATES PETSC_INCLUDES)
string (REPLACE ";" " " PETSC_INCLUDES "${PETSC_INCLUDES}")
message ("PETSC_INCLUDES:\n${PETSC_INCLUDES}\n")
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${BUILDCMD_PRE} ${OPENMP_FLAGS} ${STANDARD_CHECK} ${OPTIMIZATION_FLAGS} ${COMPILE_FLAGS}") set (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${BUILDCMD_PRE} ${OPENMP_FLAGS} ${STANDARD_CHECK} ${OPTIMIZATION_FLAGS} ${COMPILE_FLAGS} ${PRECISION_FLAGS}")
set(CMAKE_Fortran_LINK_EXECUTABLE "${BUILDCMD_PRE} ${CMAKE_Fortran_COMPILER} ${OPENMP_FLAGS} ${OPTIMIZATION_FLAGS} ${LINKER_FLAGS}") set (CMAKE_Fortran_LINK_EXECUTABLE "${BUILDCMD_PRE} ${CMAKE_Fortran_COMPILER} ${OPENMP_FLAGS} ${OPTIMIZATION_FLAGS} ${LINKER_FLAGS}")
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") if (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${DEBUG_FLAGS}") set (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${DEBUG_FLAGS}")
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} ${DEBUG_FLAGS}") set (CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} ${DEBUG_FLAGS}")
endif() endif ()
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES} ${BUILDCMD_POST}") set (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES} ${BUILDCMD_POST}")
set (CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${PETSC_EXTERNAL_LIB} -lz ${BUILDCMD_POST}")
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -L${PETSC_LIBRARY_DIRS} -lpetsc ${PETSC_EXTERNAL_LIB} -lz") message ("Fortran Compiler Flags:\n${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}\n")
message ("C Compiler Flags:\n${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}\n")
if(fYAML_FOUND STREQUAL "1") message ("Fortran Linker Command:\n${CMAKE_Fortran_LINK_EXECUTABLE}\n")
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -L${fYAML_LIBRARY_DIRS}")
foreach(fYAML_LIBRARY ${fYAML_LIBRARIES})
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -L${fYAML_LIBRARY_DIRS} -l${fYAML_LIBRARY}")
endforeach()
add_definitions(-DFYAML)
pkg_get_variable(fYAML_INCLUDE_DIR libfyaml includedir) # fYAML_INCLUDE_DIRS and fYAML_CFLAGS are not working
set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}} -I${fYAML_INCLUDE_DIR}")
endif()
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} ${BUILDCMD_POST}")
message("Fortran Compiler Flags:\n${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}\n")
message("C Compiler Flags:\n${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}\n")
message("Fortran Linker Command:\n${CMAKE_Fortran_LINK_EXECUTABLE}\n")
# location of code # location of code
add_subdirectory(src) add_subdirectory (src)

110
COPYING
View File

@ -1,21 +1,23 @@
GNU AFFERO GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 3, 19 November 2007 Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
Preamble Preamble
The GNU Affero General Public License is a free, copyleft license for The GNU General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure software and other kinds of works.
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast, to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free share and change all versions of a program--to make sure it remains free
software for all its users. software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you price. Our General Public Licenses are designed to make sure that you
@ -24,34 +26,44 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things. free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights To protect your rights, we need to prevent others from denying you
with two steps: (1) assert copyright on the software, and (2) offer these rights or asking you to surrender the rights. Therefore, you have
you this License which gives you legal permission to copy, distribute certain responsibilities if you distribute copies of the software, or if
and/or modify the software. you modify it: responsibilities to respect the freedom of others.
A secondary benefit of defending all users' freedom is that For example, if you distribute copies of such a program, whether
improvements made in alternate versions of the program, if they gratis or for a fee, you must pass on to the recipients the same
receive widespread use, become available for other developers to freedoms that you received. You must make sure that they, too, receive
incorporate. Many developers of free software are heartened and or can get the source code. And you must show them these terms so they
encouraged by the resulting cooperation. However, in the case of know their rights.
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to Developers that use the GNU GPL protect your rights with two steps:
ensure that, in such cases, the modified source code becomes available (1) assert copyright on the software, and (2) offer you this License
to the community. It requires the operator of a network server to giving you legal permission to copy, distribute and/or modify it.
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and For the developers' and authors' protection, the GPL clearly explains
published by Affero, was designed to accomplish similar goals. This is that there is no warranty for this free software. For both users' and
a different license, not a version of the Affero GPL, but Affero has authors' sake, the GPL requires that modified versions be marked as
released a new version of the Affero GPL which permits relicensing under changed, so that their problems will not be attributed erroneously to
this license. authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. modification follow.
@ -60,7 +72,7 @@ modification follow.
0. Definitions. 0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License. "This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks. works, such as semiconductor masks.
@ -537,45 +549,35 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program. License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License. 13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work, License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version but the special requirements of the GNU Affero General Public License,
3 of the GNU General Public License. section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License. 14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions the GNU General Public License from time to time. Such new versions will
will be similar in spirit to the present version, but may differ in detail to be similar in spirit to the present version, but may differ in detail to
address new problems or concerns. address new problems or concerns.
Each version is given a distinguishing version number. If the Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published GNU General Public License, you may choose any version ever published
by the Free Software Foundation. by the Free Software Foundation.
If the Program specifies that a proxy can decide which future If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you public statement of acceptance of a version permanently authorizes you
to choose that version for the Program. to choose that version for the Program.

128
DAMASK_prerequisites.sh Executable file
View File

@ -0,0 +1,128 @@
#!/usr/bin/env bash
#==================================================================================================
# Execute this script (type './DAMASK_prerequisites.sh')
# and send system_report.txt to damask@mpie.de for support
#==================================================================================================
OUTFILE="system_report.txt"
echo ===========================================
echo + Generating $OUTFILE
echo + Send to damask@mpie.de for support
echo + view with \'cat $OUTFILE\'
echo ===========================================
function firstLevel {
echo -e '\n\n=============================================================================================='
echo $1
echo ==============================================================================================
}
function secondLevel {
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo $1
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}
function thirdLevel {
echo -e '\n----------------------------------------------------------------------------------------------'
echo $1
echo ----------------------------------------------------------------------------------------------
}
function getDetails {
if which $1 &> /dev/null; then
secondLevel $1:
echo + location:
which $1
echo + $1 $2:
$1 $2
else
echo $1 not found
fi
echo
}
# redirect STDOUT and STDERR to logfile
# https://stackoverflow.com/questions/11229385/redirect-all-output-in-a-bash-script-when-using-set-x^
exec > $OUTFILE 2>&1
# directory, file is not a symlink by definition
# https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
DAMASK_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
echo System report for \'$(hostname)\' created on $(date '+%Y-%m-%d %H:%M:%S') by \'$(whoami)\'
echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
firstLevel "DAMASK"
secondLevel "DAMASK_ROOT"
echo $DAMASK_ROOT
echo
secondLevel "Version"
cat VERSION
firstLevel "System"
uname -a
echo
echo PATH: $PATH
echo LD_LIBRARY_PATH: $LD_LIBRARY_PATH
echo PYTHONPATH: $PYTHONPATH
echo SHELL: $SHELL
echo PETSC_ARCH: $PETSC_ARCH
echo PETSC_DIR: $PETSC_DIR
echo
echo $PETSC_DIR/$PETSC_ARCH/lib:
ls $PETSC_DIR/$PETSC_ARCH/lib
echo
echo $PETSC_DIR/$PETSC_ARCH/lib/petsc/conf/petscvariables:
cat $PETSC_DIR/$PETSC_ARCH/lib/petsc/conf/petscvariables
firstLevel "Python"
DEFAULT_PYTHON=python3
for EXECUTABLE in python python3; do
getDetails $EXECUTABLE '--version'
done
secondLevel "Details on $DEFAULT_PYTHON:"
echo $(ls -la $(which $DEFAULT_PYTHON))
for MODULE in numpy scipy pandas matplotlib yaml h5py;do
thirdLevel $module
$DEFAULT_PYTHON -c "import $MODULE; \
print('Version: {}'.format($MODULE.__version__)); \
print('Location: {}'.format($MODULE.__file__))"
done
thirdLevel vtk
$DEFAULT_PYTHON -c "import vtk; \
print('Version: {}'.format(vtk.vtkVersion.GetVTKVersion())); \
print('Location: {}'.format(vtk.__file__))"
firstLevel "GNU Compiler Collection"
for EXECUTABLE in gcc g++ gfortran ;do
getDetails $EXECUTABLE '--version'
done
firstLevel "Intel Compiler Suite (classic)"
for EXECUTABLE in icc icpc ifort ;do
getDetails $EXECUTABLE '--version'
done
firstLevel "Intel Compiler Suite (LLVM)"
for EXECUTABLE in icx icpx ifx ;do
getDetails $EXECUTABLE '--version'
done
firstLevel "MPI Wrappers"
for EXECUTABLE in mpicc mpiCC mpiicc mpic++ mpiicpc mpicxx mpifort mpiifort mpif90 mpif77; do
getDetails $EXECUTABLE '-show'
done
firstLevel "MPI Launchers"
for EXECUTABLE in mpirun mpiexec; do
getDetails $EXECUTABLE '--version'
done
firstLevel "CMake"
getDetails cmake --version

16
LICENSE
View File

@ -1,14 +1,14 @@
Copyright 2011-2024 Max-Planck-Institut für Eisenforschung GmbH Copyright 2011-2021 Max-Planck-Institut für Eisenforschung GmbH
DAMASK is free software: you can redistribute it and/or modify DAMASK is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as it under the terms of the GNU General Public License as published by
published by the Free Software Foundation, either version 3 of the the Free Software Foundation, either version 3 of the License, or
License, or (at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.

View File

@ -10,17 +10,14 @@ all: grid mesh
.PHONY: grid .PHONY: grid
grid: grid:
@cmake -B build/grid -DDAMASK_SOLVER=grid -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILDCMD_POST=${BUILDCMD_POST} -DBUILDCMD_PRE=${BUILDCMD_PRE} -DOPTIMIZATION=${OPTIMIZATION} -DOPENMP=${OPENMP} @cmake -B build/grid -DDAMASK_SOLVER=grid -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILDCMD_POST=${BUILDCMD_POST} -DBUILDCMD_PRE=${BUILDCMD_PRE} -DOPTIMIZATION=${OPTIMIZATION} -DOPENMP=${OPENMP}
@cmake --build build/grid --parallel --target install @cmake --build build/grid --parallel
@cmake --install build/grid
.PHONY: mesh .PHONY: mesh
mesh: mesh:
@cmake -B build/mesh -DDAMASK_SOLVER=mesh -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILDCMD_POST=${BUILDCMD_POST} -DBUILDCMD_PRE=${BUILDCMD_PRE} -DOPTIMIZATION=${OPTIMIZATION} -DOPENMP=${OPENMP} @cmake -B build/mesh -DDAMASK_SOLVER=mesh -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILDCMD_POST=${BUILDCMD_POST} -DBUILDCMD_PRE=${BUILDCMD_PRE} -DOPTIMIZATION=${OPTIMIZATION} -DOPENMP=${OPENMP}
@cmake --build build/mesh --parallel --target install @cmake --build build/mesh --parallel
@cmake --install build/mesh
.PHONY: test
test:
@cmake -B build/test -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILDCMD_POST=${BUILDCMD_POST} -DBUILDCMD_PRE=${BUILDCMD_PRE} -DOPTIMIZATION=${OPTIMIZATION} -DOPENMP=${OPENMP}
@cmake --build build/test --parallel --target install
.PHONY: clean .PHONY: clean
clean: clean:

@ -1 +1 @@
Subproject commit 63bc14bfd7dee73978615cfd939bad69c50cca3a Subproject commit 65c453c46d157f6448ab48829d059b1d641fde47

13
README Normal file
View File

@ -0,0 +1,13 @@
DAMASK - The Düsseldorf Advanced Material Simulation Kit
Visit damask.mpie.de for installation and usage instructions
CONTACT INFORMATION
Max-Planck-Institut für Eisenforschung GmbH
Max-Planck-Str. 1
40237 Düsseldorf
Germany
damask@mpie.de
https://damask.mpie.de
https://git.damask.mpie.de

View File

@ -1,44 +0,0 @@
# DAMASK - The Düsseldorf Advanced Material Simulation Kit
- Usage, installation, and support: https://damask.mpie.de
- Code development: https://git.damask.mpie.de
- General inquiries: damask@mpie.de
## DAMASK_EICMD
This is a DAMASK fork with implementation of the "Discrete Deformation Twinning Model" based on work done by Dr. Satyapriya Gupta and Dr. Philip Eisenlohr at MSU.
### The Discrete Deformation Twinning Model
The aim of this model is to accurately match experimental observations of deformation twinning while remaining computationally efficient compared to physics-based phase field models.
* We introduce stochasticity for the nucleation and growth events of twinning through random sampling, similar to Monte Carlo Methods.
* The ease or difficulty of a twinning event is controlled by adjusting the frequency of sampling.
* At each voxel, the state of twinning is treated as a discrete quantity, unlike the approach based on diffused volume fraction method.
* The kinetics of twinning occur in the form of a “jump,” rather than following a rate equation as in the “pseudo-slip” approach.
* The jumped state is evaluated using the correspondence matrix from Niewczas, Acta Materialia, 2010.
## Repository Locations
### [git.damask.mpie.de](https://git.damask.mpie.de)
All code development is centralized in the principal DAMASK code repository hosted at [git.damask.mpie.de](https://git.damask.mpie.de).
Access to this GitLab instance requires registration and is granted to anyone with an interest in actively supporting the development of DAMASK.
### [github.com](https://github.com)
GitHub hosts the publicly accessible, but read-only, mirror of the principal DAMASK code repository and replicates its three top-level branches from [git.damask.mpie.de](https://git.damask.mpie.de).
The site is primarily meant to provide a forum for [Discussions](https://github.com/eisenforschung/DAMASK/discussions) and [Issues](https://github.com/eisenforschung/DAMASK/issues).
## Contact Information
(
EICMD Team, IIT Dharwad
https://sites.google.com/view/eicmd/home
)
Max-Planck-Institut für Eisenforschung GmbH
Max-Planck-Str. 1
40237 Düsseldorf
Germany

View File

@ -1 +0,0 @@
3.0.0-beta.45

1
VERSION Symbolic link
View File

@ -0,0 +1 @@
python/damask/VERSION

View File

@ -1,31 +1,38 @@
################################################################################################### ###################################################################################################
# GNU Compiler # GNU Compiler
################################################################################################### ###################################################################################################
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0)
message (FATAL_ERROR "GCC Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported")
endif ()
if (OPENMP) if (OPENMP)
set (OPENMP_FLAGS "-fopenmp") set (OPENMP_FLAGS "-fopenmp")
endif () endif ()
if (OPTIMIZATION STREQUAL "DEBUG") if (OPTIMIZATION STREQUAL "OFF")
set (OPTIMIZATION_FLAGS "-Og")
elseif (OPTIMIZATION STREQUAL "OFF")
set (OPTIMIZATION_FLAGS "-O0") set (OPTIMIZATION_FLAGS "-O0")
elseif (OPTIMIZATION STREQUAL "DEFENSIVE") elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
set (OPTIMIZATION_FLAGS "-O2 -mtune=native") set (OPTIMIZATION_FLAGS "-O2 -mtune=generic")
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE") elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
set (OPTIMIZATION_FLAGS "-O3 -march=native -funroll-loops -ftree-vectorize -flto") set (OPTIMIZATION_FLAGS "-O3 -march=native -ffast-math -funroll-loops -ftree-vectorize")
endif () endif ()
set (STANDARD_CHECK "-std=f2018 -pedantic-errors" ) set (STANDARD_CHECK "-std=f2018 -pedantic-errors" )
set (LINKER_FLAGS "${LINKER_FLAGS} -Wl")
# options parsed directly to the linker
set (LINKER_FLAGS "${LINKER_FLAGS},-undefined,dynamic_lookup" )
# ensure to link against dynamic libraries
#------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------
# Fine tuning compilation options # Fine tuning compilation options
set (COMPILE_FLAGS "${COMPILE_FLAGS} -cpp") # preprocessor, needed for CMake < 3.18 set (COMPILE_FLAGS "${COMPILE_FLAGS} -cpp")
# preprocessor
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIE") set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC -fPIE")
# position independent code # position independent code
set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffree-line-length-none") set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffree-line-length-132")
# PETSc macros are long, line length is enforced in pre-receive hook # restrict line length to the standard 132 characters (lattice.f90 require more characters)
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fimplicit-none") set (COMPILE_FLAGS "${COMPILE_FLAGS} -fimplicit-none")
# assume "implicit none" even if not present in source # assume "implicit none" even if not present in source
@ -97,11 +104,12 @@ set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wsuggest-attribute=pure")
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wsuggest-attribute=noreturn") set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wsuggest-attribute=noreturn")
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wconversion-extra") set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wconversion-extra")
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wimplicit-procedure") set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wimplicit-procedure")
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wunused-parameter") set (COMPILE_FLAGS "${COMPILE_FLAGS} -Wno-unused-parameter")
set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffpe-summary=all") set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffpe-summary=all")
# print summary of floating point exeptions (invalid,zero,overflow,underflow,inexact,denormal) # print summary of floating point exeptions (invalid,zero,overflow,underflow,inexact,denormal)
# Additional options # Additional options
# -Warray-temporarieswarnings: because we have many temporary arrays (performance issue?)
# -Wimplicit-interface: no interfaces for lapack/MPI routines # -Wimplicit-interface: no interfaces for lapack/MPI routines
# -Wunsafe-loop-optimizations: warn if the loop cannot be optimized due to nontrivial assumptions # -Wunsafe-loop-optimizations: warn if the loop cannot be optimized due to nontrivial assumptions
@ -115,9 +123,6 @@ set (DEBUG_FLAGS "${DEBUG_FLAGS} -ffpe-trap=invalid,zero,overflow")
set (DEBUG_FLAGS "${DEBUG_FLAGS} -g") set (DEBUG_FLAGS "${DEBUG_FLAGS} -g")
# Generate symbolic debugging information in the object file # Generate symbolic debugging information in the object file
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Og")
# Optimize debugging experience
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fbacktrace") set (DEBUG_FLAGS "${DEBUG_FLAGS} -fbacktrace")
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fdump-core") set (DEBUG_FLAGS "${DEBUG_FLAGS} -fdump-core")
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fcheck=all") set (DEBUG_FLAGS "${DEBUG_FLAGS} -fcheck=all")
@ -126,10 +131,14 @@ set (DEBUG_FLAGS "${DEBUG_FLAGS} -fcheck=all")
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fstack-protector-all") set (DEBUG_FLAGS "${DEBUG_FLAGS} -fstack-protector-all")
# Inserts a guard variable onto the stack frame for all functions # Inserts a guard variable onto the stack frame for all functions
set (DEBUG_FLAGS "${DEBUG_FLAGS} -finit-real=snan -finit-integer=-2147483648")
# "strange" values to simplify debugging
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fsanitize=undefined") set (DEBUG_FLAGS "${DEBUG_FLAGS} -fsanitize=undefined")
# detect undefined behavior # detect undefined behavior
# Additional options # Additional options
# -fsanitize=address,leak,thread # -fsanitize=address,leak,thread
#------------------------------------------------------------------------------------------------
# precision settings
set (PRECISION_FLAGS "${PRECISION_FLAGS} -fdefault-real-8")
# set precision to 8 bytes for standard real (=8 for pReal). Will set size of double to 16 bytes as long as -fdefault-double-8 is not set
set (PRECISION_FLAGS "${PRECISION_FLAGS} -fdefault-double-8")
# set precision to 8 bytes for double real, would be 16 bytes if -fdefault-real-8 is used

View File

@ -1,16 +1,20 @@
################################################################################################### ###################################################################################################
# Intel Compiler # Intel Compiler
################################################################################################### ###################################################################################################
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 18.0)
message (FATAL_ERROR "Intel Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported")
endif ()
if (OPENMP) if (OPENMP)
set (OPENMP_FLAGS "-qopenmp -parallel") set (OPENMP_FLAGS "-qopenmp -parallel")
endif () endif ()
if (OPTIMIZATION STREQUAL "OFF" OR OPTIMIZATION STREQUAL "DEBUG") if (OPTIMIZATION STREQUAL "OFF")
set (OPTIMIZATION_FLAGS "-O0 -no-ip") set (OPTIMIZATION_FLAGS "-O0 -no-ip")
elseif (OPTIMIZATION STREQUAL "DEFENSIVE") elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
set (OPTIMIZATION_FLAGS "-O2") set (OPTIMIZATION_FLAGS "-O2")
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE") elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
set (OPTIMIZATION_FLAGS "-ipo -O3 -fp-model fast=2 -xHost") set (OPTIMIZATION_FLAGS "-ipo -O3 -no-prec-div -fp-model fast=2 -xHost")
# -fast = -ipo, -O3, -no-prec-div, -static, -fp-model fast=2, and -xHost" # -fast = -ipo, -O3, -no-prec-div, -static, -fp-model fast=2, and -xHost"
endif () endif ()
@ -22,15 +26,16 @@ set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel")
#------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------
# Fine tuning compilation options # Fine tuning compilation options
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fpp") # preprocessor, needed for CMake < 3.18 set (COMPILE_FLAGS "${COMPILE_FLAGS} -fpp")
# preprocessor
set (COMPILE_FLAGS "${COMPILE_FLAGS} -no-ftz") set (COMPILE_FLAGS "${COMPILE_FLAGS} -ftz")
# disable flush underflow to zero, will be set if -O[1,2,3] # flush underflow to zero, automatically set if -O[1,2,3]
set (COMPILE_FLAGS "${COMPILE_FLAGS} -diag-disable") set (COMPILE_FLAGS "${COMPILE_FLAGS} -diag-disable")
# disables warnings ... # disables warnings ...
set (COMPILE_FLAGS "${COMPILE_FLAGS} 5268") set (COMPILE_FLAGS "${COMPILE_FLAGS} 5268")
# ... the text exceeds right hand column allowed on the line (enforced by pre-receive hook) # ... the text exceeds right hand column allowed on the line (we have only comments there)
set (COMPILE_FLAGS "${COMPILE_FLAGS},7624") set (COMPILE_FLAGS "${COMPILE_FLAGS},7624")
# ... about deprecated forall (has nice syntax and most likely a performance advantage) # ... about deprecated forall (has nice syntax and most likely a performance advantage)
@ -88,8 +93,10 @@ set (DEBUG_FLAGS "${DEBUG_FLAGS},pointers")
# ... for certain disassociated or uninitialized pointers or unallocated allocatable objects. # ... for certain disassociated or uninitialized pointers or unallocated allocatable objects.
set (DEBUG_FLAGS "${DEBUG_FLAGS},uninit") set (DEBUG_FLAGS "${DEBUG_FLAGS},uninit")
# ... for uninitialized variables. # ... for uninitialized variables.
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0 -ftz") set (DEBUG_FLAGS "${DEBUG_FLAGS} -ftrapuv")
# ... capture all floating-point exceptions, need to overwrite -no-ftz # ... initializes stack local variables to an unusual value to aid error detection
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0")
# ... capture all floating-point exceptions, sets -ftz automatically
# disable due to compiler bug https://community.intel.com/t5/Intel-Fortran-Compiler/false-positive-stand-f18-and-IEEE-SELECTED-REAL-KIND/m-p/1227336 # disable due to compiler bug https://community.intel.com/t5/Intel-Fortran-Compiler/false-positive-stand-f18-and-IEEE-SELECTED-REAL-KIND/m-p/1227336
#set (DEBUG_FLAGS "${DEBUG_FLAGS} -warn") #set (DEBUG_FLAGS "${DEBUG_FLAGS} -warn")
@ -99,15 +106,16 @@ set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0 -ftz")
#set (DEBUG_FLAGS "${DEBUG_FLAGS},stderrors") #set (DEBUG_FLAGS "${DEBUG_FLAGS},stderrors")
# ... warnings about Fortran standard violations are changed to errors # ... warnings about Fortran standard violations are changed to errors
#set (DEBUG_FLAGS "${DEBUG_FLAGS} -debug-parameters all") set (DEBUG_FLAGS "${DEBUG_FLAGS} -debug-parameters all")
# generate debug information for parameters # generate debug information for parameters
# Disabled due to ICE when compiling phase_damage.f90 (not understandable, there is no parameter in there)
set (DEBUG_FLAGS "${DEBUG_FLAGS} -debug all")
# generate complete debugging information
# Additional options # Additional options
# -heap-arrays: Should not be done for OpenMP, but set "ulimit -s unlimited" on shell. Probably it helps also to unlimit other limits # -heap-arrays: Should not be done for OpenMP, but set "ulimit -s unlimited" on shell. Probably it helps also to unlimit other limits
# -check: Checks at runtime, where # -check: Checks at runtime, where
# arg_temp_created: will cause a lot of warnings because we create a bunch of temporary arrays (performance?) # arg_temp_created: will cause a lot of warnings because we create a bunch of temporary arrays (performance?)
# stack: # stack:
#------------------------------------------------------------------------------------------------
# precision settings
set (PRECISION_FLAGS "${PRECISION_FLAGS} -real-size 64")
# set precision for standard real to 32 | 64 | 128 (= 4 | 8 | 16 bytes, type pReal is always 8 bytes)

View File

@ -1,117 +0,0 @@
###################################################################################################
# IntelLLVM Compiler
###################################################################################################
if (OPENMP)
set (OPENMP_FLAGS "-fiopenmp")
endif ()
if (OPTIMIZATION STREQUAL "OFF" OR OPTIMIZATION STREQUAL "DEBUG")
set (OPTIMIZATION_FLAGS "-O0")
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
set (OPTIMIZATION_FLAGS "-O2")
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
#set (OPTIMIZATION_FLAGS "-ipo -O3 -fp-model fast=2 -xHost") # ifx 2022.0 has problems with YAML types and IPO
set (OPTIMIZATION_FLAGS "-O3 -fp-model fast=2 -xHost")
endif ()
# -assume std_mod_proc_name (included in -standard-semantics) causes problems if other modules
# (PETSc, HDF5) are not compiled with this option (https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/62172)
set (STANDARD_CHECK "-stand f18 -assume nostd_mod_proc_name")
set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel")
# Link against shared Intel libraries instead of static ones
set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel -fc=ifx")
# enforce use of ifx for MPI wrapper
#------------------------------------------------------------------------------------------------
# Fine tuning compilation options
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fpp") # preprocessor, needed for CMake < 3.18
set (COMPILE_FLAGS "${COMPILE_FLAGS} -no-ftz")
# disable flush underflow to zero, will be set if -O[1,2,3]
set (COMPILE_FLAGS "${COMPILE_FLAGS} -diag-disable")
# disables warnings ...
set (COMPILE_FLAGS "${COMPILE_FLAGS} 5268")
# ... the text exceeds right hand column allowed on the line (enforced by pre-receive hook)
set (COMPILE_FLAGS "${COMPILE_FLAGS},7624")
# ... about deprecated forall (has nice syntax and most likely a performance advantage)
set (COMPILE_FLAGS "${COMPILE_FLAGS} -warn")
# enables warnings ...
set (COMPILE_FLAGS "${COMPILE_FLAGS} declarations")
# ... any undeclared names (alternative name: -implicitnone)
set (COMPILE_FLAGS "${COMPILE_FLAGS},general")
# ... warning messages and informational messages are issued by the compiler
set (COMPILE_FLAGS "${COMPILE_FLAGS},usage")
# ... questionable programming practices
set (COMPILE_FLAGS "${COMPILE_FLAGS},interfaces")
# ... checks the interfaces of all SUBROUTINEs called and FUNCTIONs invoked in your compilation against an external set of interface blocks
set (COMPILE_FLAGS "${COMPILE_FLAGS},ignore_loc")
# ... %LOC is stripped from an actual argument
set (COMPILE_FLAGS "${COMPILE_FLAGS},alignments")
# ... data that is not naturally aligned
set (COMPILE_FLAGS "${COMPILE_FLAGS},unused")
# ... declared variables that are never used
# Additional options
# -warn: enables warnings, where
# truncated_source: Determines whether warnings occur when source exceeds the maximum column width in fixed-format files.
# (too many warnings because we have comments beyond character 132)
# uncalled: Determines whether warnings occur when a statement function is never called
# all:
# -name as_is: case sensitive Fortran!
#------------------------------------------------------------------------------------------------
# Runtime debugging
set (DEBUG_FLAGS "${DEBUG_FLAGS} -g")
# Generate symbolic debugging information in the object file
set (DEBUG_FLAGS "${DEBUG_FLAGS} -traceback")
# Generate extra information in the object file to provide source file traceback information when a severe error occurs at run time
set (DEBUG_FLAGS "${DEBUG_FLAGS} -gen-interfaces")
# Generate an interface block for each routine. http://software.intel.com/en-us/blogs/2012/01/05/doctor-fortran-gets-explicit-again/
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-stack-check")
# Generate extra code after every function call to ensure that the floating-point (FP) stack is in the expected state
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-model strict")
# Trap uninitalized variables
set (DEBUG_FLAGS "${DEBUG_FLAGS} -check" )
# Checks at runtime ...
set (DEBUG_FLAGS "${DEBUG_FLAGS} bounds")
# ... if an array index is too small (<1) or too large!
set (DEBUG_FLAGS "${DEBUG_FLAGS},format")
# ... for the data type of an item being formatted for output.
set (DEBUG_FLAGS "${DEBUG_FLAGS},output_conversion")
# ... for the fit of data items within a designated format descriptor field.
set (DEBUG_FLAGS "${DEBUG_FLAGS},pointers")
# ... for certain disassociated or uninitialized pointers or unallocated allocatable objects.
set (DEBUG_FLAGS "${DEBUG_FLAGS},uninit")
# ... for uninitialized variables.
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0 -ftz")
# ... capture all floating-point exceptions, need to overwrite -no-ftz
set (DEBUG_FLAGS "${DEBUG_FLAGS} -init=arrays,zero,minus_huge,snan")
# ... initialize logical to false, integer to -huge, float+complex to signaling NaN
# disable due to compiler bug https://community.intel.com/t5/Intel-Fortran-Compiler/false-positive-stand-f18-and-IEEE-SELECTED-REAL-KIND/m-p/1227336
#set (DEBUG_FLAGS "${DEBUG_FLAGS} -warn")
# enables warnings ...
#set (DEBUG_FLAGS "${DEBUG_FLAGS} errors")
# ... warnings are changed to errors
#set (DEBUG_FLAGS "${DEBUG_FLAGS},stderrors")
# ... warnings about Fortran standard violations are changed to errors
set (DEBUG_FLAGS "${DEBUG_FLAGS} -debug-parameters all")
# generate debug information for parameters
set (DEBUG_FLAGS "${DEBUG_FLAGS} -debug all")
# generate complete debugging information
# Additional options
# -heap-arrays: Should not be done for OpenMP, but set "ulimit -s unlimited" on shell. Probably it helps also to unlimit other limits
# -check: Checks at runtime, where
# arg_temp_created: will cause a lot of warnings because we create a bunch of temporary arrays (performance?)
# stack:

View File

@ -1,12 +0,0 @@
###################################################################################################
# LLVM Compiler
###################################################################################################
if (OPENMP)
set (OPENMP_FLAGS "-fopenmp")
endif ()
set (STANDARD_CHECK "-std=f2018 -pedantic" )
#------------------------------------------------------------------------------------------------
# Fine tuning compilation options
set (COMPILE_FLAGS "${COMPILE_FLAGS} -cpp") # preprocessor, needed for CMake < 3.18

1
examples/.gitignore vendored
View File

@ -1,3 +1,4 @@
*.C_ref
*.hdf5 *.hdf5
*.xdmf *.xdmf
*.sta *.sta

View File

@ -13,414 +13,19 @@ phase:
plastic: plastic:
type: phenopowerlaw type: phenopowerlaw
N_sl: [12] N_sl: [12]
a_sl: [2.25] a_sl: 2.25
atol_xi: 1.0 atol_xi: 1.0
dot_gamma_0_sl: [0.001] dot_gamma_0_sl: 0.001
h_0_sl-sl: [75.e+6] h_0_sl-sl: 75.e+6
h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
n_sl: [20] n_sl: 20
output: [xi_sl] output: [xi_sl]
xi_0_sl: [31.e+6] xi_0_sl: [31.e+6]
xi_inf_sl: [63.e+6] xi_inf_sl: [63.e+6]
material: material:
- constituents: - homogenization: SX
- O: [0.31638628373524325, 0.4606971763404367, -0.25136671882289513, 0.7902357900300152] constituents:
phase: Aluminum - phase: Aluminum
v: 1.0 v: 1.0
homogenization: SX O: [0.9330127018922194, 0.25, 0.06698729810778066, 0.25]
- constituents:
- O: [0.17926942151539643, -0.8129164299504208, -0.5453207208299451, -0.09825814907531387]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.11156578191572807, -0.4904242197947781, -0.8051447086471791, 0.3142915192646224]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.050875167730042026, -0.4676541613791777, -0.3231762099798638, -0.8211385022980162]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5736388730744205, 0.030011807121272376, 0.1793738934298104, -0.7986630961094017]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3524596363123286, 0.8260984090345517, 0.4361208241824434, 0.05596650851705724]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.1475195192105493, -0.2681290123533707, -0.8885681859138441, -0.3417475722928759]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3878621882257487, -0.4133490094014299, -0.5962575110690821, 0.5684914246189594]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.44765430421636465, 0.1688301032261743, 0.5590033642770855, 0.6772128608407416]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3154783988579777, -0.893128078628195, 0.126738882437621, 0.294504449369408]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.01177697706652547, -0.8423157700616575, 0.4660610852557732, -0.2704672089677829]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.6023412506865766, 0.33897759335409144, -0.587639839755177, 0.42066450724741294]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.1457746940340264, 0.33010317541439926, 0.7204157567665017, 0.592269169857055]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.10885124011262147, 0.38223867611365064, -0.5398450127934588, -0.7420325896959369]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3329465044039982, 0.005520408719519113, 0.4218135102429913, 0.843320527954356]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.2773927866814888, 0.282254093261412, -0.9094550709020325, -0.12758268983226237]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.22508894523834683, 0.3481870269276267, -0.6119961977184769, -0.673469683793499]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.7972172843203117, -0.42474780085647684, -0.2632560619322889, 0.3387183979420616]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.1856727896017474, 0.5407410320424911, 0.8064864929236231, 0.15067942194898976]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.35572128347826554, -0.21063165012009927, 0.7164748021511587, -0.561925737380588]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.951689791582057, -0.18424932026485139, 0.24330606914616992, 0.03377699360630425]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.7518830912041409, -0.6350086418080308, 0.03666967302842633, -0.17346808660504054]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.45893176203555247, -0.10107069709110554, -0.8532524342056044, -0.22611199770616278]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.6863555826979106, 0.7132418012703317, -0.12068837363804946, -0.07507638436064179]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5031196491913161, 0.7534072343296819, -0.418000862383123, 0.0672565008327974]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5354367280219723, 0.1489275079865293, -0.5066200327507001, 0.6591390218047527]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.7481103019200436, -0.6384221488364733, 0.14256832672505068, -0.11145585785834745]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.02565565294273664, 0.5032076562445432, -0.10524431346049941, -0.8573490984734187]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.09677483527453862, 0.42211465960588607, 0.39550590793620377, -0.8099561236208737]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5682732488475628, -0.018709507415836685, 0.5596636589678777, 0.6029030252098423]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.520651625785196, 0.5331055583395244, -0.1753591314180096, 0.6434046341634921]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.7323990700263593, 0.5135195038892626, -0.28947480564659256, -0.34072519461542217]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.2379144266672964, 0.9451799147482833, -0.022386636015155, 0.2225544716870999]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.6929401940723844, 0.6921675787458842, 0.04806193711709397, 0.196030560302569]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.114679536930033, -0.02786128070118354, -0.2458076367959361, -0.9621075607955694]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5536359330028813, 0.3398797644491804, 0.6552731815916284, -0.3854686198548249]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.9501825140749718, -0.17348508997627773, -0.023693401768133945, 0.2578657329207251]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5269902873788485, -0.38600076480335854, 0.7335400729523406, -0.18762624537269798]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.16353281877366127, -0.8502634877258836, 0.2921682908502614, -0.4061363175656595]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.2506727462997232, 0.38078481221063915, -0.8812340677720474, -0.12487040822466101]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.53797656304294, 0.04453446570800863, -0.73466834243862, -0.41092618023082744]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5147765687773858, -0.012009003671292302, 0.8506194553313438, -0.10633630744205957]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.45770418863630163, 0.46122438992768267, -0.5413625109006552, 0.5335780820385708]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.12028049877433303, 0.5509971760365859, 0.5424247126754088, 0.6226637493007807]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.1208751835697386, -0.11646202949704858, 0.1842663733100575, -0.9684377570859003]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.24961872240151486, 0.29610154171987574, -0.885460753706652, 0.2568533123457741]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.4494732523235404, 0.8130366919200476, -0.22342614248113637, -0.2950015116798619]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3566054427707518, 0.6009999195769142, 0.6204413194609187, 0.35592727341468655]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.041340362458678996, -0.7766310224212297, -0.446615292586641, 0.4423460295656439]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3143906305984617, 0.637462215667549, -0.06250872515926072, -0.7006376483369167]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.15960096982054908, 0.0154505822997579, -0.6938445646590042, 0.7020459600568152]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.10937013835716297, 0.005361991476876583, 0.07892487169799395, -0.9908482661389645]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.5566919673747123, 0.12234937037008195, 0.03295758799282205, 0.8209984667611823]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.03242357741517866, -0.1003019572329824, -0.25727891603352054, -0.9605705535604615]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.07439180141351488, 0.222039714860086, 0.9710557663706901, 0.04706297382800665]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.386406745139845, -0.3485065110202708, 0.0213726326755233, -0.8536839284298527]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.9148730990764601, 0.0859699947503276, -0.2653710064737939, 0.29188114278237975]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.05351534255347124, -0.47484306303499174, -0.4424245873225889, -0.7588943655946909]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.1850990827256794, -0.7850365894615515, 0.5790701003651098, 0.11888524569444774]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.2293488176462691, 0.8155102586104775, 0.36252844203460916, -0.3884781418063178]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.6824605981608404, -0.07237666863890763, 0.6154543161215582, 0.38758887311431783]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.7240310183899645, -0.1492281437355668, -0.5793271457602446, 0.3433512832533411]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.4130306435878869, -0.08991141120131982, -0.8934593257803132, 0.15182904455126872]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.9217038188689652, -0.2551303946186847, 0.2760910380891145, 0.09562578475994342]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.49248590418849286, 0.7555385277692129, 0.01782522408264428, -0.4316264920256593]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.288763491302084, 0.26595000602129804, -0.8721581902166229, 0.29193549223478765]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.18741690177717063, -0.959586229086916, -0.01605960190298382, -0.2093114021302156]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.6141655879532604, 0.44351951295059505, 0.35530824864623534, 0.5475829806066271]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.2814752417920179, 0.7638077896809081, -0.5255180392616715, 0.24738661865884956]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.16603578951305883, -0.6913575628365758, -0.6767106315334661, -0.1911009107226411]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.7317089905438434, -0.4610621713555634, -0.01149547471101715, -0.5018879171322728]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.12911750380868442, -0.775968622433847, -0.5524437669202766, -0.27569412688569794]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.18347252569039887, -0.3000323311682173, -0.9120086722006003, -0.21108911483411225]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.2453327661435727, -0.041601186144862225, -0.967732952958631, 0.039675016391321906]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.9885220121542625, 0.08409037295425872, -0.06115390693360882, -0.1096049284004023]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.3506668690363713, 0.8300197131399097, 0.3314704911076744, -0.2796915019878287]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.43424700094705143, -0.6863040633023977, -0.3990882505417852, -0.4256111407642043]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.09516090822469872, -0.09694359326006573, 0.7244026181255996, -0.6758603318174947]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.6299976256081414, -0.6188326478138776, 0.4105304204739873, 0.22718697056217957]
phase: Aluminum
v: 1.0
homogenization: SX
- constituents:
- O: [0.1624065072613073, -0.6001819140771016, 0.5096769212668724, -0.5946723739521216]
phase: Aluminum
v: 1.0
homogenization: SX

View File

@ -1,5 +1,5 @@
title R-Wert title r-value
$....MARC input file produced by Marc Mentat 2021.2 (64bit) $....MARC input file produced by Marc Mentat 2019 (64bit)
$................................... $...................................
$....input file using extended precision $....input file using extended precision
extended extended
@ -7,11 +7,11 @@ $...................................
sizing 0 80 165 0 sizing 0 80 165 0
alloc 25 alloc 25
elements 7 elements 7
version 15 1 0 1 version 14 1 0 1
table 0 0 2 1 1 0 0 1 table 0 0 2 1 1 0 0 1
processor 1 1 1 0 processor 1 1 1 0
$no list $no list
large stra 2 1 0 0 0 0 0 0 large stra 2 1 0 0 0 0 0
all points all points
no echo 1 2 3 4 no echo 1 2 3 4
state vars 2 state vars 2
@ -269,6 +269,8 @@ coordinates
163 3.999999999999999+1 9.999999999999996+0-5.000000000000000-1 163 3.999999999999999+1 9.999999999999996+0-5.000000000000000-1
164 3.999999999999999+1 9.999999999999996+0 0.000000000000000+0 164 3.999999999999999+1 9.999999999999996+0 0.000000000000000+0
165 3.999999999999999+1 9.999999999999996+0 5.000000000000000-1 165 3.999999999999999+1 9.999999999999996+0 5.000000000000000-1
define element set DAMASK_elements
1 to 80
define node set unten_y_nodes define node set unten_y_nodes
2 5 8 11 14 2 5 8 11 14
define node set oben_y_nodes define node set oben_y_nodes
@ -281,166 +283,6 @@ define node set unten_z_nodes
7 to 9 7 to 9
define node set oben_z_nodes define node set oben_z_nodes
157 to 159 157 to 159
define element set material0_elements
1
define element set material1_elements
2
define element set material2_elements
3
define element set material3_elements
4
define element set material4_elements
5
define element set material5_elements
6
define element set material6_elements
7
define element set material7_elements
8
define element set material8_elements
9
define element set material9_elements
10
define element set material10_elements
11
define element set material11_elements
12
define element set material12_elements
13
define element set material13_elements
14
define element set material14_elements
15
define element set material15_elements
16
define element set material16_elements
17
define element set material17_elements
18
define element set material18_elements
19
define element set material19_elements
20
define element set material20_elements
21
define element set material21_elements
22
define element set material22_elements
23
define element set material23_elements
24
define element set material24_elements
25
define element set material25_elements
26
define element set material26_elements
27
define element set material27_elements
28
define element set material28_elements
29
define element set material29_elements
30
define element set material30_elements
31
define element set material31_elements
32
define element set material32_elements
33
define element set material33_elements
34
define element set material34_elements
35
define element set material35_elements
36
define element set material36_elements
37
define element set material37_elements
38
define element set material38_elements
39
define element set material39_elements
40
define element set material40_elements
41
define element set material41_elements
42
define element set material42_elements
43
define element set material43_elements
44
define element set material44_elements
45
define element set material45_elements
46
define element set material46_elements
47
define element set material47_elements
48
define element set material48_elements
49
define element set material49_elements
50
define element set material50_elements
51
define element set material51_elements
52
define element set material52_elements
53
define element set material53_elements
54
define element set material54_elements
55
define element set material55_elements
56
define element set material56_elements
57
define element set material57_elements
58
define element set material58_elements
59
define element set material59_elements
60
define element set material60_elements
61
define element set material61_elements
62
define element set material62_elements
63
define element set material63_elements
64
define element set material64_elements
65
define element set material65_elements
66
define element set material66_elements
67
define element set material67_elements
68
define element set material68_elements
69
define element set material69_elements
70
define element set material70_elements
71
define element set material71_elements
72
define element set material72_elements
73
define element set material73_elements
74
define element set material74_elements
75
define element set material75_elements
76
define element set material76_elements
77
define element set material77_elements
78
define element set material78_elements
79
define element set material79_elements
80
hypoelastic hypoelastic
1 0 1 0 1TKS 0 1 0 1 0 1TKS 0
@ -452,13 +294,13 @@ mat color
1 1 230 0 0 1 1 230 0 0
table weg_x table weg_x
1 1 0 0 2 1 1 0 0 2
1 2 2 0 0 2 0 0 2 0 0 2 0 0 0 0 1 2 2 0 0 2 0 0 2 0 0 2
0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0
2.000000000000000+2 1.600000000000000+1 2.000000000000000+2 1.600000000000000+1
geometry geometry
0 0 2 0 0 2
1 9 1 230 0 0 1 9 1 230 0 0
r-wert-probe r-value-sample
0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0 0.000000000000000+0
usdata 1 usdata 1
@ -502,655 +344,20 @@ unten_fest_nodes
oben_ziehen_nodes oben_ziehen_nodes
initial state initial state
2 6 1 0 0 0material0 2 6 1 0 0 0DAMASK
0.000000000000000+0 0.000000000000000+0
0 0
1 1
material0_elements DAMASK_elements
initial state loadcase r-value
5
2 6 1 0 0 0material1 DAMASK
1.000000000000000+0
0
1
material1_elements
initial state
2 6 1 0 0 0material2
2.000000000000000+0
0
1
material2_elements
initial state
2 6 1 0 0 0material3
3.000000000000000+0
0
1
material3_elements
initial state
2 6 1 0 0 0material4
4.000000000000000+0
0
1
material4_elements
initial state
2 6 1 0 0 0material5
5.000000000000000+0
0
1
material5_elements
initial state
2 6 1 0 0 0material6
6.000000000000000+0
0
1
material6_elements
initial state
2 6 1 0 0 0material7
7.000000000000000+0
0
1
material7_elements
initial state
2 6 1 0 0 0material8
8.000000000000000+0
0
1
material8_elements
initial state
2 6 1 0 0 0material9
9.000000000000000+0
0
1
material9_elements
initial state
2 6 1 0 0 0material10
10.000000000000000+0
0
1
material10_elements
initial state
2 6 1 0 0 0material11
11.000000000000000+0
0
1
material11_elements
initial state
2 6 1 0 0 0material12
12.000000000000000+0
0
1
material12_elements
initial state
2 6 1 0 0 0material13
13.000000000000000+0
0
1
material13_elements
initial state
2 6 1 0 0 0material14
14.000000000000000+0
0
1
material14_elements
initial state
2 6 1 0 0 0material15
15.000000000000000+0
0
1
material15_elements
initial state
2 6 1 0 0 0material16
16.000000000000000+0
0
1
material16_elements
initial state
2 6 1 0 0 0material17
17.000000000000000+0
0
1
material17_elements
initial state
2 6 1 0 0 0material18
18.000000000000000+0
0
1
material18_elements
initial state
2 6 1 0 0 0material19
19.000000000000000+0
0
1
material19_elements
initial state
2 6 1 0 0 0material20
20.000000000000000+0
0
1
material20_elements
initial state
2 6 1 0 0 0material21
21.000000000000000+0
0
1
material21_elements
initial state
2 6 1 0 0 0material22
22.000000000000000+0
0
1
material22_elements
initial state
2 6 1 0 0 0material23
23.000000000000000+0
0
1
material23_elements
initial state
2 6 1 0 0 0material24
24.000000000000000+0
0
1
material24_elements
initial state
2 6 1 0 0 0material25
25.000000000000000+0
0
1
material25_elements
initial state
2 6 1 0 0 0material26
26.000000000000000+0
0
1
material26_elements
initial state
2 6 1 0 0 0material27
27.000000000000000+0
0
1
material27_elements
initial state
2 6 1 0 0 0material28
28.000000000000000+0
0
1
material28_elements
initial state
2 6 1 0 0 0material29
29.000000000000000+0
0
1
material29_elements
initial state
2 6 1 0 0 0material30
30.000000000000000+0
0
1
material30_elements
initial state
2 6 1 0 0 0material31
31.000000000000000+0
0
1
material31_elements
initial state
2 6 1 0 0 0material32
32.000000000000000+0
0
1
material32_elements
initial state
2 6 1 0 0 0material33
33.000000000000000+0
0
1
material33_elements
initial state
2 6 1 0 0 0material34
34.000000000000000+0
0
1
material34_elements
initial state
2 6 1 0 0 0material35
35.000000000000000+0
0
1
material35_elements
initial state
2 6 1 0 0 0material36
36.000000000000000+0
0
1
material36_elements
initial state
2 6 1 0 0 0material37
37.000000000000000+0
0
1
material37_elements
initial state
2 6 1 0 0 0material38
38.000000000000000+0
0
1
material38_elements
initial state
2 6 1 0 0 0material39
39.000000000000000+0
0
1
material39_elements
initial state
2 6 1 0 0 0material40
40.000000000000000+0
0
1
material40_elements
initial state
2 6 1 0 0 0material41
41.000000000000000+0
0
1
material41_elements
initial state
2 6 1 0 0 0material42
42.000000000000000+0
0
1
material42_elements
initial state
2 6 1 0 0 0material43
43.000000000000000+0
0
1
material43_elements
initial state
2 6 1 0 0 0material44
44.000000000000000+0
0
1
material44_elements
initial state
2 6 1 0 0 0material45
45.000000000000000+0
0
1
material45_elements
initial state
2 6 1 0 0 0material46
46.000000000000000+0
0
1
material46_elements
initial state
2 6 1 0 0 0material47
47.000000000000000+0
0
1
material47_elements
initial state
2 6 1 0 0 0material48
48.000000000000000+0
0
1
material48_elements
initial state
2 6 1 0 0 0material49
49.000000000000000+0
0
1
material49_elements
initial state
2 6 1 0 0 0material50
50.000000000000000+0
0
1
material50_elements
initial state
2 6 1 0 0 0material51
51.000000000000000+0
0
1
material51_elements
initial state
2 6 1 0 0 0material52
52.000000000000000+0
0
1
material52_elements
initial state
2 6 1 0 0 0material53
53.000000000000000+0
0
1
material53_elements
initial state
2 6 1 0 0 0material54
54.000000000000000+0
0
1
material54_elements
initial state
2 6 1 0 0 0material55
55.000000000000000+0
0
1
material55_elements
initial state
2 6 1 0 0 0material56
56.000000000000000+0
0
1
material56_elements
initial state
2 6 1 0 0 0material57
57.000000000000000+0
0
1
material57_elements
initial state
2 6 1 0 0 0material58
58.000000000000000+0
0
1
material58_elements
initial state
2 6 1 0 0 0material59
59.000000000000000+0
0
1
material59_elements
initial state
2 6 1 0 0 0material60
60.000000000000000+0
0
1
material60_elements
initial state
2 6 1 0 0 0material61
61.000000000000000+0
0
1
material61_elements
initial state
2 6 1 0 0 0material62
62.000000000000000+0
0
1
material62_elements
initial state
2 6 1 0 0 0material63
63.000000000000000+0
0
1
material63_elements
initial state
2 6 1 0 0 0material64
64.000000000000000+0
0
1
material64_elements
initial state
2 6 1 0 0 0material65
65.000000000000000+0
0
1
material65_elements
initial state
2 6 1 0 0 0material66
66.000000000000000+0
0
1
material66_elements
initial state
2 6 1 0 0 0material67
67.000000000000000+0
0
1
material67_elements
initial state
2 6 1 0 0 0material68
68.000000000000000+0
0
1
material68_elements
initial state
2 6 1 0 0 0material69
69.000000000000000+0
0
1
material69_elements
initial state
2 6 1 0 0 0material70
70.000000000000000+0
0
1
material70_elements
initial state
2 6 1 0 0 0material71
71.000000000000000+0
0
1
material71_elements
initial state
2 6 1 0 0 0material72
72.000000000000000+0
0
1
material72_elements
initial state
2 6 1 0 0 0material73
73.000000000000000+0
0
1
material73_elements
initial state
2 6 1 0 0 0material74
74.000000000000000+0
0
1
material74_elements
initial state
2 6 1 0 0 0material75
75.000000000000000+0
0
1
material75_elements
initial state
2 6 1 0 0 0material76
76.000000000000000+0
0
1
material76_elements
initial state
2 6 1 0 0 0material77
77.000000000000000+0
0
1
material77_elements
initial state
2 6 1 0 0 0material78
78.000000000000000+0
0
1
material78_elements
initial state
2 6 1 0 0 0material79
79.000000000000000+0
0
1
material79_elements
loadcase R-Wert
83
material0
material1
material2
material3
material4
material5
material6
material7
material8
material9
material10
material11
material12
material13
material14
material15
material16
material17
material18
material19
material20
material21
material22
material23
material24
material25
material26
material27
material28
material29
material30
material31
material32
material33
material34
material35
material36
material37
material38
material39
material40
material41
material42
material43
material44
material45
material46
material47
material48
material49
material50
material51
material52
material53
material54
material55
material56
material57
material58
material59
material60
material61
material62
material63
material64
material65
material66
material67
material68
material69
material70
material71
material72
material73
material74
material75
material76
material77
material78
material79
unten_z unten_z
unten_y unten_y
unten_fest unten_fest
no print no print
post post
3 16 17 0 0 19 20 0 1 0 0 0 0 0 0 0 6 16 17 0 0 19 20 0 1 0 0 0 0 0 0 0
17 0
301 0
311 0
parameters parameters
1.000000000000000+0 1.000000000000000+9 1.000000000000000+2 1.000000000000000+6 2.500000000000000-1 5.000000000000000-1 1.500000000000000+0-5.000000000000000-1 1.000000000000000+0 1.000000000000000+9 1.000000000000000+2 1.000000000000000+6 2.500000000000000-1 5.000000000000000-1 1.500000000000000+0-5.000000000000000-1
8.625000000000000+0 2.000000000000000+1 1.000000000000000-4 1.000000000000000-6 1.000000000000000+0 1.000000000000000-4 8.625000000000000+0 2.000000000000000+1 1.000000000000000-4 1.000000000000000-6 1.000000000000000+0 1.000000000000000-4
@ -1160,9 +367,9 @@ parameters
3.000000000000000+0 4.000000000000000-1 3.000000000000000+0 4.000000000000000-1
end option end option
$................... $...................
$....start of loadcase Ziehen $....start of loadcase Tensile
title Ziehen title Tensile
loadcase Ziehen loadcase Tensile
6 6
unten_z unten_z
unten_y unten_y
@ -1185,5 +392,5 @@ auto load
time step time step
2.000000000000000+0 2.000000000000000+0
continue continue
$....end of loadcase Ziehen $....end of loadcase Tensile
$................... $...................

View File

@ -0,0 +1,26 @@
type: dislotungsten
N_sl: [12]
rho_mob_0: [1.0e+9]
rho_dip_0: [1.0]
nu_a: [9.1e+11]
b_sl: [2.72e-10]
Delta_H_kp,0: [2.61154e-19] # 1.63 eV, Delta_H0
tau_Peierls: [2.03e+9]
p_sl: [0.86]
q_sl: [1.69]
h: [2.566e-10]
w: [2.992e-09]
B: [8.3e-5]
D_a: 1.0 # d_edge
# climb (disabled)
D_0: 0.0
Q_cl: 0.0
V_cl: [0.0]
h_sl-sl: [0.009, 0.72, 0.009, 0.05, 0.05, 0.06, 0.09]
a_nonSchmid: [0.938, 0.71, 4.43]

View File

@ -0,0 +1,31 @@
type: dislotwin
output: [rho_mob, rho_dip, gamma_sl, Lambda_sl, tau_pass, f_tw, Lambda_tw, tau_hat_tw, f_tr]
D: 2.0e-5
N_sl: [12]
b_sl: [2.56e-10]
rho_mob_0: [1.0e+12]
rho_dip_0: [1.0]
v_0: [1.0e+4]
Q_sl: [3.7e-19]
p_sl: [1.0]
q_sl: [1.0]
tau_0: [1.5e+8]
i_sl: [10.0] # Adj. parameter controlling dislocation mean free path
D_0: 4.0e-5 # Vacancy diffusion prefactor / m^2/s
D_a: 1.0 # minimum dipole distance / b
Q_cl: 4.5e-19 # Activation energy for climb / J
h_sl-sl: [0.122, 0.122, 0.625, 0.07, 0.137, 0.137, 0.122] # Interaction coefficients (Kubin et al. 2008)
# twinning parameters
N_tw: [12]
b_tw: [1.47e-10] # Burgers vector length of twin system / b
t_tw: [5.0e-8] # Twin stack mean thickness / m
L_tw: 442.0 # Length of twin nuclei / b
x_c_tw: 1.0e-9 # critical distance for formation of twin nucleus / m
V_cs: 1.67e-29 # cross slip volume / m^3
p_tw: [10.0] # r-exponent in twin formation probability
i_tw: 1.0 # Adj. parameter controlling twin mean free path
h_sl-tw: [0.0, 1.0, 1.0] # dislocation-twin interaction coefficients
h_tw-tw: [0.0, 1.0] # twin-twin interaction coefficients
T_ref: 0.0
Gamma_sf: -0.0396 # stacking fault energy / J/m^2 at zero K; TWIP steel: -0.0526; Cu: -0.0396
Gamma_sf,T: 0.0002 # temperature dependence / J/(m^2 K) of stacking fault energy

View File

@ -0,0 +1,17 @@
# Tasan et.al. 2015 Acta Materalia
# Tasan et.al. 2015 International Journal of Plasticity
# Diehl et.al. 2015 Meccanica
Martensite:
lattice: cI
mechanical:
elastic: {C_11: 417.4e+9, C_12: 242.4e+9, C_44: 211.1e+9, type: Hooke}
plastic:
N_sl: [12, 12]
a_sl: 2.0
dot_gamma_0_sl: 0.001
h_0_sl-sl: 563.0e+9
h_sl-sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4]
n_sl: 20
type: phenopowerlaw
xi_0_sl: [405.8e+6, 456.7e+6]
xi_inf_sl: [872.9e+6, 971.2e+6]

View File

@ -0,0 +1,12 @@
phase: [basic, extensive, selective]
CPFEM: [basic, extensive, selective]
# options for selective debugging
element: 1
integrationpoint: 1
constituent: 1
# solver-specific
mesh: [PETSc]
grid: [basic, rotation, PETSc]
Marc: [basic]

View File

@ -1 +0,0 @@
N_constituents: 8

View File

@ -0,0 +1,4 @@
[Parallel3]
mech isostrain
nconstituents 3
mapping sum # or 'parallel'

View File

@ -1 +0,0 @@
N_constituents: 2

View File

@ -1,3 +0,0 @@
# For single point calculations, requires N_constituents = 1
type: pass
output: ['T']

View File

@ -1 +0,0 @@
N_constituents: 1

View File

@ -1,8 +1,10 @@
# For Relaxed Grain Cluster homogenization, requires N_constituents = 8 8Grains:
type: RGC N_constituents: 8
D_alpha: [4.0e-06, 4.0e-06, 2.0e-06] mechanical:
a_g: [0.0, 0.0, 0.0] type: RGC
c_alpha: 2.0 D_alpha: [4.0e-06, 4.0e-06, 2.0e-06]
cluster_size: [2, 2, 2] a_g: [0.0, 0.0, 0.0]
output: [M, Delta_V, avg_dot_a, max_dot_a] c_alpha: 2.0
xi_alpha: 10.0 cluster_size: [2, 2, 2]
output: [M, Delta_V, avg_dot_a, max_dot_a]
xi_alpha: 10.0

View File

@ -0,0 +1,3 @@
Taylor2:
N_constituents: 2
mechanical: {type: isostrain}

View File

@ -1,3 +0,0 @@
# For Taylor homogenization with N_constituents > 1
type: isostrain
output: ['F', 'P']

View File

@ -1,3 +0,0 @@
# For single point calculations, requires N_constituents = 1
type: pass
output: ['F', 'P']

View File

@ -1,3 +0,0 @@
# For homogenization with N_constituents > 1
type: isotemperature
output: ['T']

View File

@ -1,3 +0,0 @@
# For single point calculations, requires N_constituents = 1
type: pass
output: ['T']

View File

@ -1,100 +1,83 @@
# Default values of all available numerical parameters # Available numerical parameters
# Please note that keys are case sensitive # Case sensitive keys
solver:
grid:
N_staggered_iter_max: 10 # max number of field-level staggered iterations
N_cutback_max: 3 # maximum cutback level (0: 1, 1: 0.5, 2: 0.25, etc)
damage:
N_iter_max: 100 # maximum iteration number
eps_abs_phi: 1.0e-2 # absolute tolerance for damage evolution
eps_rel_phi: 1.0e-6 # relative tolerance for damage evolution
phi_min: 1.0e-6 # residual integrity
thermal:
N_iter_max: 100 # maximum iteration number
eps_abs_T: 1.0e-2 # absolute tolerance for thermal equilibrium
eps_rel_T: 1.0e-6 # relative tolerance for thermal equilibrium
mechanical:
N_iter_min: 1 # minimum iteration number
N_iter_max: 100 # maximum iteration number
eps_abs_div(P): 1.0e-4 # absolute tolerance for fulfillment of stress equilibrium
eps_rel_div(P): 5.0e-4 # relative tolerance for fulfillment of stress equilibrium
eps_abs_P: 1.0e3 # absolute tolerance for fulfillment of stress BC
eps_rel_P: 1.0e-3 # relative tolerance for fulfillment of stress BC
update_gamma: false # update Gamma-operator with current dPdF (not possible if FFT: memory_efficient == true)
PETSc_options: -snes_type ngmres -snes_ngmres_anderson # PETSc solver options
FFT:
memory_efficient: true # precalculate Gamma-operator (81 doubles per point)
divergence_correction: size+grid # use size-independent divergence criterion {none, size, size+grid}
derivative: continuous # approximation used for derivatives in Fourier space {continuous, central_difference, FWBW_difference}
FFTW_plan_mode: FFTW_MEASURE # planning-rigor flags, see manual at https://www.fftw.org/fftw3_doc/Planner-Flags.html
FFTW_timelimit: -1.0 # time limit of plan creation for FFTW, see manual on www.fftw.org. (-1.0: disable time limit)
alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0 (1.0: AL scheme, 2.0: accelerated scheme)
beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0 (1.0: AL scheme, 2.0: accelerated scheme)
eps_abs_curl(F): 1.0e-10 # absolute tolerance for fulfillment of strain compatibility
eps_rel_curl(F): 5.0e-4 # relative tolerance for fulfillment of strain compatibility
mesh:
N_cutback_max: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
N_staggered_iter_max: 10 # max number of field level staggered iterations
p_s: 2 # order of displacement shape functions
p_i: 2 # order of quadrature rule required
bbarstabilization: false
mechanical:
N_iter_max: 250 # Maximum iteration number
eps_abs_div(P): 1.0e-10 # absolute tolerance for mechanical equilibrium
eps_rel_div(P): 1.0e-4 # relative tolerance for mechanical equilibrium
Marc:
unit_length: 1.0 # physical length of one computational length unit
homogenization: homogenization:
mechanical: mech:
RGC: RGC:
eps_abs_P: 1.0e+4 # absolute tolerance of RGC residuum (in Pa) atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
eps_rel_P: 1.0e-3 # relative ... rtol: 1.0e-3 # relative ...
eps_abs_max: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa) amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa)
eps_rel_max: 1.0e+2 # relative ... rmax: 1.0e+2 # relative ...
Delta_a: 1.0e-7 # perturbation for computing penalty tangent perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent
relevant_mismatch: 1.0e-5 # minimum threshold of mismatch relevantmismatch: 1.0e-5 # minimum threshold of mismatch
viscosity_exponent: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme
viscosity_modulus: 0.0e+0 # stress modulus of RGC numerical viscosity (0: without numerical viscosity) viscositymodulus: 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity)
# suggestion: larger than the aTol_RGC but still far below the expected flow stress of material # suggestion: larger than the aTol_RGC but still far below the expected flow stress of material
dot_a_ref: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher) refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher)
dot_a_max: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback) maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback)
Delta_V_max: 1.0e-5 # maximum allowable relative volume discrepancy maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy
Delta_V_modulus: 1.0e+12 voldiscrepancymod: 1.0e+12
Delta_V_exponent: 5.0 discrepancypower: 5.0
generic:
subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization
subStepSize: 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1)
stepIncrease: 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1)
nMPstate: 10 # materialpoint state loop limit
phase: grid:
mechanical: eps_div_atol: 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium
r_cutback_min: 1.0e-3 # minimum (relative) size of step allowed during cutback in phase state calculation eps_div_rtol: 5.0e-4 # relative tolerance for fulfillment of stress equilibrium
r_cutback: 0.25 # factor to decrease size of step when cutback introduced in phase state calculation (value between 0 and 1) eps_curl_atol: 1.0e-12 # absolute tolerance for fulfillment of strain compatibility
r_increase: 1.5 # factor to increase size of next step when previous step converged in phase state calculation eps_curl_rtol: 5.0e-4 # relative tolerance for fulfillment of strain compatibility
eps_rel_state: 1.0e-6 # relative tolerance in phase state loop (abs tol provided by constitutive law) eps_stress_atol: 1.0e+3 # absolute tolerance for fulfillment of stress BC
N_iter_state_max: 10 # state loop limit eps_stress_rtol: 0.01 # relative tolerance for fulfillment of stress BC
eps_damage_atol: 1.0e-2 # absolute tolerance for damage evolution
eps_damage_rtol: 1.0e-6 # relative tolerance for damage evolution
eps_thermal_atol: 1.0e-2 # absolute tolerance for thermal equilibrium
eps_thermal_rtol: 1.0e-6 # relative tolerance for thermal equilibrium
itmax: 250 # Maximum iteration number
itmin: 2 # Minimum iteration number
fftw_timelimit: -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit
fftw_plan_mode: FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag
maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
maxStaggeredIter: 10 # max number of field level staggered iterations
memory_efficient: 1 # Precalculate Gamma-operator (81 double per point)
update_gamma: false # Update Gamma-operator with current dPdF (not possible if memory_efficient=1)
divergence_correction: 2 # Use size-independent divergence criterion
derivative: continuous # Approximation used for derivatives in Fourier space
petsc_options: -snes_type ngmres -snes_ngmres_anderson # PetSc solver options
alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme
beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme
plastic: mesh:
r_linesearch_Lp: 0.5 # factor to decrease the step if Lp calculation fails to converge maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
eps_rel_Lp: 1.0e-6 # relative tolerance in Lp residuum maxStaggeredIter: 10 # max number of field level staggered iterations
eps_abs_Lp: 1.0e-8 # absolute tolerance in Lp residuum structorder: 2 # order of displacement shape functions (when mesh is defined)
N_iter_Lp_max: 40 # stress loop limit for Lp bbarstabilisation: false
f_update_jacobi_Lp: 1 # frequency of Jacobian update of residuum in Lp integrationorder: 2 # order of quadrature rule required (when mesh is defined)
integrator_state: FPI # integration method (FPI = Fixed Point Iteration, Euler = Euler, AdaptiveEuler = Adaptive Euler, RK4 = classical 4th order Runge-Kutta, RKCK45 = 5th order Runge-Kutta Cash-Karp) itmax: 250 # Maximum iteration number
itmin: 2 # Minimum iteration number
eps_struct_atol: 1.0e-10 # absolute tolerance for mechanical equilibrium
eps_struct_rtol: 1.0e-4 # relative tolerance for mechanical equilibrium
eigen: crystallite:
r_linesearch_Li: 0.5 # factor to decrease the step if Li calculation fails to converge subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite
eps_rel_Li: 1.0e-6 # relative tolerance in Li residuum subStepSize: 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1)
eps_abs_Li: 1.0e-8 # absolute tolerance in Li residuum stepIncrease: 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1)
N_iter_Li_max: 40 # stress loop limit for Li subStepSizeLp: 0.5 # size of first substep when cutback in Lp calculation
f_update_jacobi_Li: 1 # frequency of updating the Jacobian of residuum in Li subStepSizeLi: 0.5 # size of first substep when cutback in Li calculation
nState: 10 # state loop limit
nStress: 40 # stress loop limit
rtol_State: 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law)
rtol_Stress: 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum)
atol_Stress: 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!)
integrator: FPI # integration method (FPI = Fixed Point Iteration, Euler = Euler, AdaptiveEuler = Adaptive Euler, RK4 = classical 4th order Runge-Kutta, RKCK45 = 5th order Runge-Kutta Cash-Karp)
iJacoLpresiduum: 1 # frequency of Jacobian update of residuum in Lp
commercialFEM:
unitlength: 1 # physical length of one computational length unit
generic: generic:
random_seed: 0 # fixed seeding for pseudo-random number generator (0: use random seed) random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed.
residualStiffness: 1.0e-6 # non-zero residual damage.

View File

@ -1,7 +0,0 @@
references:
- H.M. Ledbetter,
physica status solidi (a) 85(1):89-96, 1984,
https://doi.org/10.1002/pssa.2210850111
lattice: cF
rho: 7937.0

View File

@ -1,5 +0,0 @@
references:
- https://en.wikipedia.org/wiki/Silver
lattice: cF
rho: 10490.0

View File

@ -1,5 +1,4 @@
references: references:
- https://en.wikipedia.org/wiki/Aluminium - https://en.wikipedia.org/wiki/Aluminium
lattice: cF lattice: cF
rho: 2700.0 rho: 2700.0

View File

@ -1,5 +1,4 @@
references: references:
- https://en.wikipedia.org/wiki/Gold - https://en.wikipedia.org/wiki/Gold
lattice: cF lattice: cF
rho: 19300.0 rho: 19300.0

View File

@ -1,5 +1,4 @@
references: references:
- https://en.wikipedia.org/wiki/Copper - https://en.wikipedia.org/wiki/Copper
lattice: cF lattice: cF
rho: 8960.0 rho: 8960.0

View File

@ -1,5 +1,4 @@
references: references:
- https://en.wikipedia.org/wiki/Iron - https://en.wikipedia.org/wiki/Iron
lattice: cI lattice: cI
rho: 7874.0 rho: 7874.0

View File

@ -2,7 +2,6 @@ references:
- D. Tromans, - D. Tromans,
International Journal of Recent Research and Applied Studies 6(4):462-483, 2011, International Journal of Recent Research and Applied Studies 6(4):462-483, 2011,
https://www.arpapress.com/Volumes/Vol6Issue4/IJRRAS_6_4_14.pdf https://www.arpapress.com/Volumes/Vol6Issue4/IJRRAS_6_4_14.pdf
lattice: hP lattice: hP
c/a: 1.62350 c/a: 1.62350
rho: 1740.0 rho: 1740.0

View File

@ -1,5 +1,4 @@
references: references:
- https://en.wikipedia.org/wiki/Nickel - https://en.wikipedia.org/wiki/Nickel
lattice: cF lattice: cF
rho: 8908.0 rho: 8908.0

View File

@ -1,5 +0,0 @@
references:
- https://en.wikipedia.org/wiki/Platinum
lattice: cF
rho: 21450.0

View File

@ -1,9 +0,0 @@
references:
- J.A. Rayne and B.S. Chandrasekhar,
Physical Review 120(5):1658-1663, 1960,
https://doi.org/10.1103/PhysRev.120.1658
- https://en.wikipedia.org/wiki/Tin
lattice: tI
c/a: 0.5458 # T=300K (c=31.83nm, a=5.832nm)
rho: 7265.0

View File

@ -1,7 +1,6 @@
references: references:
- https://www.totalmateria.com/page.aspx?ID=CheckArticle&site=ktn&NM=221 - https://www.totalmateria.com/page.aspx?ID=CheckArticle&site=ktn&NM=221
- https://en.wikipedia.org/wiki/Titanium - https://en.wikipedia.org/wiki/Titanium
lattice: hP lattice: hP
c/a: 1.587 c/a: 1.587
rho: 4506.0 rho: 4506.0

View File

@ -1,5 +1,4 @@
references: references:
- https://en.wikipedia.org/wiki/Tungsten - https://en.wikipedia.org/wiki/Tungsten
lattice: cF
lattice: cI
rho: 19300.0 rho: 19300.0

View File

@ -1,2 +0,0 @@
lattice: tI
c/a: 0.55

View File

@ -1,13 +1,11 @@
type: anisobrittle type: anisobrittle
N_cl: [3]
g_crit: [0.5e+7]
s_crit: [0.006666]
dot_o: 1.e-3
q: 20
output: [f_phi] output: [f_phi]
N_cl: [3] D_11: 1.0
g_crit: [0.5e+7]
s_crit: [0.006666]
dot_o_0: 1.e-3
p: 20
l_c: 1.0
mu: 0.001 mu: 0.001

View File

@ -1,7 +1,7 @@
type: isobrittle type: isobrittle
W_crit: 1400000.0
output: [f_phi] output: [f_phi]
G_crit: 1400000.0 D_11: 1.0
l_c: 1.0
mu: 0.001 mu: 0.001

View File

@ -1,2 +0,0 @@
lattice: hP
c/a: 1.6333

View File

@ -1,14 +0,0 @@
type: thermalexpansion
references:
- R.H. Bogaard et al.,
Thermochimica Acta 218:373-393, 1993,
https://doi.org/10.1016/0040-6031(93)80437-F,
fit to Fig. 6 (T_min=100K, T_max=1200K)
Alpha_11: 14.9e-6
Alpha_11,T: 1.838e-08
Alpha_11,T^2: -2.028e-11
Alpha_11,T^3: 9.173e-15
T_ref: 293.15

View File

@ -1,7 +1,5 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://en.wikipedia.org/wiki/Thermal_expansion, - https://en.wikipedia.org/wiki/Thermal_expansion
293.15K A_11: 23.1e-6
T_ref: 293.15
Alpha_11: 23.1e-6

View File

@ -1,7 +1,5 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://en.wikipedia.org/wiki/Thermal_expansion, - https://en.wikipedia.org/wiki/Thermal_expansion
293.15K A_11: 14.e-6
T_ref: 293.15
Alpha_11: 14.e-6

View File

@ -1,11 +1,8 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://commons.wikimedia.org/wiki/File:Coefficient_dilatation_lineique_aciers.svg, - https://commons.wikimedia.org/wiki/File:Coefficient_dilatation_lineique_aciers.svg,
fit to image description (Scilab code) fitted from image description (Scilab code)
A_11: 12.70371e-6
Alpha_11: 10.2e-6 A_11,T: 7.54e-9
Alpha_11,T: 1.260e-08 A_11,T^2: -1.0e-11
Alpha_11,T^2: -1.000e-11 T_ref: 273.0
T_ref: 293.15

View File

@ -1,7 +1,5 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://en.wikipedia.org/wiki/Thermal_expansion, - https://en.wikipedia.org/wiki/Thermal_expansion
293.15K A_11: 17.e-6
T_ref: 293.15
Alpha_11: 17.e-6

View File

@ -1,7 +1,5 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://en.wikipedia.org/wiki/Thermal_expansion, - https://en.wikipedia.org/wiki/Thermal_expansion
293.15K A_11: 11.8e-6
T_ref: 293.15
Alpha_11: 11.8e-6

View File

@ -1,16 +0,0 @@
type: thermalexpansion
references:
- Z. Li and R.C. Bradt,
Journal of the American Ceramic Society 69(12):863-866, 1986,
https://doi.org/10.1111/j.1151-2916.1986.tb07385.x
Alpha_11: 3.27e-6
Alpha_11,T: 3.25e-9
Alpha_11,T^2: -1.36e-12
Alpha_33: 3.18e-6
Alpha_33,T: 2.48e-9
Alpha_33,T^2: -8.51e-13
T_ref: 273.15

View File

@ -1,12 +0,0 @@
type: thermalexpansion
references:
- Z. Li and R.C. Bradt,
Journal of Materials Science 21:4366-4368, 1986,
https://doi.org/10.1007/BF01106557
Alpha_11: 3.19e-6
Alpha_11,T: 3.60e-9
Alpha_11,T^2: -1.68e-12
T_ref: 273.15

View File

@ -1,17 +0,0 @@
type: thermalexpansion
references:
- V.T. Deshpande and D.B. Sirdeshmukh,
Acta Crystallographica 15:294-295, 1962,
https://doi.org/10.1107/S0365110X62000742,
fit to Tab. 2 (T_min=30ºC, T_max=210ºC)
Alpha_11: 16.4e-6
Alpha_11,T: 1.799e-08
Alpha_11,T^2: 1.734e-10
Alpha_33: 32.6e-6
Alpha_33,T: 1.387e-08
Alpha_33,T^2: 5.794e-10
T_ref: 293.15

View File

@ -1,7 +1,5 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://en.wikipedia.org/wiki/Thermal_expansion, - https://en.wikipedia.org/wiki/Thermal_expansion
293.15K A_11: 4.5e-6
T_ref: 293.15
Alpha_11: 4.5e-6

View File

@ -1,10 +1,7 @@
type: thermalexpansion type: thermalexpansion
references: references:
- https://commons.wikimedia.org/wiki/File:Coefficient_dilatation_lineique_aciers.svg, - https://commons.wikimedia.org/wiki/File:Coefficient_dilatation_lineique_aciers.svg
fit to Scilab code for generating the image (T_min=100ºC, T_max=400ºC) fitted from image description (Scilab code)
A_11: 11.365e-6
Alpha_11: 10.1e-6 A_11,T: 5.0e-9
Alpha_11,T: 5.000e-09 T_ref: 273.0
T_ref: 293.15

View File

@ -1,10 +0,0 @@
type: Hooke
references:
- H.M. Ledbetter,
physica status solidi (a) 85(1):89-96, 1984,
https://doi.org/10.1002/pssa.2210850111
C_11: 204.6e+9
C_12: 137.7e+9
C_44: 126.2e+9

View File

@ -1,25 +0,0 @@
type: Hooke
references:
- J.R. Neighbours and G.A. Alers,
Physical Review 111:707-712, 1958,
https://doi.org/10.1103/PhysRev.111.707,
fit to Tab. I (T_min=100K, T_max=300K)
- Y.A. Chang and L. Himmel,
Journal of Applied Physics 37:3567-3572, 1966,
https://doi.org/10.1063/1.1708903,
fit to Tab. II (T_min=300K, T_max=800K)
C_11: 124.1e+9
C_11,T: -3.148e+7
C_11,T^2: -6.594e+3
C_12: 93.7e+9
C_12,T: -1.657e+7
C_12,T^2: -4.220e+3
C_44: 46.4e+9
C_44,T: -1.775e+7
C_44,T^2: -1.973e+3
T_ref: 293.15

View File

@ -1,25 +1,8 @@
type: Hooke type: Hooke
references: references:
- G.N. Kamm and G.A. Alers, - J. Vallin et al.,
Journal of Applied Physics 35:327-330, 1964, Journal of Applied Physics 35(6):1825-1826, 1964,
https://doi.org/10.1063/1.1713309, https://doi.org/10.1063/1.1713749
fit to Tab. I (T_min=100K, T_max=300K) C_11: 107.3e+9
- D. Gerlich and E.S. Fisher, C_12: 60.8e+9
Journal of Physics and Chemistry of Solids 30:1197-1205, 1969, C_44: 28.3e+9
https://doi.org/10.1016/0022-3697(69)90377-1,
fit to Tab. 2 (T_min=293K, T_max=900K)
C_11: 106.9e+9
C_11,T: -3.691e+7
C_11,T^2: -9.790e+3
C_12: 60.5e+9
C_12,T: -8.412e+6
C_12,T^2: -3.972e+3
C_44: 28.4e+9
C_44,T: -1.413e+7
C_44,T^2: -3.408e+3
T_ref: 293.15

View File

@ -1,25 +1,9 @@
type: Hooke type: Hooke
references: references:
- J.R. Neighbours and G.A. Alers, - J.P. Hirth and J. Lothe,
Physical Review 111:707-712, 1958, Theory of Dislocations, 1982,
https://doi.org/10.1103/PhysRev.111.707, John Wiley & Sons,
fit to Tab. II (T_min=100K, T_max=300K) page 837
- Y.A. Chang and L. Himmel, C_11: 186.e+9
Journal of Applied Physics 37:3567-3572, 1966, C_12: 157.e+9
https://doi.org/10.1063/1.1708903, C_44: 42.e+9
fit to Tab. III (T_min=300K, T_max=800K)
C_11: 192.7e+9
C_11,T: -3.472e+7
C_11,T^2: 1.102e+3
C_12: 163.2e+9
C_12,T: -2.607e+7
C_12,T^2: 2.397e+3
C_44: 42.2e+9
C_44,T: -1.172e+7
C_44,T^2: -3.078e+3
T_ref: 293.15

View File

@ -1,25 +1,7 @@
type: Hooke type: Hooke
references: references:
- W.C. Overton Jr. and J. Gaffney, - https://www.mit.edu/~6.777/matprops/copper.htm,
Physical Review 98(4):969-977, 1955, fixed typo
https://doi.org/10.1103/PhysRev.98.969, C_11: 168.3e+9
fit to Tab. I (T_min=100K, T_max=300K) C_12: 122.1e+9
- Y.A. Chang and L. Himmel, C_44: 75.7e+9
Journal of Applied Physics 37:3567-3572, 1966,
https://doi.org/10.1063/1.1708903,
fit to Tab. II (T_min=300K, T_max=800K)
C_11: 168.9e+9
C_11,T: -3.332e+7
C_11,T^2: -1.074e+4
C_12: 121.8e+9
C_12,T: -1.402e+7
C_12,T^2: -9.003e+3
C_44: 75.8e+9
C_44,T: -2.555e+7
C_44,T^2: -2.188e+3
T_ref: 293.15

View File

@ -1,21 +1,9 @@
type: Hooke type: Hooke
references: references:
- D.J. Dever, - J.P. Hirth and J. Lothe,
Journal of Applied Physics 43(8):3293-3301, 1972, Theory of Dislocations, 1982,
https://doi.org/10.1063/1.1661710, John Wiley & Sons,
fit to Tab. II (T_min=25ºC, T_max=880ºC) page 837
C_11: 242.e9
C_11: 232.2e+9 C_12: 146.5e+9
C_11,T: -4.683e+7 C_44: 112.e9
C_11,T^2: -5.988e+4
C_12: 136.4e+9
C_12,T: -1.970e+7
C_12,T^2: 3.760e+3
C_44: 117.0e+9
C_44,T: -2.015e+7
C_44,T^2: -7.485e+2
T_ref: 293.15

View File

@ -1,18 +0,0 @@
type: Hooke
references:
- Z. Wang et al.,
Materials Science and Engineering:A 674:406-412, 2016,
https://doi.org/10.1016/j.msea.2016.08.010,
fit to Tab. 2 (last 3 rows)
C_11: 243.9e+9
C_11,T: -5.410e+7
C_12: 157.0e+9
C_12,T: -9.352e+6
C_44: 117.9e+9
C_44,T: -2.798e+7
T_ref: 293.15

View File

@ -1,29 +1,10 @@
type: Hooke type: Hooke
references: references:
- L.J. Slutsky and C.W. Garland, - D. Tromans,
Physical Review 107(4):972-976, 1957, International Journal of Recent Research and Applied Studies 6(4):462-483, 2011,
https://doi.org/10.1103/PhysRev.107.972, https://www.arpapress.com/Volumes/Vol6Issue4/IJRRAS_6_4_14.pdf
fit to Tab. I (T_min=100K, T_max=300K) C_11: 59.3e+9
C_33: 61.5e+9
C_11: 59.5e+9 C_44: 16.4e+9
C_11,T: -1.930e+7 C_12: 25.7e+9
C_11,T^2: -1.215e+4 C_13: 21.4e+9
C_12: 25.6e+9
C_12,T: -2.216e+6
C_12,T^2: -4.138e+3
C_44: 16.5e+9
C_44,T: -1.006e+7
C_44,T^2: -7.692e+3
C_33: 61.7e+9
C_33,T: -2.175e+7
C_33,T^2: -5.624e+3
C_13: 21.5e+9
C_13,T: -1.921e+6
C_13,T^2: -4.283e+3
T_ref: 293.15

View File

@ -1,21 +1,9 @@
type: Hooke type: Hooke
references: references:
- G.A. Alers, - J.P. Hirth and J. Lothe,
Journal of Physics and Chemistry of Solids 13(1-2):40-55, 1960, Theory of Dislocations, 1982,
https://doi.org/10.1016/0022-3697(60)90125-6, John Wiley & Sons,
fit to Tab. 2 (T_min=100K, T_max=700K) page 837
C_11: 246.5e+9
C_11: 251.0e+9 C_12: 147.3e+9
C_11,T: -4.967e+7 C_44: 124.7e+9
C_11,T^2: -3.327e+4
C_12: 150.0e+9
C_12,T: -3.714e+6
C_12,T^2: -7.414e+3
C_44: 123.7e+9
C_44,T: -3.621e+7
C_44,T^2: -8.017e+3
T_ref: 293.15

View File

@ -1,26 +0,0 @@
type: Hooke
references:
- S.M. Collard and R.B. McLellan,
Acta Metallurgica et Materialia 40:699-702, 1992,
https://doi.org/10.1016/0956-7151(92)90011-3
C_11: 373.42e+9
C_11,T: -8.929e+7
C_11,T^2: -1.298e+5
C_11,T^3: 1.2807e+2
C_11,T^4: -4.6114e-2
C_12: 241.74e+9
C_12,T: 5.705e+7
C_12,T^2: 0.4511e+5
C_12,T^3: -0.4860e+2
C_12,T^4: 1.446e-2
C_44: 77.65e+9
C_44,T: -1.342e+7
C_44,T^2: -0.1493e+5
C_44,T^3: 0.1260e+2
C_44,T^4: -0.6470e-2
T_ref: 0

View File

@ -1,11 +0,0 @@
type: Hooke
references:
- S.A. Kim and W.L. Johnson,
Materials Science & Engineering A 452-453:633-639, 2007,
https://doi.org/10.1016/j.msea.2006.11.147,
Tab. 1 (averaged for bcc)
C_11: 267.9e+9
C_12: 110.8e+9
C_44: 78.9e+9

View File

@ -1,27 +0,0 @@
type: Hooke
references:
- J.A. Rayne and B.S. Chandrasekhar,
Physical Review 120(5):1658-1663, 1960,
https://doi.org/10.1103/PhysRev.120.1658,
fit to Tab. IV (T_min=77K, T_max=300K)
C_11: 72.6e+9
C_11,T: -4.135e+7
C_12: 59.4e+9
C_12,T: 6.726e+6
C_44: 22.2e+9
C_44,T: -1.870e+7
C_33: 88.8e+9
C_33,T: -5.381e+7
C_13: 35.8e+9
C_13,T: -2.870e+6
C_66: 24.1e+9
C_66,T: -1.709e+7
T_ref: 293.15

View File

@ -1,5 +1,4 @@
type: Hooke type: Hooke
references: references:
- D. Music et al., - D. Music et al.,
Applied Physics Letters 99(19):191904, 2007, Applied Physics Letters 99(19):191904, 2007,
@ -7,7 +6,6 @@ references:
- S.L. Wong et al., - S.L. Wong et al.,
Acta Materialia 118:140-151, 2016, Acta Materialia 118:140-151, 2016,
https://doi.org/10.1016/j.actamat.2016.07.032 https://doi.org/10.1016/j.actamat.2016.07.032
C_11: 175.0e+9 C_11: 175.0e+9
C_12: 115.0e+9 C_12: 115.0e+9
C_44: 135.0e+9 C_44: 135.0e+9

View File

@ -1,21 +0,0 @@
type: Hooke
references:
- F.H. Featherston and J.R. Neighbours,
Physical Review 130(4):1324-1333, 1963,
https://doi.org/10.1103/PhysRev.130.1324,
fit to Tab. II (T_min=100K, T_max=300K)
C_11: 523.6e+9
C_11,T: -7.704e+7
C_11,T^2: -1.562e+5
C_12: 204.6e+9
C_12,T: -2.485e+7
C_12,T^2: -1.182e+5
C_44: 160.7e+9
C_44,T: -1.028e+7
C_44,T^2: 1.291e+4
T_ref: 293.15

View File

@ -1,29 +1,10 @@
type: Hooke type: Hooke
references: references:
- E.S. Fisher and C.J. Renken, - L. Wang et al.,
Physical Review 135(2A):A482-A494, 1964, Acta Materialia 132:598-610, 2017,
https://doi.org/10.1103/PhysRev.135.A482, https://doi.org/10.1016/j.actamat.2017.05.015
fit to Tab. IV (T_min=77K, T_max=923K) C_11: 162.4e+9
C_33: 181.6e+9
C_11: 162.5e+9 C_44: 47.2e+9
C_11,T: -5.915e+7 C_12: 92.e+9
C_11,T^2: 1.156e+4 C_13: 69.e+9
C_12: 91.8e+9
C_12,T: 2.192e+7
C_12,T^2: -1.621e+4
C_44: 46.8e+9
C_44,T: -1.857e+7
C_44,T^2: -3.745e+3
C_33: 180.6e+9
C_33,T: -4.110e+7
C_33,T^2: 7.330e+3
C_13: 68.9e+9
C_13,T: 2.965e+6
C_13,T^2: -5.767e+3
T_ref: 293.15

View File

@ -1,21 +0,0 @@
type: Hooke
references:
- R.A. Ayres et al.,
Journal of Applied Physics 46:1526-1530, 1975,
https://doi.org/10.1063/1.321804,
fit to Table IV (T_min=100K, T_max=300K)
C_11: 524.6e+9
C_11,T: -5.783e+07
C_11,T^2: -1.355e+05
C_12: 219.0e+9
C_12,T: 1.940e+07
C_12,T^2: 7.634e+04
C_44: 168.7e+9
C_44,T: -2.048e+07
C_44,T^2: -5.478e+04
T_ref: 293.15

View File

@ -1,21 +0,0 @@
type: Hooke
references:
- R.A. Ayres et al.,
Journal of Applied Physics 46:1526-1530, 1975,
https://doi.org/10.1063/1.321804,
fit to Table IV (T_min=100K, T_max=300K)
C_11: 535.1e+9
C_11,T: -6.459e+07
C_11,T^2: -1.664e+05
C_12: 216.1e+9
C_12,T: 2.357e+07
C_12,T^2: 5.186e+04
C_44: 161.1e+9
C_44,T: -1.498e+07
C_44,T^2: -3.234e+04
T_ref: 293.15

View File

@ -1,18 +1,8 @@
type: Hooke type: Hooke
references: references:
- F.H. Featherston and J.R. Neighbours, - D. Cereceda et al.,
Physical Review 130(4):1324-1333, 1963, International Journal of Plasticity 78:242-265, 2016,
https://doi.org/10.1103/PhysRev.130.1324, https://doi.org/10.1016/j.ijplas.2015.09.002
fit to Tab. III (T_min=100K, T_max=300K) C_11: 523.e+9
C_12: 202.e+9
C_11: 524.3e+9 C_44: 161.e+9
C_11,T: -4.794e+07
C_12: 205.1e+9
C_12,T: -2.836e+06
C_44: 160.7e+9
C_44,T: -1.269e+07
T_ref: 293.15

View File

@ -1,10 +1,8 @@
type: Hooke type: Hooke
references: references:
- T. Maiti and P. Eisenlohr, - T. Maiti and P. Eisenlohr,
Scripta Materialia 145:37-40, 2018, Scripta Materialia 145:37-40, 2018,
https://doi.org/10.1016/j.scriptamat.2017.09.047 https://doi.org/10.1016/j.scriptamat.2017.09.047
C_11: 1.e+8 C_11: 1.e+8
C_12: 1.e+6 C_12: 1.e+6
C_44: 4.95e+7 C_44: 4.95e+7

View File

@ -1,39 +0,0 @@
type: dislotungsten
references:
- D. Cereceda et al.,
International Journal of Plasticity 78:242-265, 2016,
https://doi.org/10.1016/j.ijplas.2015.09.002
- R. Gröger et al.,
Acta Materialia 56(19):5412-5425, 2008,
https://doi.org/10.1016/j.actamat.2008.07.037
output: [Lambda_sl]
N_sl: [12]
b_sl: [2.72e-10]
rho_mob_0: [1.0e+9] # estimated from section 3.2
rho_dip_0: [1.0] # not given
Q_s: [2.61154e-19] # 1.63 eV, Delta_H0
B: [8.3e-5]
omega: [9.1e+11] # nu_0
p_sl: [0.86]
q_sl: [1.69]
tau_Peierls: [2.03e+9]
h: [2.566e-10]
h_sl-sl: [0.009, 0.72, 0.009, 0.05, 0.05, 0.06, 0.09]
w: [2.992e-09] # 11b
# values in Cereceda et al. are high, using parameters from Gröger et al.
a_nonSchmid_110: [0.0, 0.56, 0.75] # Tab. 2
# (almost) no annhilation, adjustment needed for simulations beyond the yield point
i_sl: [1] # c, eq. (25)
D: 1.0e+20 # d_g, eq. (25)
D_a: 1.0 # d_edge = D_a*b
# disable climb (not discussed in Cereceda et al.)
D_0: 0.0
f_at: 1
Q_cl: 1.0

View File

@ -1,20 +1,14 @@
type: dislotwin type: dislotwin
references: references:
- K. Sedighiani et al., - K. Sedighiani et al.,
International Journal of Plasticity 134:102779, 2020, International Journal of Plasticity 134:102779, 2020,
https://doi.org/10.1016/j.ijplas.2020.102779 https://doi.org/10.1016/j.ijplas.2020.102779
- K. Sedighiani et al., - K. Sedighiani et al.,
Mechanics of Materials, 164:104117, 2022, Mechanics of Materials, submitted
https://doi.org/10.1016/j.mechmat.2021.104117
output: [rho_dip, rho_mob] output: [rho_dip, rho_mob]
N_sl: [12, 12] N_sl: [12, 12]
f_edge: [1.0, 1.0]
b_sl: [2.49e-10, 2.49e-10] b_sl: [2.49e-10, 2.49e-10]
rho_mob_0: [2.81e+12, 2.8e+12] rho_mob_0: [2.81e12, 2.8e+12]
rho_dip_0: [1.0, 1.0] # not given rho_dip_0: [1.0, 1.0] # not given
v_0: [1.4e+3, 1.4e+3] v_0: [1.4e+3, 1.4e+3]
Q_sl: [1.57e-19, 1.57e-19] # Delta_F Q_sl: [1.57e-19, 1.57e-19] # Delta_F

View File

@ -1,74 +0,0 @@
type: dislotwin
references:
- S.L. Wong et al.,
Acta Materialia 118:140-151, 2016,
https://doi.org/10.1016/j.actamat.2016.07.032
- K. Sedighiani et al.,
Mechanics of Materials, 164:104117, 2022,
https://doi.org/10.1016/j.mechmat.2021.104117
- L. Kubin et al.,
Acta Materialia 56:6040-6049,
https://doi.org/10.1016/j.actamat.2008.08.012
output: [rho_mob, rho_dip, gamma_sl, Lambda_sl, tau_pass, f_tw, Lambda_tw, f_tr]
# Glide
N_sl: [12]
f_edge: [1.0]
b_sl: [2.56e-10] # a/sqrt(2)
Q_sl: [3.5e-19]
p_sl: [0.325]
q_sl: [1.55]
B: [0.001]
i_sl: [30.0]
v_0: [1.4e+3]
tau_0: [5.5e+8] # adjusted
D_a: 2.0
Q_cl: 3.0e-19
rho_mob_0: [5.0e+10]
rho_dip_0: [5.0e+10]
h_sl-sl: [0.122, 0.122, 0.625, 0.07, 0.137, 0.137, 0.122]
# Twin
N_tw: [12]
b_tw: [1.47e-10] # a_cF/sqrt(6)
L_tw: 1.91e-7 # 1300 *b_tw
i_tw: 10.0
t_tw: [5.0e-8]
p_tw: [7] # A, adjusted
h_tw-tw: [1.0, 1.0]
h_sl-tw: [1.0, 1.0, 1.0]
# Transformation
N_tr: [12]
b_tr: [1.47e-10] # a_cF/sqrt(6)
L_tr: 2.21e-7 # 1500 *b_tr
i_tr: 10.0 # adjusted
t_tr: [1.0e-7]
p_tr: [4] # B, adjusted
V_mol: 7.09e-6
c/a_hP: 1.633
Delta_G: 1.2055e+2
Delta_G,T: 2.5515
Delta_G,T^2: 1.4952e-3
h_tr-tr: [1.0, 1.0]
h_sl-tr: [1.5, 1.5, 1.5]
# Twin & Transformation
T_ref: 293.15
Gamma_sf: 2.833e-2
Gamma_sf,T: 1.214e-4
Gamma_sf,T^2: 1.473e-7
x_c: 1.0e-9
V_cs: 1.67e-29
# Slip & Twin & Transformation
D: 5.0e-5

View File

@ -1,15 +0,0 @@
type: dislotwin
references:
- N. Jia et al.,
Acta Materialia 60(3):1099-1115, 2012,
https://doi.org/10.1016/j.actamat.2011.10.047
- N. Jia et al.,
Acta Materialia 60:3415-3434, 2012,
https://doi.org/10.1016/j.actamat.2012.03.005
gamma_0_sb: 0.0001
tau_sb: 180.0e6 # tau_hat_sb
Q_sb: 4.0e-19 # Q_0
p_sb: 1.15
q_sb: 1.0

View File

@ -1,12 +1,9 @@
type: isotropic type: isotropic
references: references:
- T. Maiti and P. Eisenlohr, - T. Maiti and P. Eisenlohr,
Scripta Materialia 145:37-40, 2018, Scripta Materialia 145:37-40, 2018,
https://doi.org/10.1016/j.scriptamat.2017.09.047 https://doi.org/10.1016/j.scriptamat.2017.09.047
output: [xi] output: [xi]
dot_gamma_0: 0.001 dot_gamma_0: 0.001
n: 20. n: 20.
xi_0: 0.3e+6 xi_0: 0.3e+6

View File

@ -1,23 +0,0 @@
type: kinehardening
references:
- J.A. Wollmershauser et al.,
International Journal of Fatigue 36(1):181-193, 2012,
https://doi.org/10.1016/j.ijfatigue.2011.07.008
output: [xi, chi, chi_flip, gamma_flip, gamma, sgn(gamma)]
N_sl: [12]
xi_0: [0.070e+9] # τ_0,for
xi_inf: [0.015e+9] # τ_1,for
h_0_xi: [0.065e+9] # θ_0,for
h_inf_xi: [0.045e+9] # θ_1,for
chi_inf: [0.027e+9] # τ_1,bs
h_0_chi: [55e+9] # θ_0,bs
h_inf_chi: [1.3e+9] # θ_1,bs
n: [20] # not mentioned in the reference
dot_gamma_0: [1e-4] # not mentioned in the reference
h_sl-sl: [1, 1, 1, 1, 1, 1, 1]

View File

@ -1,13 +1,10 @@
type: nonlocal type: nonlocal
references: references:
- C. Kords, C. Kords,
On the role of dislocation transport in the constitutive description of crystal plasticity, On the role of dislocation transport in the constitutive description of crystal plasticity,
RWTH Aachen 2013, RWTH Aachen 2013,
http://publications.rwth-aachen.de/record/229993/files/4862.pdf http://publications.rwth-aachen.de/record/229993/files/4862.pdf
output: [rho_u_ed_pos, rho_b_ed_pos, rho_u_ed_neg, rho_b_ed_neg, rho_u_sc_pos, rho_b_sc_pos, rho_u_sc_neg, rho_b_sc_neg, rho_d_ed, rho_d_sc] output: [rho_u_ed_pos, rho_b_ed_pos, rho_u_ed_neg, rho_b_ed_neg, rho_u_sc_pos, rho_b_sc_pos, rho_u_sc_neg, rho_b_sc_neg, rho_d_ed, rho_d_sc]
N_sl: [12] N_sl: [12]
b_sl: [2.86e-10] b_sl: [2.86e-10]
@ -40,7 +37,7 @@ nu_a: 50.e+9
B: 1.e-2 B: 1.e-2
f_ed: 1.0 # k_3 f_ed: 1.0 # k_3
h_sl-sl: [0, 0, 0.625, 0.07, 0.137, 0.137, 0.122] # Tab. 3.4 h_sl-sl: [0, 0, 0.625, 0.07, 0.137, 0.137, 0.122] # Table 3.4
chi_GB: 0.0 # full blocking at GB chi_GB: 0.0 # full blocking at GB
chi_surface: 1.0 # no blocking at surface chi_surface: 1.0 # no blocking at surface

View File

@ -1,13 +1,10 @@
type: nonlocal type: nonlocal
references: references:
- C. Kords, C. Kords,
On the role of dislocation transport in the constitutive description of crystal plasticity, On the role of dislocation transport in the constitutive description of crystal plasticity,
RWTH Aachen 2013, RWTH Aachen 2013,
http://publications.rwth-aachen.de/record/229993/files/4862.pdf http://publications.rwth-aachen.de/record/229993/files/4862.pdf
output: [rho_u_ed_pos, rho_b_ed_pos, rho_u_ed_neg, rho_b_ed_neg, rho_u_sc_pos, rho_b_sc_pos, rho_u_sc_neg, rho_b_sc_neg, rho_d_ed, rho_d_sc] output: [rho_u_ed_pos, rho_b_ed_pos, rho_u_ed_neg, rho_b_ed_neg, rho_u_sc_pos, rho_b_sc_pos, rho_u_sc_neg, rho_b_sc_neg, rho_d_ed, rho_d_sc]
N_sl: [12] N_sl: [12]
b_sl: [2.48e-10] b_sl: [2.48e-10]
@ -40,7 +37,7 @@ nu_a: 50.e+9
B: 1.e-3 B: 1.e-3
f_ed: 0.01 # k_3 f_ed: 0.01 # k_3
h_sl-sl: [0, 0, 0.625, 0.07, 0.137, 0.137, 0.122] # Tab. 3.4 h_sl-sl: [0, 0, 0.625, 0.07, 0.137, 0.137, 0.122] # Table 3.4
chi_GB: 0.0 # full blocking at GB chi_GB: 0.0 # full blocking at GB
chi_surface: 1.0 # no blocking at surface chi_surface: 1.0 # no blocking at surface

View File

@ -1,19 +0,0 @@
type: phenopowerlaw
references:
- T.J. Barrett and M. Knezevic,
Computer Methods in Applied Mechanics and Engineering 354:245-270, 2019,
https://doi.org/10.1016/j.cma.2019.05.035,
fitted to data shown in Fig 1 and Fig. 2a
output: [xi_sl, gamma_sl]
N_sl: [12]
dot_gamma_0_sl: [0.001]
n_sl: [20]
a_sl: [3.7]
xi_0_sl: [76.e+6]
xi_inf_sl: [266.e+6]
h_0_sl-sl: [1.02e+9]
h_sl-sl: [1, 1, 5.123, 0.574, 1.123, 1.123, 1]

View File

@ -1,19 +1,18 @@
type: phenopowerlaw type: phenopowerlaw
references: references:
- W.F. Hosford et al., - W.F. Hosford et al.,
Acta Metallurgica 8(3):187-199, 1960, Acta Metallurgica 8(3):187-199, 1960,
https://doi.org/10.1016/0001-6160(60)90127-9, https://doi.org/10.1016/0001-6160(60)90127-9,
fitted to Fig. 5 ([111] and [001]) fitted from Fig. 5
- U.F. Kocks,
Metallurgical and Materials Transactions B 1:11211143, 1970,
https://doi.org/10.1007/BF02900224
output: [xi_sl, gamma_sl] output: [xi_sl, gamma_sl]
N_sl: [12] N_sl: [12]
n_sl: 20
dot_gamma_0_sl: [7.5e-5] a_sl: 3.1
n_sl: [20] h_0_sl-sl: 1.7e+8
a_sl: [5.4] xi_0_sl: [5.0e+6]
xi_0_sl: [2.69e+6] xi_inf_sl: [37.5e+6]
xi_inf_sl: [67.5e+6] h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
h_0_sl-sl: [0.2815e+9] dot_gamma_0_sl: 7.5e-5
h_sl-sl: [1, 1, 5.123, 0.574, 1.123, 1.123, 1]

View File

@ -1,5 +1,4 @@
type: phenopowerlaw type: phenopowerlaw
references: references:
- D. Ma et al., - D. Ma et al.,
Acta Materialia 103:796-808, 2016, Acta Materialia 103:796-808, 2016,
@ -10,15 +9,12 @@ references:
- U.F. Kocks, - U.F. Kocks,
Metallurgical and Materials Transactions B 1:11211143, 1970, Metallurgical and Materials Transactions B 1:11211143, 1970,
https://doi.org/10.1007/BF02900224 https://doi.org/10.1007/BF02900224
output: [xi_sl, gamma_sl] output: [xi_sl, gamma_sl]
N_sl: [12] N_sl: [12]
n_sl: 83.3
dot_gamma_0_sl: [0.001] a_sl: 1.0
n_sl: [83.3] h_0_sl-sl: 75.0e+6
a_sl: [1.0]
xi_0_sl: [26.25e+6] xi_0_sl: [26.25e+6]
xi_inf_sl: [53.0e+6] xi_inf_sl: [53.0e+6]
h_0_sl-sl: [75.0e+6]
h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4] h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
dot_gamma_0_sl: 0.001

View File

@ -1,19 +1,18 @@
type: phenopowerlaw type: phenopowerlaw
references: references:
- T. Takeuchi, - T Takeuchi,
Transactions of the Japan Institute of Metals 16(10):629-640, 1975, Transactions of the Japan Institute of Metals 16(10):629-640, 1975,
https://doi.org/10.2320/matertrans1960.16.629, https://doi.org/10.2320/matertrans1960.16.629,
fitted to Fig. 3b ([111] and [001]) fitted from Fig. 3b
- U.F. Kocks,
Metallurgical and Materials Transactions B 1:11211143, 1970,
https://doi.org/10.1007/BF02900224
output: [xi_sl, gamma_sl] output: [xi_sl, gamma_sl]
N_sl: [12] N_sl: [12]
n_sl: 20
dot_gamma_0_sl: [3.e-3] a_sl: 1.0
n_sl: [20] h_0_sl-sl: 2.4e+8
a_sl: [0.6] xi_0_sl: [1.5e+6]
xi_0_sl: [1.6e+6] xi_inf_sl: [112.5e+6]
xi_inf_sl: [96.4e+6] h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
h_0_sl-sl: [0.35e+9] dot_gamma_0_sl: 3.e-3
h_sl-sl: [1, 1, 5.123, 0.574, 1.123, 1.123, 1]

View File

@ -1,5 +1,4 @@
type: phenopowerlaw type: phenopowerlaw
references: references:
- C.C. Tasan et al., - C.C. Tasan et al.,
Acta Materialia 81:386-400, 2014, Acta Materialia 81:386-400, 2014,
@ -7,15 +6,12 @@ references:
- U.F. Kocks, - U.F. Kocks,
Metallurgical and Materials Transactions B 1:11211143, 1970, Metallurgical and Materials Transactions B 1:11211143, 1970,
https://doi.org/10.1007/BF02900224 https://doi.org/10.1007/BF02900224
output: [xi_sl, gamma_sl] output: [xi_sl, gamma_sl]
N_sl: [12, 12] N_sl: [12, 12]
n_sl: 20
dot_gamma_0_sl: [0.001, 0.001] a_sl: 2.25
n_sl: [20, 20] h_0_sl-sl: 1.0e+9
a_sl: [2.25, 2.25]
xi_0_sl: [95.e+6, 96.e+6] xi_0_sl: [95.e+6, 96.e+6]
xi_inf_sl: [222.e+6, 412.e+6] xi_inf_sl: [222.e+6, 412.e+6]
h_0_sl-sl: [1.0e+9, 1.0e+9]
h_sl-sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4] h_sl-sl: [1, 1.4, 1, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4]
dot_gamma_0_sl: 0.001

View File

@ -1,5 +1,4 @@
type: phenopowerlaw type: phenopowerlaw
references: references:
- F. Wang et al., - F. Wang et al.,
Acta Materialia 80:77-93, 2014, Acta Materialia 80:77-93, 2014,
@ -7,33 +6,24 @@ references:
output: [xi_sl, xi_tw] output: [xi_sl, xi_tw]
N_sl: [3, 3, 6, 0, 6] # basal, prism, 1. pyr<a>, -, 2. pyr<c+a> N_sl: [3, 3, 0, 6, 0, 6] # basal, 1. prism, -, 1. pyr<a>, -, 2. pyr<c+a>
N_tw: [6, 0, 6] # tension, -, compression N_tw: [6, 0, 6] # tension, -, compression
xi_0_sl: [10.e+6, 55.e+6, 60.e+6, 0., 60.e+6] xi_0_sl: [10.e+6, 55.e+6, 0., 60.e+6, 0., 60.e+6]
xi_inf_sl: [40.e+6, 135.e+6, 150.e+6, 0., 150.e+6] xi_inf_sl: [40.e+6, 135.e+6, 0., 150.e+6, 0., 150.e+6]
xi_0_tw: [40.e+6, 0., 60.e+6] xi_0_tw: [40.e+6, 0., 60.e+6]
a_sl: [2.25, 2.25, 2.25, 1, 2.25] a_sl: 2.25
dot_gamma_0_sl: [0.001, 0.001, 0.001, 0, 0.001] dot_gamma_0_sl: 0.001
dot_gamma_0_tw: [0.001, 0, 0.001] dot_gamma_0_tw: 0.001
n_sl: [20, 20, 20, 1, 20] n_sl: 20
n_tw: [20, 1, 20] n_tw: 20
f_sat_sl-tw: [10.0, 10.0, 10.0, 0, 10.0] f_sat_sl-tw: 10.0
h_0_sl-sl: [0.5e+9, 0.5e+9, 0.5e+9, 0, 0.5e+9] h_0_sl-sl: 500.0e+6
h_0_tw-tw: [50.0e+6, 0, 50.0e+6] h_0_tw-tw: 50.0e+6
h_0_tw-sl: [0.15e+9, 0, 0.15e+9] h_0_tw-sl: 150.0e+6
h_sl-sl: [+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, h_sl-sl: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, h_tw-tw: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, h_tw-sl: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, h_sl-tw: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] # unused entries are indicated by -1.0
h_tw-tw: [+1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0,
-1.0, 1.0] # unused entries are indicated by -1.0
h_tw-sl: [1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0,
1.0, -1.0, -1.0, -1.0, -1.0, -1.0, +1.0, -1.0, 1.0, -1.0] # unused entries are indicated by -1.0
h_sl-tw: [1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0,
1.0, -1.0, -1.0, -1.0, -1.0, -1.0, +1.0, -1.0, 1.0] # unused entries are indicated by -1.0

View File

@ -1,19 +0,0 @@
type: phenopowerlaw
references:
- K.M. Jackson and C. Lang,
Platinum Metals Review 50:15-19, 2006,
https://doi.org/10.1595/147106705X93359,
fitted to Fig. 5 (Pt-5% Cu recrystallised)
output: [xi_sl, gamma_sl]
N_sl: [12]
dot_gamma_0_sl: [0.001]
n_sl: [20]
a_sl: [0.9]
xi_0_sl: [0.114e+9]
xi_inf_sl: [0.207e+9]
h_0_sl-sl: [0.7812e+9]
h_sl-sl: [1, 1, 5.123, 0.574, 1.123, 1.123, 1]

View File

@ -1,33 +0,0 @@
type: phenopowerlaw
references:
- A. Chakraborty and P. Eisenlohr,
Journal of Applied Physics 124:025302, 2018,
https://doi.org/10.1063/1.5029933
output: [xi_sl, gamma_sl]
N_sl: [2, 2, 2, 4, 2, 4, 2, 2, 4, 0, 0, 8]
n_sl: [6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 1, 1, 6.0]
a_sl: [2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 1.0, 1.0, 2.0]
h_0_sl-sl: [20e+6, 20e+6, 20e+6, 20e+6, 20e+6, 20e+6, 20e+6, 20e+6, 20e+6, 0.0, 0.0, 20e+6]
xi_0_sl: [8.5e+6, 4.3e+6, 10.4e+6, 4.5e+6, 5.6e+6, 5.1e+6, 7.4e+6, 15.0e+6, 6.6e+6, 0.0, 0.0, 12.0e+6]
xi_inf_sl: [11.0e+6, 9.0e+6, 11.0e+6, 9.0e+6, 10.0e+6, 10.0e+6, 10.0e+6, 10.0e+6, 9.0e+6, 0.0, 0.0, 13.0e+6]
h_sl-sl: [+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, # 50
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, # 100
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, # 150
+1.0, 1.0, 1.0, 1.0, 1.0, 1.0] # unused entries are indicated by -1.0
dot_gamma_0_sl: [2.6e-8, 2.6e-8, 2.6e-8, 2.6e-8, 2.6e-8, 2.6e-8, 2.6e-8, 2.6e-8, 2.6e-8, 1.0, 1.0, 2.6e-8]

Some files were not shown because too many files have changed in this diff Show More