Compare commits
No commits in common. "Working_beta" and "v3.0.0-alpha3" have entirely different histories.
Working_be
...
v3.0.0-alp
|
@ -12,12 +12,8 @@
|
|||
*.pbz2 binary
|
||||
|
||||
# ignore files from MSC.Marc in language statistics
|
||||
install/MarcMentat/** linguist-vendored
|
||||
installation/mods_MarcMentat/20*/* linguist-vendored
|
||||
src/Marc/include/* linguist-vendored
|
||||
install/MarcMentat/MSC_modifications.py linguist-vendored=false
|
||||
|
||||
# ignore reference files for tests in language statistics
|
||||
python/tests/resources/** linguist-vendored
|
||||
|
||||
# ignore deprecated scripts
|
||||
processing/legacy/** linguist-vendored
|
||||
python/tests/reference/* linguist-vendored
|
||||
|
|
|
@ -1,166 +0,0 @@
|
|||
name: Grid and Mesh Solver
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
PETSC_VERSION: '3.20.5'
|
||||
HOMEBREW_NO_ANALYTICS: 'ON' # Make Homebrew installation a little quicker
|
||||
HOMEBREW_NO_AUTO_UPDATE: 'ON'
|
||||
HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: 'ON'
|
||||
HOMEBREW_NO_GITHUB_API: 'ON'
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 'ON'
|
||||
|
||||
jobs:
|
||||
|
||||
gcc_ubuntu:
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
gcc_v: [9, 10, 11, 12, 13]
|
||||
fail-fast: false
|
||||
|
||||
env:
|
||||
GCC_V: ${{ matrix.gcc_v }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: GCC - Install
|
||||
run: |
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y gcc-${GCC_V} gfortran-${GCC_V} g++-${GCC_V}
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_V} 100 \
|
||||
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_V} \
|
||||
--slave /usr/bin/g++ g++ /usr/bin/g++-${GCC_V} \
|
||||
--slave /usr/bin/gcov gcov /usr/bin/gcov-${GCC_V}
|
||||
|
||||
- name: PETSc - Cache download
|
||||
id: petsc-download
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: download
|
||||
key: petsc-${{ env.PETSC_VERSION }}.tar.gz
|
||||
|
||||
- name: PETSc - Download
|
||||
if: steps.petsc-download.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
wget -q https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${PETSC_VERSION}.tar.gz -P download
|
||||
|
||||
- name: PETSc - Prepare
|
||||
run: |
|
||||
tar -xf download/petsc-${PETSC_VERSION}.tar.gz -C .
|
||||
export PETSC_DIR=${PWD}/petsc-${PETSC_VERSION}
|
||||
export PETSC_ARCH=gcc${GCC_V}
|
||||
printenv >> $GITHUB_ENV
|
||||
|
||||
- name: PETSc - Cache Installation
|
||||
id: petsc-install
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: petsc-${{ env.PETSC_VERSION }}
|
||||
key: petsc-${{ env.PETSC_VERSION }}-gcc${{ matrix.gcc_v }}-${{ hashFiles('**/petscversion.h') }}
|
||||
|
||||
- name: PETSc - Installation
|
||||
run: |
|
||||
cd petsc-${PETSC_VERSION}
|
||||
./configure --with-fc=gfortran --with-cc=gcc --with-cxx=g++ \
|
||||
--download-openmpi --download-fftw --download-hdf5 --download-hdf5-fortran-bindings=1 --download-zlib \
|
||||
--with-mpi-f90module-visibility=1
|
||||
make all
|
||||
|
||||
- name: DAMASK - Compile
|
||||
run: |
|
||||
cmake -B build/grid -DDAMASK_SOLVER=grid -DCMAKE_INSTALL_PREFIX=${PWD}
|
||||
cmake --build build/grid --parallel
|
||||
cmake --install build/grid
|
||||
cmake -B build/mesh -DDAMASK_SOLVER=mesh -DCMAKE_INSTALL_PREFIX=${PWD}
|
||||
cmake --build build/mesh --parallel
|
||||
cmake --install build/mesh
|
||||
|
||||
- name: DAMASK - Run
|
||||
run: |
|
||||
./bin/DAMASK_grid -l tensionX.yaml -g 20grains16x16x16.vti -m material.yaml -w examples/grid
|
||||
./bin/DAMASK_mesh -l tensionZ_3g.yaml -g cube_3grains.msh -m material.yaml -w examples/mesh
|
||||
|
||||
|
||||
intel:
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Intel - Install
|
||||
run: |
|
||||
sudo apt-get remove -y \
|
||||
'^aspnetcore-runtime.*' '^clang.*' '^dotnet.*' '^gfortran.*' '^mono.*' '^llvm.*' '^ruby.*' '^r-cran.*' '^r-base.*' '^dotnet.*' '^apache2.*'
|
||||
sudo apt-get autoremove -y
|
||||
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
|
||||
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
|
||||
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \
|
||||
| sudo tee /etc/apt/sources.list.d/oneAPI.list
|
||||
sudo apt-get update
|
||||
sudo apt-get install \
|
||||
intel-basekit \
|
||||
intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran \
|
||||
intel-oneapi-openmp intel-oneapi-mkl-devel
|
||||
source /opt/intel/oneapi/setvars.sh
|
||||
printenv >> $GITHUB_ENV
|
||||
|
||||
- name: PETSc - Cache download
|
||||
id: petsc-download
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: download
|
||||
key: petsc-${{ env.PETSC_VERSION }}.tar.gz
|
||||
|
||||
- name: PETSc - Download
|
||||
if: steps.petsc-download.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
wget -q https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${PETSC_VERSION}.tar.gz -P download
|
||||
|
||||
- name: PETSc - Prepare
|
||||
run: |
|
||||
tar -xf download/petsc-${PETSC_VERSION}.tar.gz -C .
|
||||
sed -i "1800s/if not os.path.isfile(os.path.join(self.packageDir,self.configureName)):/if True:/g" \
|
||||
./petsc-${PETSC_VERSION}/config/BuildSystem/config/package.py
|
||||
export PETSC_DIR=${PWD}/petsc-${PETSC_VERSION}
|
||||
export PETSC_ARCH=intel
|
||||
printenv >> $GITHUB_ENV
|
||||
|
||||
- name: PETSc - Cache installation
|
||||
id: petsc-install
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: petsc-${{ env.PETSC_VERSION }}
|
||||
key: petsc-${{ env.PETSC_VERSION }}-intel-${{ hashFiles('**/petscversion.h') }}
|
||||
|
||||
- name: PETSc - Install
|
||||
run: |
|
||||
cd petsc-${PETSC_VERSION}
|
||||
./configure \
|
||||
--with-fc=mpiifx \
|
||||
--with-cc=mpiicx \
|
||||
--with-cxx=mpiicpx \
|
||||
--download-fftw --download-hdf5 --download-hdf5-fortran-bindings=1 --download-zlib
|
||||
make all
|
||||
|
||||
- name: DAMASK - Compile
|
||||
run: |
|
||||
cmake -B build/grid -DDAMASK_SOLVER=grid -DCMAKE_INSTALL_PREFIX=${PWD}
|
||||
cmake --build build/grid --parallel
|
||||
cmake --install build/grid
|
||||
cmake -B build/mesh -DDAMASK_SOLVER=mesh -DCMAKE_INSTALL_PREFIX=${PWD}
|
||||
cmake --build build/mesh --parallel
|
||||
cmake --install build/mesh
|
||||
|
||||
- name: DAMASK - Run
|
||||
run: |
|
||||
./bin/DAMASK_grid -l tensionX.yaml -g 20grains16x16x16.vti -m material.yaml -w examples/grid
|
||||
./bin/DAMASK_mesh -l tensionZ_3g.yaml -g cube_3grains.msh -m material.yaml -w examples/mesh
|
|
@ -1,83 +0,0 @@
|
|||
name: Processing Tools
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
|
||||
pip:
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest pandas scipy h5py vtk matplotlib pyyaml build
|
||||
|
||||
- name: Strip git hash (Unix)
|
||||
if: runner.os != 'Windows'
|
||||
run: |
|
||||
export VERSION=$(cat VERSION)
|
||||
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
|
||||
|
||||
- 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:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install pytest
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pytest
|
||||
|
||||
- name: Install dependencies
|
||||
# https://github.com/actions/virtual-environments/issues/4790
|
||||
run: >
|
||||
sudo apt-get update &&
|
||||
sudo apt-get remove mysql* &&
|
||||
sudo apt-get install python3-pandas python3-scipy python3-h5py python3-vtk9 python3-matplotlib python3-yaml -y
|
||||
|
||||
- name: Run unit tests
|
||||
run: |
|
||||
export PYTHONPATH=${PWD}/python
|
||||
COLUMNS=256 pytest python
|
|
@ -2,5 +2,6 @@
|
|||
*~
|
||||
.DS_Store
|
||||
bin
|
||||
PRIVATE
|
||||
build
|
||||
system_report.txt
|
||||
|
|
429
.gitlab-ci.yml
429
.gitlab-ci.yml
|
@ -4,286 +4,299 @@ stages:
|
|||
- python
|
||||
- compile
|
||||
- fortran
|
||||
- statistics
|
||||
- finalize
|
||||
|
||||
- performance
|
||||
- deploy
|
||||
- backup
|
||||
- update_master
|
||||
- distclean
|
||||
- clean
|
||||
|
||||
###################################################################################################
|
||||
default:
|
||||
before_script:
|
||||
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID}
|
||||
- source env/DAMASK.sh
|
||||
- export PATH=${TESTROOT}/bin:${PATH}
|
||||
before_script:
|
||||
- if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue)x == 'x' ];
|
||||
then echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue;
|
||||
fi
|
||||
- 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
|
||||
- source $DAMASKROOT/env/DAMASK.sh
|
||||
- cd $DAMASKROOT/PRIVATE/testing
|
||||
- echo Job start:" $(date)"
|
||||
after_script:
|
||||
- echo Job end:" $(date)"
|
||||
|
||||
###################################################################################################
|
||||
after_script:
|
||||
- echo Job end:" $(date)"
|
||||
|
||||
###################################################################################################
|
||||
variables:
|
||||
# ===============================================================================================
|
||||
# GitLab Settings
|
||||
# ===============================================================================================
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
GIT_SUBMODULE_STRATEGY: none
|
||||
|
||||
# ===============================================================================================
|
||||
# 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
|
||||
# ===============================================================================================
|
||||
# ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
COMPILER_GNU: "Compiler/GNU/10"
|
||||
COMPILER_INTELLLVM: "Compiler/oneAPI/2022.0.1 Libraries/IMKL/2022.0.1"
|
||||
COMPILER_INTEL: "Compiler/Intel/2022.0.1 Libraries/IMKL/2022.0.1"
|
||||
IntelCompiler19_1: "Compiler/Intel/19.1.2 Libraries/IMKL/2020"
|
||||
GNUCompiler10: "Compiler/GNU/10"
|
||||
# ------------ Defaults ----------------------------------------------
|
||||
IntelCompiler: "$IntelCompiler19_1"
|
||||
GNUCompiler: "$GNUCompiler10"
|
||||
# ++++++++++++ MPI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
MPI_GNU: "MPI/GNU/10/OpenMPI/4.1.2"
|
||||
MPI_INTELLLVM: "MPI/oneAPI/2022.0.1/IntelMPI/2021.5.0"
|
||||
MPI_INTEL: "MPI/Intel/2022.0.1/IntelMPI/2021.5.0"
|
||||
IMPI2020Intel19_1: "MPI/Intel/19.1.2/IntelMPI/2019"
|
||||
OMPI4_0GNU10: "MPI/GNU/10/OpenMPI/4.0.5"
|
||||
# ------------ Defaults ----------------------------------------------
|
||||
MPI_Intel: "$IMPI2020Intel19_1"
|
||||
MPI_GNU: "$OMPI4_0GNU10"
|
||||
# ++++++++++++ PETSc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
PETSC_GNU: "Libraries/PETSc/3.16.4/GNU-10-OpenMPI-4.1.2"
|
||||
PETSC_INTELLLVM: "Libraries/PETSc/3.16.3/oneAPI-2022.0.1-IntelMPI-2021.5.0"
|
||||
PETSC_INTEL: "Libraries/PETSc/3.16.5/Intel-2022.0.1-IntelMPI-2021.5.0"
|
||||
# ++++++++++++ MSC Marc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
MSC: "FEM/MSC/2023.4"
|
||||
IntelMarc: "Compiler/Intel/19.1.2 Libraries/IMKL/2020"
|
||||
HDF5Marc: "HDF5/1.12.2/Intel-19.1.2"
|
||||
|
||||
PETSc3_14_2IMPI2020Intel19_1: "Libraries/PETSc/3.14.2/Intel-19.1.2-IntelMPI-2019"
|
||||
PETSc3_14_2OMPI4_0GNU10: "Libraries/PETSc/3.14.2/GNU-10-OpenMPI-4.0.5"
|
||||
# ------------ Defaults ----------------------------------------------
|
||||
PETSc_Intel: "$PETSc3_14_2IMPI2020Intel19_1"
|
||||
PETSc_GNU: "$PETSc3_14_2OMPI4_0GNU10"
|
||||
# ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
MSC2020: "FEM/MSC/2020"
|
||||
# ------------ Defaults ----------------------------------------------
|
||||
MSC: "$MSC2020"
|
||||
IntelMarc: "$IntelCompiler19_1"
|
||||
HDF5Marc: "HDF5/1.12.0/Intel-19.1.2"
|
||||
|
||||
###################################################################################################
|
||||
create_testroot:
|
||||
checkout:
|
||||
stage: prepare
|
||||
before_script:
|
||||
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID}
|
||||
- echo Job start:" $(date)"
|
||||
- echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue
|
||||
- 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:
|
||||
- mkdir -p ${TESTROOT}
|
||||
|
||||
- mkdir -p $DAMASKROOT
|
||||
- mkdir -p $TESTROOT
|
||||
- cd $DAMASKROOT
|
||||
- git clone -q git@magit1.mpie.de:damask/DAMASK.git .
|
||||
- git checkout $CI_COMMIT_SHA
|
||||
- git submodule update --init
|
||||
- source env/DAMASK.sh
|
||||
- ./installation/symlink_Processing.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
###################################################################################################
|
||||
setuptools:
|
||||
processing:
|
||||
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
|
||||
|
||||
- cd $DAMASKROOT/python
|
||||
- COLUMNS=256 pytest --basetemp=${TESTROOT}/python -v --cov --cov-report=term
|
||||
- coverage report --fail-under=90
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
###################################################################################################
|
||||
unittest_GNU_DEBUG:
|
||||
preprocessing_deprecated:
|
||||
stage: python
|
||||
script: PreProcessing/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
###################################################################################################
|
||||
compile_grid_Intel:
|
||||
stage: compile
|
||||
script:
|
||||
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU}
|
||||
- TEMPDIR=$(mktemp -d)
|
||||
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
|
||||
- cmake --build ${TEMPDIR} --target install
|
||||
- cd ${TEMPDIR}
|
||||
- ./bin/DAMASK_test
|
||||
- find -name \*.gcda -not -path "**/test/*" | xargs gcov
|
||||
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||
- cd pytest
|
||||
- COLUMNS=256 pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
unittest_GNU_RELEASE:
|
||||
compile_mesh_Intel:
|
||||
stage: compile
|
||||
script:
|
||||
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU}
|
||||
- TEMPDIR=$(mktemp -d)
|
||||
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
|
||||
- cmake --build ${TEMPDIR} --target install
|
||||
- cd ${TEMPDIR}
|
||||
- ./bin/DAMASK_test
|
||||
- find -name \*.gcda -not -path "**/test/*" | xargs gcov
|
||||
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||
- cd pytest
|
||||
- COLUMNS=256 pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
unittest_GNU_PERFORMANCE:
|
||||
compile_grid_GNU:
|
||||
stage: compile
|
||||
script:
|
||||
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU}
|
||||
- TEMPDIR=$(mktemp -d)
|
||||
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=PERFORMANCE -DBUILDCMD_POST=-coverage
|
||||
- cmake --build ${TEMPDIR} --target install
|
||||
- cd ${TEMPDIR}
|
||||
- ./bin/DAMASK_test
|
||||
- find -name \*.gcda -not -path "**/test/*" | xargs gcov
|
||||
- module load $GNUCompiler $MPI_GNU $PETSc_GNU
|
||||
- cd pytest
|
||||
- COLUMNS=256 pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
|
||||
grid_GNU:
|
||||
compile_mesh_GNU:
|
||||
stage: compile
|
||||
script:
|
||||
- module load ${COMPILER_GNU} ${MPI_GNU} ${PETSC_GNU}
|
||||
- cd PRIVATE/testing/pytest
|
||||
- pytest -k 'compile and grid' --basetemp ${TESTROOT}/compile_grid_GNU
|
||||
- module load $GNUCompiler $MPI_GNU $PETSc_GNU
|
||||
- cd pytest
|
||||
- COLUMNS=256 pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
mesh_GNU:
|
||||
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:
|
||||
compile_Marc:
|
||||
stage: compile
|
||||
script:
|
||||
- module load $IntelMarc $HDF5Marc $MSC
|
||||
- cd PRIVATE/testing/pytest
|
||||
- pytest -k 'compile and Marc' --basetemp ${TESTROOT}/compile_Marc
|
||||
- cd pytest
|
||||
- COLUMNS=256 pytest -k 'compile and Marc' --basetemp=${TESTROOT}/compile_Marc
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
setup_grid:
|
||||
stage: compile
|
||||
script:
|
||||
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL}
|
||||
- cd $(mktemp -d)
|
||||
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${TESTROOT} ${CI_PROJECT_DIR}
|
||||
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||
- BUILD_DIR=$(mktemp -d)
|
||||
- cd ${BUILD_DIR}
|
||||
- cmake -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
|
||||
- make -j2 all install
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
setup_mesh:
|
||||
stage: compile
|
||||
script:
|
||||
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL}
|
||||
- cd $(mktemp -d)
|
||||
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${TESTROOT} ${CI_PROJECT_DIR}
|
||||
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||
- BUILD_DIR=$(mktemp -d)
|
||||
- cd ${BUILD_DIR}
|
||||
- cmake -DDAMASK_SOLVER=MESH -DCMAKE_INSTALL_PREFIX=${DAMASKROOT} ${DAMASKROOT}
|
||||
- make -j2 all install
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
setup_Marc:
|
||||
stage: compile
|
||||
###################################################################################################
|
||||
core:
|
||||
stage: fortran
|
||||
script:
|
||||
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||
- cd pytest
|
||||
- COLUMNS=256 pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Phenopowerlaw_singleSlip:
|
||||
stage: fortran
|
||||
script: Phenopowerlaw_singleSlip/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
J2_plasticBehavior:
|
||||
stage: fortran
|
||||
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
|
||||
- J2_plasticBehavior/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
|
||||
###################################################################################################
|
||||
open-source:
|
||||
stage: fortran
|
||||
SpectralRuntime:
|
||||
stage: performance
|
||||
script:
|
||||
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL}
|
||||
- cd PRIVATE/testing/pytest
|
||||
- pytest -k 'not compile and not Marc' -m 'not cifail' --basetemp ${TESTROOT}/open-source -v
|
||||
|
||||
Marc:
|
||||
stage: fortran
|
||||
script:
|
||||
- cd PRIVATE/testing/pytest
|
||||
- pytest -k 'not compile and Marc' -m 'not cifail' --damask-root=${TESTROOT} --basetemp ${TESTROOT}/Marc -v
|
||||
|
||||
# Needs closer look
|
||||
# Phenopowerlaw_singleSlip:
|
||||
# stage: fortran
|
||||
# script: Phenopowerlaw_singleSlip/test.py
|
||||
|
||||
- module load $IntelCompiler $MPI_Intel $PETSc_Intel
|
||||
- cd $DAMASKROOT
|
||||
- make clean grid OPTIMIZATION=AGGRESSIVE
|
||||
- cd $LOCAL_HOME/performance # location of old results
|
||||
- git checkout . # undo any changes (i.e. run time data from non-development branch)
|
||||
- cd $DAMASKROOT/PRIVATE/testing
|
||||
- SpectralAll_runtime/test.py -d $LOCAL_HOME/performance
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
###################################################################################################
|
||||
grid_performance:
|
||||
stage: statistics
|
||||
before_script:
|
||||
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID} --blocking
|
||||
- source env/DAMASK.sh
|
||||
- echo Job start:" $(date)"
|
||||
script:
|
||||
- module load ${COMPILER_INTEL} ${MPI_INTEL} ${PETSC_INTEL}
|
||||
- cd $(mktemp -d)
|
||||
- cmake -DOPTIMIZATION=AGGRESSIVE -DDAMASK_SOLVER=GRID -DCMAKE_INSTALL_PREFIX=./ ${CI_PROJECT_DIR}
|
||||
- make -j2 all install
|
||||
- export PATH=${PWD}/bin:${PATH}
|
||||
- cd $(mktemp -d)
|
||||
- git clone -q git@git.damask.mpie.de:damask/statistics.git .
|
||||
- ./measure_performance.py --input_dir ${CI_PROJECT_DIR}/examples/grid --tag ${CI_COMMIT_SHA}
|
||||
- >
|
||||
if [ ${CI_COMMIT_BRANCH} == development ]; then
|
||||
git add performance.txt
|
||||
git commit -m ${CI_PIPELINE_ID}_${CI_COMMIT_SHA}
|
||||
git push
|
||||
fi
|
||||
|
||||
|
||||
###################################################################################################
|
||||
update_plots:
|
||||
stage: finalize
|
||||
source_distribution:
|
||||
stage: deploy
|
||||
script:
|
||||
- cd $(mktemp -d)
|
||||
- git clone -q git@git.damask.mpie.de:damask/statistics.git .
|
||||
- ./plot_commithistory.py --color green -n 5 -N 100
|
||||
- ./plot_commithistory.py --color green -n 5 -N 1000
|
||||
- ./plot_commithistory.py --color green -n 5 -N 10000
|
||||
- scp -r ./commits_*.html damask.mpie.de:~/
|
||||
- ssh damask.mpie.de "./update_statistics_commits.sh"
|
||||
- ./plot_performance.py --template=xgridoff
|
||||
- scp -r ./runtime.html ./memory.html damask.mpie.de:~/
|
||||
- ssh damask.mpie.de "./update_statistics_performance.sh"
|
||||
- $DAMASKROOT/PRIVATE/releasing/deployMe.sh $CI_COMMIT_SHA
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
library_documentation:
|
||||
stage: deploy
|
||||
script:
|
||||
- cd $DAMASKROOT/PRIVATE/documenting/sphinx
|
||||
- make html
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
##################################################################################################
|
||||
backup_runtime_measurement:
|
||||
stage: backup
|
||||
script:
|
||||
- cd $LOCAL_HOME/performance # location of new runtime results
|
||||
- git commit -am"${CI_PIPELINE_ID}_${CI_COMMIT_SHA}"
|
||||
- mkdir $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}
|
||||
- mv $LOCAL_HOME/performance/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
- mv $LOCAL_HOME/performance/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
only:
|
||||
- development
|
||||
|
||||
update_revision:
|
||||
stage: finalize
|
||||
before_script:
|
||||
- ${LOCAL_HOME}/bin/queue ${CI_JOB_ID}
|
||||
- echo Job start:" $(date)"
|
||||
##################################################################################################
|
||||
merge_into_master:
|
||||
stage: update_master
|
||||
script:
|
||||
- cd $(mktemp -d)
|
||||
- git clone -q git@git.damask.mpie.de:damask/DAMASK.git .
|
||||
- cd $DAMASKROOT
|
||||
- export TESTEDREV=$(git describe) # might be detached from development branch
|
||||
- echo $TESTEDREV > VERSION
|
||||
- git commit 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
|
||||
- export VERSION=$(git describe ${CI_COMMIT_SHA})
|
||||
- echo ${VERSION:1} > VERSION
|
||||
- >
|
||||
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
|
||||
- git merge master -s recursive -X ours -m "[skip ci] Merge branch 'master' into development" # only possible conflict is in VERSION file
|
||||
- git push origin development # development is unchanged (as master is based on it) but has updated VERSION file
|
||||
only:
|
||||
- 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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[submodule "PRIVATE"]
|
||||
path = PRIVATE
|
||||
url = ../PRIVATE.git
|
||||
branch = development
|
||||
branch = master
|
||||
shallow = true
|
||||
|
|
258
CMakeLists.txt
258
CMakeLists.txt
|
@ -1,148 +1,164 @@
|
|||
cmake_minimum_required(VERSION 3.12.0)
|
||||
include(FindPkgConfig REQUIRED)
|
||||
|
||||
if(DEFINED ENV{PETSC_DIR})
|
||||
message("PETSC_DIR:\n$ENV{PETSC_DIR}\n")
|
||||
else()
|
||||
message(FATAL_ERROR "PETSc location (PETSC_DIR) is not defined")
|
||||
endif()
|
||||
cmake_minimum_required (VERSION 3.10.0)
|
||||
include (FindPkgConfig REQUIRED)
|
||||
|
||||
# Dummy project to determine compiler names and version
|
||||
project(Prerequisites LANGUAGES)
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}")
|
||||
pkg_check_modules(PETSC_MIN REQUIRED PETSc>=3.12.0 QUIET) #CMake does not support version range
|
||||
pkg_check_modules(PETSC REQUIRED PETSc<3.21.0)
|
||||
project (Prerequisites LANGUAGES)
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib/pkgconfig")
|
||||
pkg_check_modules (PETSC REQUIRED PETSc>=3.12.0 PETSc<3.15.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)
|
||||
find_program (CAT_EXECUTABLE NAMES cat)
|
||||
execute_process (COMMAND ${CAT_EXECUTABLE} ${PROJECT_SOURCE_DIR}/VERSION
|
||||
RESULT_VARIABLE DAMASK_VERSION_RETURN
|
||||
OUTPUT_VARIABLE DAMASK_VERSION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# Solver determines name of project
|
||||
string(TOUPPER "${DAMASK_SOLVER}" DAMASK_SOLVER_UPPER)
|
||||
string(TOLOWER "${DAMASK_SOLVER}" DAMASK_SOLVER_LOWER)
|
||||
if("${DAMASK_SOLVER_UPPER}" MATCHES "^(GRID|MESH|TEST)$")
|
||||
project("damask-${DAMASK_SOLVER_LOWER}" HOMEPAGE_URL https://damask.mpie.de LANGUAGES Fortran C)
|
||||
else()
|
||||
message(FATAL_ERROR "Invalid solver: DAMASK_SOLVER=${DAMASK_SOLVER}")
|
||||
endif()
|
||||
add_definitions("-D${DAMASK_SOLVER_UPPER}")
|
||||
#---------------------------------------------------------------------------------------
|
||||
# Find PETSc from system environment
|
||||
set(PETSC_DIR $ENV{PETSC_DIR})
|
||||
if (PETSC_DIR STREQUAL "")
|
||||
message (FATAL_ERROR "PETSc location (PETSC_DIR) is not defined")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_Fortran_PREPROCESS "ON") # works only for CMake >= 3.18
|
||||
set (petsc_conf_variables "${PETSC_DIR}/lib/petsc/conf/variables")
|
||||
set (petsc_conf_rules "${PETSC_DIR}/lib/petsc/conf/rules" )
|
||||
|
||||
# EXPERIMENTAL: This might help to detect HDF5 and FFTW3 in the future if PETSc is not aware of them
|
||||
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)
|
||||
# Use existing variables from PETSc
|
||||
# https://github.com/jedbrown/cmake-modules/blob/master/FindPETSc.cmake
|
||||
|
||||
file(STRINGS ${PROJECT_SOURCE_DIR}/VERSION DAMASK_VERSION)
|
||||
# Generate a temporary makefile to probe the PETSc configuration
|
||||
# This file will be deleted once the settings from PETSc are parsed into CMake
|
||||
exec_program (mktemp ARGS -d OUTPUT_VARIABLE TEMPDIR)
|
||||
set (petsc_config_makefile "${TEMPDIR}/Makefile.petsc")
|
||||
file (WRITE
|
||||
"${petsc_config_makefile}"
|
||||
"## This file was auto generated by CMake
|
||||
# PETSC_DIR = ${PETSC_DIR}
|
||||
SHELL = /bin/sh
|
||||
include ${petsc_conf_rules}
|
||||
include ${petsc_conf_variables}
|
||||
INCLUDE_DIRS := \${PETSC_FC_INCLUDES}
|
||||
LIBRARIES := \${PETSC_WITH_EXTERNAL_LIB}
|
||||
includes:
|
||||
\t@echo \${INCLUDE_DIRS}
|
||||
extlibs:
|
||||
\t@echo \${LIBRARIES}
|
||||
")
|
||||
|
||||
message("\nBuilding ${CMAKE_PROJECT_NAME} ${DAMASK_VERSION}\n")
|
||||
# CMake will execute each target in the ${petsc_config_makefile}
|
||||
# to acquire corresponding PETSc Variables.
|
||||
find_program (MAKE_EXECUTABLE NAMES gmake make)
|
||||
# Find the PETSc includes directory settings
|
||||
execute_process (COMMAND ${MAKE_EXECUTABLE} --no-print-directory -f ${petsc_config_makefile} "includes"
|
||||
RESULT_VARIABLE PETSC_INCLUDES_RETURN
|
||||
OUTPUT_VARIABLE petsc_includes
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
# Find the PETSc external linking directory settings
|
||||
execute_process (COMMAND ${MAKE_EXECUTABLE} --no-print-directory -f ${petsc_config_makefile} "extlibs"
|
||||
RESULT_VARIABLE PETSC_EXTERNAL_LIB_RETURN
|
||||
OUTPUT_VARIABLE petsc_external_lib
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
# Remove temporary makefile, no need to keep it anymore.
|
||||
file (REMOVE_RECURSE ${TEMPDIR})
|
||||
|
||||
add_definitions(-DPETSC)
|
||||
add_definitions(-DDAMASKVERSION="${DAMASK_VERSION}")
|
||||
add_definitions(-DCMAKE_SYSTEM="${CMAKE_SYSTEM}")
|
||||
if(PETSC_VERSION VERSION_EQUAL 3.17.0)
|
||||
add_definitions("-DCHKERRQ=PetscCall")
|
||||
endif()
|
||||
# Remove duplicate compiler and linker flags
|
||||
string (REGEX MATCHALL "-I([^\" ]+)" TMP_LIST "${petsc_includes}")
|
||||
list (REMOVE_DUPLICATES TMP_LIST)
|
||||
foreach (dir ${TMP_LIST})
|
||||
set (PETSC_INCLUDES "${PETSC_INCLUDES} ${dir}")
|
||||
endforeach (dir)
|
||||
string (REGEX MATCHALL "-[lLW]([^\" ]+)" TMP_LIST "${petsc_external_lib}")
|
||||
list (REMOVE_DUPLICATES TMP_LIST)
|
||||
foreach (exlib ${TMP_LIST})
|
||||
set (PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB} ${exlib}")
|
||||
endforeach (exlib)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "")
|
||||
set(CMAKE_BUILD_TYPE "RELEASE")
|
||||
endif()
|
||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE)
|
||||
message ("Found PETSC_DIR:\n${PETSC_DIR}\n" )
|
||||
message ("Found PETSC_INCLUDES:\n${PETSC_INCLUDES}\n" )
|
||||
message ("Found PETSC_EXTERNAL_LIB:\n${PETSC_EXTERNAL_LIB}\n")
|
||||
|
||||
#---------------------------------------------------------------------------------------
|
||||
# Now start to care about DAMASK
|
||||
|
||||
# DAMASK solver defines project to build
|
||||
string(TOLOWER ${DAMASK_SOLVER} DAMASK_SOLVER)
|
||||
if (DAMASK_SOLVER STREQUAL "grid")
|
||||
project (damask-grid HOMEPAGE_URL https://damask.mpie.de LANGUAGES Fortran C)
|
||||
add_definitions (-DGrid)
|
||||
elseif (DAMASK_SOLVER STREQUAL "mesh")
|
||||
project (damask-mesh HOMEPAGE_URL https://damask.mpie.de LANGUAGES Fortran C)
|
||||
add_definitions (-DMesh)
|
||||
else ()
|
||||
message (FATAL_ERROR "Build target (DAMASK_SOLVER) is not defined")
|
||||
endif ()
|
||||
add_definitions (-DDAMASKVERSION="${DAMASK_VERSION}")
|
||||
add_definitions (-DPETSc)
|
||||
|
||||
message ("\nBuilding ${CMAKE_PROJECT_NAME}\n")
|
||||
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "")
|
||||
set (CMAKE_BUILD_TYPE "RELEASE")
|
||||
endif ()
|
||||
|
||||
# Predefined sets for OPTIMIZATION/OPENMP based on BUILD_TYPE
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
|
||||
set(DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG")
|
||||
set(PARALLEL "OFF")
|
||||
set(OPTI "DEBUG")
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "RELEASE")
|
||||
set(PARALLEL "ON")
|
||||
set(OPTI "DEFENSIVE")
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "DEBUGRELEASE")
|
||||
set(DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG")
|
||||
set(PARALLEL "ON")
|
||||
set(OPTI "DEFENSIVE")
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "PERFORMANCE")
|
||||
set(PARALLEL "ON")
|
||||
set(OPTI "AGGRESSIVE")
|
||||
else()
|
||||
message(FATAL_ERROR "Invalid build type: CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
|
||||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -DDEBUG")
|
||||
set (PARALLEL "OFF")
|
||||
set (OPTI "OFF")
|
||||
elseif (CMAKE_BUILD_TYPE STREQUAL "RELEASE")
|
||||
set (PARALLEL "ON")
|
||||
set (OPTI "DEFENSIVE")
|
||||
elseif (CMAKE_BUILD_TYPE STREQUAL "PERFORMANCE")
|
||||
set (PARALLEL "ON")
|
||||
set (OPTI "AGGRESSIVE")
|
||||
endif ()
|
||||
|
||||
# $OPTIMIZATION takes precedence over $BUILD_TYPE defaults
|
||||
if(OPTIMIZATION STREQUAL "" OR NOT DEFINED OPTIMIZATION)
|
||||
set(OPTIMIZATION "${OPTI}")
|
||||
else()
|
||||
set(OPTIMIZATION "${OPTIMIZATION}")
|
||||
endif()
|
||||
if (OPTIMIZATION STREQUAL "" OR NOT DEFINED OPTIMIZATION)
|
||||
set (OPTIMIZATION "${OPTI}")
|
||||
else ()
|
||||
set (OPTIMIZATION "${OPTIMIZATION}")
|
||||
endif ()
|
||||
|
||||
# $OPENMP takes precedence over $BUILD_TYPE defaults
|
||||
if(OPENMP STREQUAL "" OR NOT DEFINED OPENMP)
|
||||
set(OPENMP "${PARALLEL}")
|
||||
else()
|
||||
if (OPENMP STREQUAL "" OR NOT DEFINED OPENMP)
|
||||
set (OPENMP "${PARALLEL}")
|
||||
else ()
|
||||
set(OPENMP "${OPENMP}")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
# syntax check only(mainly for pre-receive hook)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
|
||||
set(BUILDCMD_POST "${BUILDCMD_POST} -fsyntax-only")
|
||||
endif()
|
||||
# syntax check only (mainly for pre-receive hook)
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "SYNTAXONLY")
|
||||
set (BUILDCMD_POST "${BUILDCMD_POST} -fsyntax-only")
|
||||
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)
|
||||
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)
|
||||
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL "PGI")
|
||||
include (Compiler-PGI)
|
||||
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 = .*$?")
|
||||
string(REPLACE "PETSC_EXTERNAL_LIB_BASIC = " "" PETSC_EXTERNAL_LIB "${PETSC_EXTERNAL_LIB}")
|
||||
message("PETSC_EXTERNAL_LIB:\n${PETSC_EXTERNAL_LIB}\n")
|
||||
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}")
|
||||
|
||||
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}")
|
||||
message("PETSC_INCLUDES:\n${PETSC_INCLUDES}\n")
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
||||
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}")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${BUILDCMD_PRE} ${OPENMP_FLAGS} ${STANDARD_CHECK} ${OPTIMIZATION_FLAGS} ${COMPILE_FLAGS}")
|
||||
set(CMAKE_Fortran_LINK_EXECUTABLE "${BUILDCMD_PRE} ${CMAKE_Fortran_COMPILER} ${OPENMP_FLAGS} ${OPTIMIZATION_FLAGS} ${LINKER_FLAGS}")
|
||||
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}")
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
||||
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}")
|
||||
endif()
|
||||
|
||||
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> -L${PETSC_LIBRARY_DIRS} -lpetsc ${PETSC_EXTERNAL_LIB} -lz")
|
||||
|
||||
if(fYAML_FOUND STREQUAL "1")
|
||||
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")
|
||||
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
|
||||
add_subdirectory(src)
|
||||
add_subdirectory (src)
|
||||
|
|
110
COPYING
110
COPYING
|
@ -1,21 +1,23 @@
|
|||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
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
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
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
|
||||
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
|
||||
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
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
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.
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
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.
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
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
|
||||
modification follow.
|
||||
|
@ -60,7 +72,7 @@ modification follow.
|
|||
|
||||
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
|
||||
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
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU 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.
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
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
|
||||
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
|
||||
3 of the GNU General Public License.
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
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
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
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
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
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.
|
||||
|
||||
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
|
||||
to choose that version for the Program.
|
||||
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
#!/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 settings"
|
||||
secondLevel "DAMASK_ROOT"
|
||||
echo $DAMASK_ROOT
|
||||
echo
|
||||
secondLevel "Version"
|
||||
cat VERSION
|
||||
echo
|
||||
secondLevel "Settings in CONFIG"
|
||||
cat env/CONFIG
|
||||
|
||||
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
|
||||
ls $PETSC_DIR/lib
|
||||
|
||||
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"
|
||||
for executable in icc icpc ifort ;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
|
||||
|
14
LICENSE
14
LICENSE
|
@ -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
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
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
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
|
15
Makefile
15
Makefile
|
@ -9,18 +9,15 @@ all: grid mesh
|
|||
|
||||
.PHONY: 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 --build build/grid --parallel --target install
|
||||
@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
|
||||
@cmake --install build/grid
|
||||
|
||||
.PHONY: 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 --build build/mesh --parallel --target install
|
||||
|
||||
.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
|
||||
@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
|
||||
@cmake --install build/mesh
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
|
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
|||
Subproject commit 63bc14bfd7dee73978615cfd939bad69c50cca3a
|
||||
Subproject commit 23eac08c9f9638f8dae76710095222d00f948eec
|
|
@ -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://magit1.mpie.de
|
44
README.md
44
README.md
|
@ -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
|
|
@ -1,31 +1,38 @@
|
|||
###################################################################################################
|
||||
# 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)
|
||||
set (OPENMP_FLAGS "-fopenmp")
|
||||
endif ()
|
||||
|
||||
if (OPTIMIZATION STREQUAL "DEBUG")
|
||||
set (OPTIMIZATION_FLAGS "-Og")
|
||||
elseif (OPTIMIZATION STREQUAL "OFF")
|
||||
if (OPTIMIZATION STREQUAL "OFF")
|
||||
set (OPTIMIZATION_FLAGS "-O0")
|
||||
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
|
||||
set (OPTIMIZATION_FLAGS "-O2 -mtune=native")
|
||||
set (OPTIMIZATION_FLAGS "-O2")
|
||||
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
|
||||
set (OPTIMIZATION_FLAGS "-O3 -march=native -funroll-loops -ftree-vectorize -flto")
|
||||
set (OPTIMIZATION_FLAGS "-O3 -ffast-math -funroll-loops -ftree-vectorize")
|
||||
endif ()
|
||||
|
||||
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
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -cpp") # preprocessor, needed for CMake < 3.18
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -xf95-cpp-input")
|
||||
# preprocessor
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIE")
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC -fPIE")
|
||||
# position independent code
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffree-line-length-none")
|
||||
# PETSc macros are long, line length is enforced in pre-receive hook
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffree-line-length-132")
|
||||
# restrict line length to the standard 132 characters (lattice.f90 require more characters)
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fimplicit-none")
|
||||
# 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} -Wconversion-extra")
|
||||
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")
|
||||
# print summary of floating point exeptions (invalid,zero,overflow,underflow,inexact,denormal)
|
||||
|
||||
# Additional options
|
||||
# -Warray-temporarieswarnings: because we have many temporary arrays (performance issue?)
|
||||
# -Wimplicit-interface: no interfaces for lapack/MPI routines
|
||||
# -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")
|
||||
# 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} -fdump-core")
|
||||
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")
|
||||
# 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")
|
||||
# detect undefined behavior
|
||||
# Additional options
|
||||
# -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
|
||||
|
|
|
@ -1,16 +1,20 @@
|
|||
###################################################################################################
|
||||
# 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)
|
||||
set (OPENMP_FLAGS "-qopenmp -parallel")
|
||||
endif ()
|
||||
|
||||
if (OPTIMIZATION STREQUAL "OFF" OR OPTIMIZATION STREQUAL "DEBUG")
|
||||
if (OPTIMIZATION STREQUAL "OFF")
|
||||
set (OPTIMIZATION_FLAGS "-O0 -no-ip")
|
||||
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
|
||||
set (OPTIMIZATION_FLAGS "-O2")
|
||||
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"
|
||||
endif ()
|
||||
|
||||
|
@ -22,15 +26,16 @@ set (LINKER_FLAGS "${LINKER_FLAGS} -shared-intel")
|
|||
|
||||
#------------------------------------------------------------------------------------------------
|
||||
# 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")
|
||||
# disable flush underflow to zero, will be set if -O[1,2,3]
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -ftz")
|
||||
# flush underflow to zero, automatically 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)
|
||||
# ... the text exceeds right hand column allowed on the line (we have only comments there)
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS},7624")
|
||||
# ... 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.
|
||||
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} -ftrapuv")
|
||||
# ... 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
|
||||
#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")
|
||||
# ... 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
|
||||
# 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
|
||||
# -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:
|
||||
|
||||
#------------------------------------------------------------------------------------------------
|
||||
# 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)
|
||||
|
|
|
@ -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:
|
|
@ -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
|
|
@ -0,0 +1,52 @@
|
|||
###################################################################################################
|
||||
# PGI Compiler
|
||||
###################################################################################################
|
||||
|
||||
if (OPENMP)
|
||||
set (OPENMP_FLAGS "-mp")
|
||||
else ()
|
||||
set (OPENMP_FLAGS "-nomp")
|
||||
endif ()
|
||||
|
||||
|
||||
if (OPTIMIZATION STREQUAL "OFF")
|
||||
set (OPTIMIZATION_FLAGS "-O0" )
|
||||
elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
|
||||
set (OPTIMIZATION_FLAGS "-O2 -fast")
|
||||
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
|
||||
set (OPTIMIZATION_FLAGS "-O4 -fast -Mvect=sse")
|
||||
endif ()
|
||||
|
||||
set (STANDARD_CHECK "-Mallocatable=03 -Mstandard")
|
||||
|
||||
#------------------------------------------------------------------------------------------------
|
||||
# Fine tuning compilation options
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Mpreprocess")
|
||||
# preprocessor
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Minfo=all")
|
||||
# instructs the compiler to produce information on standard error
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Minform=warn")
|
||||
# instructs the compiler to display error messages at the specified and higher levels
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -Mdclchk")
|
||||
# instructs the compiler to require that all program variables be declared
|
||||
|
||||
#------------------------------------------------------------------------------------------------O
|
||||
# Runtime debugging
|
||||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -g")
|
||||
# Includes debugging information in the object module; sets the optimization level to zero unless a -O option is present on the command line
|
||||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -C")
|
||||
# Generates code to check array bounds
|
||||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Mchkptr")
|
||||
# Check for NULL pointers (pgf95, pgfortran only)
|
||||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Mchkstk")
|
||||
# Check the stack for available space upon entry to and before the start of a parallel region. Useful when many private variables are declared
|
||||
set (DEBUG_FLAGS "${DEBUG_FLAGS} -Mbounds")
|
||||
# Specifies whether array bounds checking is enabled or disabled
|
||||
|
||||
#------------------------------------------------------------------------------------------------
|
||||
# precision settings
|
||||
set (PRECISION_FLAGS "${PRECISION_FLAGS} -r8")
|
||||
# Determines whether the compiler promotes REAL variables and constants to DOUBLE PRECISION
|
|
@ -0,0 +1,5 @@
|
|||
# "set"-syntax needed only for tcsh (but works with bash and zsh)
|
||||
set OMP_NUM_THREADS = 4
|
||||
|
||||
set MSC_ROOT = /opt/msc
|
||||
set MSC_VERSION = 2020
|
|
@ -19,9 +19,17 @@ fi
|
|||
|
||||
DAMASK_ROOT=$(canonicalPath "$ENV_ROOT/../")
|
||||
|
||||
|
||||
# shorthand command to change to DAMASK_ROOT directory
|
||||
eval "function DAMASK_root() { cd $DAMASK_ROOT; }"
|
||||
|
||||
# defining set() allows to source the same file for tcsh and bash, with and without space around =
|
||||
set() {
|
||||
export $1$2$3
|
||||
}
|
||||
source $ENV_ROOT/CONFIG
|
||||
unset -f set
|
||||
|
||||
# add BRANCH if DAMASK_ROOT is a git repository
|
||||
cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd - >/dev/null
|
||||
|
||||
|
@ -30,6 +38,7 @@ PATH=${DAMASK_ROOT}/bin:$PATH
|
|||
SOLVER=$(type -p DAMASK_grid || true 2>/dev/null)
|
||||
[ "x$SOLVER" == "x" ] && SOLVER=$(blink 'Not found!')
|
||||
|
||||
[ "x$OMP_NUM_THREADS" == "x" ] && OMP_NUM_THREADS=1
|
||||
|
||||
# currently, there is no information that unlimited stack size causes problems
|
||||
# still, http://software.intel.com/en-us/forums/topic/501500 suggest to fix it
|
||||
|
@ -54,13 +63,14 @@ if [ ! -z "$PS1" ]; then
|
|||
[[ $(canonicalPath "$PETSC_DIR") == $PETSC_DIR ]] \
|
||||
|| echo " ~~> "$(canonicalPath "$PETSC_DIR")
|
||||
fi
|
||||
[ "x$PETSC_ARCH" != "x" ] && echo "PETSc architecture $PETSC_ARCH"
|
||||
[ "x$OMP_NUM_THREADS" == "x" ] && export OMP_NUM_THREADS=4
|
||||
echo -n "MSC.Marc/Mentat "
|
||||
[ -d $MSC_ROOT ] && echo $MSC_ROOT || blink $MSC_ROOT
|
||||
echo
|
||||
echo "Multithreading OMP_NUM_THREADS=$OMP_NUM_THREADS"
|
||||
echo -n "heap size "
|
||||
[[ "$(ulimit -d)" == "unlimited" ]] \
|
||||
&& echo "unlimited" \
|
||||
|| echo $(python3 -c \
|
||||
|| echo $(python -c \
|
||||
"import math; \
|
||||
size=$(( 1024*$(ulimit -d) )); \
|
||||
print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \
|
||||
|
@ -68,7 +78,7 @@ if [ ! -z "$PS1" ]; then
|
|||
echo -n "stack size "
|
||||
[[ "$(ulimit -s)" == "unlimited" ]] \
|
||||
&& echo "unlimited" \
|
||||
|| echo $(python3 -c \
|
||||
|| echo $(python -c \
|
||||
"import math; \
|
||||
size=$(( 1024*$(ulimit -s) )); \
|
||||
print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \
|
||||
|
@ -76,6 +86,9 @@ if [ ! -z "$PS1" ]; then
|
|||
echo
|
||||
fi
|
||||
|
||||
export OMP_NUM_THREADS
|
||||
export MSC_ROOT
|
||||
export MSC_VERSION
|
||||
export DAMASK_ROOT
|
||||
export PYTHONPATH=$DAMASK_ROOT/python:$PYTHONPATH
|
||||
|
||||
|
|
|
@ -12,6 +12,16 @@ function blink {
|
|||
ENV_ROOT=$(canonicalPath "${0:a:h}")
|
||||
DAMASK_ROOT=$(canonicalPath "${0:a:h}'/..")
|
||||
|
||||
# shorthand command to change to DAMASK_ROOT directory
|
||||
eval "function DAMASK_root() { cd $DAMASK_ROOT; }"
|
||||
|
||||
# defining set() allows to source the same file for tcsh and zsh, with and without space around =
|
||||
set() {
|
||||
export $1$2$3
|
||||
}
|
||||
source $ENV_ROOT/CONFIG
|
||||
unset -f set
|
||||
|
||||
# add BRANCH if DAMASK_ROOT is a git repository
|
||||
cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd - >/dev/null
|
||||
|
||||
|
@ -20,6 +30,7 @@ PATH=${DAMASK_ROOT}/bin:$PATH
|
|||
SOLVER=$(which DAMASK_grid || true 2>/dev/null)
|
||||
[[ "x$SOLVER" == "x" ]] && SOLVER=$(blink 'Not found!')
|
||||
|
||||
[[ "x$OMP_NUM_THREADS" == "x" ]] && OMP_NUM_THREADS=1
|
||||
|
||||
# currently, there is no information that unlimited stack size causes problems
|
||||
# still, http://software.intel.com/en-us/forums/topic/501500 suggest to fix it
|
||||
|
@ -44,13 +55,16 @@ if [ ! -z "$PS1" ]; then
|
|||
[[ $(canonicalPath "$PETSC_DIR") == $PETSC_DIR ]] \
|
||||
|| echo " ~~> "$(canonicalPath "$PETSC_DIR")
|
||||
fi
|
||||
[[ "x$PETSC_ARCH" != "x" ]] && echo "PETSc architecture $PETSC_ARCH"
|
||||
[[ "x$OMP_NUM_THREADS" == "x" ]] && export OMP_NUM_THREADS=4
|
||||
[[ "x$PETSC_ARCH" == "x" ]] \
|
||||
|| echo "PETSc architecture $PETSC_ARCH"
|
||||
echo -n "MSC.Marc/Mentat "
|
||||
[ -d $MSC_ROOT ] && echo $MSC_ROOT || blink $MSC_ROOT
|
||||
echo
|
||||
echo "Multithreading OMP_NUM_THREADS=$OMP_NUM_THREADS"
|
||||
echo -n "heap size "
|
||||
[[ "$(ulimit -d)" == "unlimited" ]] \
|
||||
&& echo "unlimited" \
|
||||
|| echo $(python3 -c \
|
||||
|| echo $(python -c \
|
||||
"import math; \
|
||||
size=$(( 1024*$(ulimit -d) )); \
|
||||
print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \
|
||||
|
@ -58,7 +72,7 @@ if [ ! -z "$PS1" ]; then
|
|||
echo -n "stack size "
|
||||
[[ "$(ulimit -s)" == "unlimited" ]] \
|
||||
&& echo "unlimited" \
|
||||
|| echo $(python3 -c \
|
||||
|| echo $(python -c \
|
||||
"import math; \
|
||||
size=$(( 1024*$(ulimit -s) )); \
|
||||
print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \
|
||||
|
@ -66,6 +80,9 @@ if [ ! -z "$PS1" ]; then
|
|||
echo
|
||||
fi
|
||||
|
||||
export OMP_NUM_THREADS
|
||||
export MSC_ROOT
|
||||
export MSC_VERSION
|
||||
export DAMASK_ROOT
|
||||
export PYTHONPATH=$DAMASK_ROOT/python:$PYTHONPATH
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
*.C_ref
|
||||
*.hdf5
|
||||
*.xdmf
|
||||
*.sta
|
||||
|
|
|
@ -9,418 +9,23 @@ phase:
|
|||
lattice: cF
|
||||
mechanical:
|
||||
output: [F, P, F_e, F_p, L_p, O]
|
||||
elastic: {type: Hooke, C_11: 106.75e+9, C_12: 60.41e+9, C_44: 28.34e+9}
|
||||
elastic: {type: Hooke, C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9}
|
||||
plastic:
|
||||
type: phenopowerlaw
|
||||
N_sl: [12]
|
||||
a_sl: [2.25]
|
||||
a_sl: 2.25
|
||||
atol_xi: 1.0
|
||||
dot_gamma_0_sl: [0.001]
|
||||
h_0_sl-sl: [75.e+6]
|
||||
h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: [20]
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 75e6
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
output: [xi_sl]
|
||||
xi_0_sl: [31.e+6]
|
||||
xi_inf_sl: [63.e+6]
|
||||
xi_0_sl: [31e6]
|
||||
xi_inf_sl: [63e6]
|
||||
|
||||
material:
|
||||
- constituents:
|
||||
- O: [0.31638628373524325, 0.4606971763404367, -0.25136671882289513, 0.7902357900300152]
|
||||
phase: Aluminum
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
v: 1.0
|
||||
homogenization: SX
|
||||
- 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
|
||||
O: [0.9330127018922194, 0.25, 0.06698729810778066, 0.25]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
title R-Wert
|
||||
$....MARC input file produced by Marc Mentat 2021.2 (64bit)
|
||||
title r-value
|
||||
$....MARC input file produced by Marc Mentat 2019 (64bit)
|
||||
$...................................
|
||||
$....input file using extended precision
|
||||
extended
|
||||
|
@ -7,14 +7,14 @@ $...................................
|
|||
sizing 0 80 165 0
|
||||
alloc 25
|
||||
elements 7
|
||||
version 15 1 0 1
|
||||
version 14 1 0 1
|
||||
table 0 0 2 1 1 0 0 1
|
||||
processor 1 1 1 0
|
||||
$no list
|
||||
large stra 2 1 0 0 0 0 0 0
|
||||
large stra 2 1 0 0 0 0 0
|
||||
all points
|
||||
no echo 1 2 3 4
|
||||
state vars 2
|
||||
state vars 3
|
||||
end
|
||||
$...................
|
||||
solver
|
||||
|
@ -269,6 +269,8 @@ coordinates
|
|||
163 3.999999999999999+1 9.999999999999996+0-5.000000000000000-1
|
||||
164 3.999999999999999+1 9.999999999999996+0 0.000000000000000+0
|
||||
165 3.999999999999999+1 9.999999999999996+0 5.000000000000000-1
|
||||
define element set Material_Nummer_elements
|
||||
1 to 80
|
||||
define node set unten_y_nodes
|
||||
2 5 8 11 14
|
||||
define node set oben_y_nodes
|
||||
|
@ -281,166 +283,8 @@ define node set unten_z_nodes
|
|||
7 to 9
|
||||
define node set oben_z_nodes
|
||||
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
|
||||
define element set texture_elements
|
||||
1 to 80
|
||||
hypoelastic
|
||||
|
||||
1 0 1 0 1TKS 0
|
||||
|
@ -452,13 +296,13 @@ mat color
|
|||
1 1 230 0 0
|
||||
table weg_x
|
||||
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
|
||||
2.000000000000000+2 1.600000000000000+1
|
||||
geometry
|
||||
0 0 2
|
||||
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
|
||||
|
||||
usdata 1
|
||||
|
@ -502,655 +346,28 @@ unten_fest_nodes
|
|||
oben_ziehen_nodes
|
||||
initial state
|
||||
|
||||
2 6 1 0 0 0material0
|
||||
0.000000000000000+0
|
||||
0
|
||||
1
|
||||
material0_elements
|
||||
initial state
|
||||
|
||||
2 6 1 0 0 0material1
|
||||
2 6 1 0 0 0Material_Nummer
|
||||
1.000000000000000+0
|
||||
0
|
||||
1
|
||||
material1_elements
|
||||
Material_Nummer_elements
|
||||
initial state
|
||||
|
||||
2 6 1 0 0 0material2
|
||||
2.000000000000000+0
|
||||
3 6 1 0 0 0texture
|
||||
1.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
|
||||
texture_elements
|
||||
loadcase r-value
|
||||
5
|
||||
Material_Nummer
|
||||
texture
|
||||
unten_z
|
||||
unten_y
|
||||
unten_fest
|
||||
no print
|
||||
post
|
||||
3 16 17 0 0 19 20 0 1 0 0 0 0 0 0 0
|
||||
17 0
|
||||
301 0
|
||||
311 0
|
||||
6 16 17 0 0 19 20 0 1 0 0 0 0 0 0 0
|
||||
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
|
||||
8.625000000000000+0 2.000000000000000+1 1.000000000000000-4 1.000000000000000-6 1.000000000000000+0 1.000000000000000-4
|
||||
|
@ -1160,9 +377,9 @@ parameters
|
|||
3.000000000000000+0 4.000000000000000-1
|
||||
end option
|
||||
$...................
|
||||
$....start of loadcase Ziehen
|
||||
title Ziehen
|
||||
loadcase Ziehen
|
||||
$....start of loadcase Tensile
|
||||
title Tensile
|
||||
loadcase Tensile
|
||||
6
|
||||
unten_z
|
||||
unten_y
|
||||
|
@ -1185,5 +402,5 @@ auto load
|
|||
time step
|
||||
2.000000000000000+0
|
||||
continue
|
||||
$....end of loadcase Ziehen
|
||||
$....end of loadcase Tensile
|
||||
$...................
|
|
@ -0,0 +1,2 @@
|
|||
(kinematics) thermal_expansion
|
||||
thermal_expansion11 0.0000231
|
|
@ -0,0 +1,55 @@
|
|||
[Tungsten]
|
||||
elasticity hooke
|
||||
plasticity disloucla
|
||||
|
||||
(output) edge_density
|
||||
(output) dipole_density
|
||||
(output) shear_rate_slip
|
||||
(output) accumulated_shear_slip
|
||||
(output) mfp_slip
|
||||
(output) resolved_stress_slip
|
||||
(output) threshold_stress_slip
|
||||
(output) twin_fraction
|
||||
(output) shear_rate_twin
|
||||
(output) accumulated_shear_twin
|
||||
(output) mfp_twin
|
||||
(output) resolved_stress_twin
|
||||
(output) threshold_stress_twin
|
||||
|
||||
### Material parameters ###
|
||||
lattice_structure bcc
|
||||
C11 523.0e9 # From Marinica et al. Journal of Physics: Condensed Matter(2013)
|
||||
C12 202.0e9
|
||||
C44 161.0e9
|
||||
|
||||
grainsize 2.7e-5 # Average grain size [m] 2.0e-5
|
||||
SolidSolutionStrength 0.0 # Strength due to elements in solid solution
|
||||
|
||||
### Dislocation glide parameters ###
|
||||
#per family
|
||||
Nslip 12
|
||||
slipburgers 2.72e-10 # Burgers vector of slip system [m]
|
||||
rhoedge0 1.0e12 # Initial edge dislocation density [m/m**3]
|
||||
rhoedgedip0 1.0 # Initial edged dipole dislocation density [m/m**3]
|
||||
Qedge 2.61154e-19 # Activation energy for dislocation glide [J], 1.63 eV
|
||||
v0 1 # Initial glide velocity [m/s]
|
||||
p_slip 0.86 # p-exponent in glide velocity
|
||||
q_slip 1.69 # q-exponent in glide velocity
|
||||
tau_peierls 2.03e9 # peierls stress [Pa]
|
||||
|
||||
#mobility law
|
||||
kink_height 2.567e-10 # kink height sqrt(6)/3*lattice_parameter [m]
|
||||
omega 9.1e11 # attemp frequency (from kMC paper) [s^(-1)]
|
||||
kink_width 29.95e-10 # kink pair width ~ 11 b (kMC paper) [m]
|
||||
dislolength 78e-10 # dislocation length (ideally lambda) [m] initial value 11b
|
||||
friction_coeff 8.3e-5 # friction coeff. B [Pa*s]
|
||||
|
||||
#hardening
|
||||
dipoleformationfactor 0 # to have hardening due to dipole formation off
|
||||
CLambdaSlip 10.0 # Adj. parameter controlling dislocation mean free path
|
||||
D0 4.0e-5 # Vacancy diffusion prefactor [m**2/s]
|
||||
Qsd 4.5e-19 # Activation energy for climb [J]
|
||||
Catomicvolume 1.0 # Adj. parameter controlling the atomic volume [in b]
|
||||
Cedgedipmindistance 1.0 # Adj. parameter controlling the minimum dipole distance [in b]
|
||||
interaction_slipslip 0.009 0.009 0.72 0.05 0.09 0.06
|
||||
nonschmid_coefficients 0.938 0.71 4.43 0.0 0.0 0.0
|
|
@ -0,0 +1,41 @@
|
|||
TWIP_Steel_FeMnC:
|
||||
lattice: cF
|
||||
mechanical:
|
||||
elastic: {type: hooke, C_11: 175.0e9, C_12: 115.0e9, C_44: 135.0e9}
|
||||
plastic:
|
||||
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.0e12]
|
||||
rho_dip_0: [1.0]
|
||||
v_0: [1.0e4]
|
||||
Q_s: [3.7e-19]
|
||||
p_sl: [1.0]
|
||||
q_sl: [1.0]
|
||||
tau_0: [1.5e8]
|
||||
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.122] # Interaction coefficients (Kubin et al. 2008)
|
||||
# shear band parameters
|
||||
xi_sb: 180.0e6
|
||||
Q_sb: 3.7e-19
|
||||
p_sb: 1.0
|
||||
q_sb: 1.0
|
||||
v_sb: 0.0 # set to 0, to turn it off
|
||||
# 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
|
||||
Gamma_sf_0K: -0.0396 # stacking fault energy / J/m^2 at zero K; TWIP steel: -0.0526; Cu: -0.0396
|
||||
dGamma_sf_dT: 0.0002 # temperature dependence / J/(m^2 K) of stacking fault energy
|
|
@ -0,0 +1,21 @@
|
|||
Tungsten:
|
||||
lattice: cI
|
||||
mechanical:
|
||||
elastic: {type: hooke, C_11: 523.0e9, C_12: 202.0e9, C_44: 161.0e9} # Marinica et al. Journal of Physics: Condensed Matter(2013)
|
||||
plastic:
|
||||
type: dislotwin
|
||||
D: 2.0e-5 # Average grain size / m
|
||||
N_sl: [12]
|
||||
b_sl: [2.72e-10] # Burgers vector length of slip families / m
|
||||
rho_mob_0: [1.0e12]
|
||||
rho_dip_0: [1.0]
|
||||
v_0: [1.0e4] # Initial glide velocity / m/s
|
||||
Q_s: [2.725e-19] # Activation energy for dislocation glide / J
|
||||
p_sl: [0.78] # p-exponent in glide velocity
|
||||
q_sl: [1.58] # q-exponent in glide velocity
|
||||
tau_0: [1.5e8] # solid solution strength / Pa
|
||||
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: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
|
@ -0,0 +1,16 @@
|
|||
# Kuo, J. C., Mikrostrukturmechanik von Bikristallen mit Kippkorngrenzen. Shaker-Verlag 2004. http://edoc.mpg.de/204079
|
||||
Aluminum:
|
||||
lattice: aP
|
||||
mechanical:
|
||||
output: [F, P, F_e, F_p, L_p]
|
||||
elastic: {type: hooke, C_11: 110.9e9, C_12: 58.34e9}
|
||||
plastic:
|
||||
type: isotropic
|
||||
output: [xi]
|
||||
xi_0: 31e6
|
||||
xi_inf: 63e6
|
||||
dot_gamma_0: 0.001
|
||||
n: 20
|
||||
M: 3
|
||||
h_0: 75e6
|
||||
a: 2.25
|
|
@ -0,0 +1,16 @@
|
|||
FreeSurface:
|
||||
lattice: aP
|
||||
mechanical:
|
||||
output: [F, P, F_e, F_p, L_p]
|
||||
elastic: {type: hooke, C_11: 1e8, C_12: 1e6}
|
||||
plastic:
|
||||
type: isotropic
|
||||
output: [xi]
|
||||
xi_0: 0.3e6
|
||||
xi_inf: 0.6e6
|
||||
dot_gamma_0: 0.001
|
||||
n: 5
|
||||
M: 3
|
||||
h_0: 1e6
|
||||
a: 2
|
||||
dilatation: True
|
|
@ -0,0 +1,63 @@
|
|||
[Aluminum]
|
||||
plasticity nonlocal
|
||||
/nonlocal/
|
||||
|
||||
(output) rho_sgl_mob_edg_pos
|
||||
(output) rho_sgl_imm_edg_pos
|
||||
(output) rho_sgl_mob_edg_neg
|
||||
(output) rho_sgl_imm_edg_neg
|
||||
(output) rho_sgl_mob_scr_pos
|
||||
(output) rho_sgl_imm_scr_pos
|
||||
(output) rho_sgl_mob_scr_neg
|
||||
(output) rho_sgl_imm_scr_neg
|
||||
(output) rho_dip_edg
|
||||
(output) rho_dip_scr
|
||||
(output) rho_forest
|
||||
(output) gamma
|
||||
(output) tau_pass
|
||||
(output) v_edg_pos
|
||||
(output) v_edg_neg
|
||||
(output) v_scr_pos
|
||||
(output) v_scr_neg
|
||||
|
||||
lattice_structure fcc
|
||||
Nslip 12 # number of slip systems
|
||||
|
||||
burgers 2.86e-10 # Burgers vector in m
|
||||
rhoSglEdgePos0 0.25e10 # Initial positive edge single dislocation density in m/m**3 (per slip family)
|
||||
rhoSglEdgeNeg0 0.25e10 # Initial negative edge single dislocation density in m/m**3 (per slip family)
|
||||
rhoSglScrewPos0 0.25e10 # Initial positive screw single dislocation density in m/m**3 (per slip family)
|
||||
rhoSglScrewNeg0 0.25e10 # Initial negative screw single dislocation density in m/m**3 (per slip family)
|
||||
rhoDipEdge0 1e8 # Initial edge dipole dislocation density in m/m**3 (per slip family)
|
||||
rhoDipScrew0 1e8 # Initial screw dipole dislocation density in m/m**3 (per slip family)
|
||||
rhoSglScatter 0 # standard deviation of scatter in initial single dislocation density
|
||||
#rhoSglRandom 1e12 # randomly distributed total dislocation density (sum over all slip systems and types) in m/m**3
|
||||
#rhoSglRandomBinning 1 # binning size of randomly distributed dislocations (number of dislocations per ip volume)
|
||||
minimumDipoleHeightEdge 2e-9 # minimum distance for stable edge dipoles in m (per slip family)
|
||||
minimumDipoleHeightScrew 2e-9 # minimum distance for stable screw dipoles in m (per slip family)
|
||||
lambda0 80 # prefactor for mean free path
|
||||
edgeMultiplication 0.1 # factor to which edges contribute to multiplication
|
||||
atomicVolume 1.7e-29 # atomic volume in m**3
|
||||
selfdiffusionPrefactor 1e-4 # prefactor for self-diffusion coefficient in m**2/s
|
||||
selfdiffusionEnergy 2.3e-19 # activation enthalpy for seld-diffusion in J
|
||||
solidSolutionEnergy 2e-19 # activation energy of solid solution particles in J
|
||||
solidSolutionConcentration 1e-5 # concentration of solid solution in parts per b^3
|
||||
solidSolutionSize 2 # size of solid solution obstacles in multiples of burgers vector length
|
||||
peierlsStressEdge 1e5 # Peierls stress for edges in Pa (per slip family)
|
||||
peierlsStressScrew 1e5 # Peierls stress for screws in Pa (per slip family)
|
||||
doublekinkWidth 10 # width of double kinks in multiples of burgers vector length b
|
||||
viscosity 1e-4 # viscosity for dislocation glide in Pa s
|
||||
p 1 # exponent for thermal barrier profile
|
||||
q 1 # exponent for thermal barrier profile
|
||||
attackFrequency 50e9 # attack frequency in Hz
|
||||
surfaceTransmissivity 1.0 # transmissivity of free surfaces for dislocation flux
|
||||
grainboundaryTransmissivity 0.0 # transmissivity of grain boundaries for dislocation flux (grain bundaries are identified as interfaces with different textures on both sides); if not set or set to negative number, the subroutine automatically determines the transmissivity at the grain boundary
|
||||
interaction_SlipSlip 0 0 0.625 0.07 0.137 0.122 # Dislocation interaction coefficient
|
||||
linetension 0.8 # constant indicating the effect of the line tension on the hardening coefficients (0 to 1)
|
||||
edgejog 1.0 # fraction of annihilated screw dipoles that forms edge jogs (0 to 1)
|
||||
shortRangeStressCorrection 0 # switch for use of short range correction stress
|
||||
cutoffRadius 1e-3 # cutoff radius for dislocation stress in m
|
||||
CFLfactor 2.0 # safety factor for CFL flux check (numerical parameter)
|
||||
significantRho 1e6 # minimum dislocation density considered relevant in m/m**3
|
||||
#significantN 0.1 # minimum dislocation number per ip considered relevant
|
||||
randomMultiplication 0 # switch for probabilistic extension of multiplication rate
|
|
@ -0,0 +1,62 @@
|
|||
[Ni_nonlocal]
|
||||
|
||||
elasticity hooke
|
||||
plasticity nonlocal
|
||||
/nonlocal/
|
||||
(output) rho_sgl_mob_edg_pos
|
||||
(output) rho_sgl_imm_edg_pos
|
||||
(output) rho_sgl_mob_edg_neg
|
||||
(output) rho_sgl_imm_edg_neg
|
||||
(output) rho_sgl_mob_scr_pos
|
||||
(output) rho_sgl_imm_scr_pos
|
||||
(output) rho_sgl_mob_scr_neg
|
||||
(output) rho_sgl_imm_scr_neg
|
||||
(output) rho_dip_edg
|
||||
(output) rho_dip_scr
|
||||
(output) rho_forest
|
||||
(output) gamma
|
||||
(output) tau_pass
|
||||
(output) v_edg_pos
|
||||
(output) v_edg_neg
|
||||
(output) v_scr_pos
|
||||
(output) v_scr_neg
|
||||
|
||||
|
||||
lattice_structure fcc
|
||||
Nslip 12 # number of slip systems per family
|
||||
burgers 2.48e-10 # Burgers vector in m
|
||||
rhoSglEdgePos0 6e10 # Initial positive edge single dislocation density in m/m**3
|
||||
rhoSglEdgeNeg0 6e10 # Initial negative edge single dislocation density in m/m**3
|
||||
rhoSglScrewPos0 6e10 # Initial positive screw single dislocation density in m/m**3
|
||||
rhoSglScrewNeg0 6e10 # Initial negative screw single dislocation density in m/m**3
|
||||
rhoDipEdge0 0 # Initial edge dipole dislocation density in m/m**3
|
||||
rhoDipScrew0 0 # Initial screw dipole dislocation density in m/m**3
|
||||
rhoSglScatter 0
|
||||
minimumDipoleHeightEdge 2.6e-9 # 3.0e-9 # minimum distance for stable edge dipoles in m
|
||||
minimumDipoleHeightScrew 12.0e-9 # 50e-9 # minimum distance for stable screw dipoles in m
|
||||
lambda0 45 # 33 # prefactor for mean free path
|
||||
edgeMultiplication 0.1
|
||||
randomMultiplication 0
|
||||
atomicVolume 1.2e-29
|
||||
selfdiffusionPrefactor 1.9e-4 # Gottstein p.168 # prefactor for self-diffusion coefficient
|
||||
selfdiffusionEnergy 5.1e-19 # Gottstein p.168 # activation energy self-diffusion
|
||||
solidSolutionEnergy 1.8e-19 # activation energy of solid solution particles in J
|
||||
solidSolutionConcentration 5e-7 # 1e-7
|
||||
solidSolutionSize 1.0
|
||||
peierlsStressEdge 1e5 # Peierls stress for edges in Pa (per slip family)
|
||||
peierlsStressScrew 1e5 # Peierls stress for screws in Pa (per slip family)
|
||||
doublekinkWidth 10 # width of double kinks in multiples of burgers vector length b
|
||||
viscosity 1e-3 # viscosity for dislocation glide in Pa s
|
||||
p 1 # exponent for thermal barrier profile
|
||||
q 1 # exponent for thermal barrier profile
|
||||
attackFrequency 50e9 # attack frequency in Hz
|
||||
surfaceTransmissivity 1.0 # transmissivity of free surfaces for dislocation flux
|
||||
grainBoundaryTransmissivity 0.0
|
||||
significantRho 1e8 # dislocation density considered relevant in m/m**3
|
||||
significantN 1
|
||||
shortRangeStressCorrection 0
|
||||
CFLfactor 1.1 # safety factor for CFL flux check (numerical parameter)
|
||||
r 1
|
||||
interaction_SlipSlip 0 0 0.625 0.07 0.137 0.122 # Dislocation interaction coefficient
|
||||
linetension 0.8
|
||||
edgejog 0.01 # 0.2
|
|
@ -0,0 +1,16 @@
|
|||
Aluminum:
|
||||
lattice: cF
|
||||
mechanical:
|
||||
output: [F, P, F_e, F_p, L_p, O]
|
||||
elastic: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke}
|
||||
plastic:
|
||||
N_sl: [12]
|
||||
a_sl: 2.25
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 75e6
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
output: [xi_sl, gamma_sl]
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [31e6]
|
||||
xi_inf_sl: [63e6]
|
|
@ -0,0 +1,17 @@
|
|||
# Tasan et.al. 2015 Acta Materalia
|
||||
# Tasan et.al. 2015 International Journal of Plasticity
|
||||
# Diehl et.al. 2015 Meccanica
|
||||
Ferrite:
|
||||
lattice: cI
|
||||
mechanical:
|
||||
elastic: {C_11: 233.3e9, C_12: 135.5e9, C_44: 118.0e9, type: hooke}
|
||||
plastic:
|
||||
N_sl: [12, 12]
|
||||
a_sl: 2.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 1000.0e6
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [95.e6, 96.e6]
|
||||
xi_inf_sl: [222.e6, 412.7e6]
|
|
@ -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.4e9, C_12: 242.4e9, C_44: 211.1e9, type: hooke}
|
||||
plastic:
|
||||
N_sl: [12, 12]
|
||||
a_sl: 2.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 563.0e9
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [405.8e6, 456.7e6]
|
||||
xi_inf_sl: [872.9e6, 971.2e6]
|
|
@ -0,0 +1,28 @@
|
|||
# Tromans 2011, Elastic Anisotropy of HCP Metal Crystals and Polycrystals
|
||||
Magnesium:
|
||||
lattice: hP
|
||||
c/a: 1.62350
|
||||
mechanical:
|
||||
output: [F, P, F_e, F_p, L_p, O]
|
||||
elastic: {C_11: 59.3e9, C_12: 25.7e9, C_13: 21.4e9, C_33: 61.5e9, C_44: 16.4e9, type: hooke}
|
||||
plastic:
|
||||
N_sl: [3, 3, 0, 6, 0, 6]
|
||||
N_tw: [6, 0, 0, 6]
|
||||
h_0_tw_tw: 50.0e6
|
||||
h_0_sl_sl: 500.0e6
|
||||
h_0_tw_sl: 150.0e6
|
||||
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]
|
||||
h_tw_tw: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
||||
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]
|
||||
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]
|
||||
output: [xi_sl, xi_tw]
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [10.0e6, 55.0e6, 0, 60.0e6, 0.0, 60.0e6]
|
||||
xi_inf_sl: [40.0e6, 135.0e6, 0, 150.0e6, 0.0, 150.0e6]
|
||||
xi_0_tw: [40e6, 0.0, 0.0, 60.0e6]
|
||||
a_sl: 2.25
|
||||
dot_gamma_0_sl: 0.001
|
||||
dot_gamma_0_tw: 0.001
|
||||
n_sl: 20
|
||||
n_tw: 20
|
||||
f_sat_sl_tw: 10.0
|
|
@ -0,0 +1,20 @@
|
|||
# M. Levy, Handbook of Elastic Properties of Solids, Liquids, and Gases (2001)
|
||||
# C. Zambaldi, "Orientation informed nanoindentation of a-titanium: Indentation pileup in hexagonal metals deforming by prismatic slip", J. Mater. Res., Vol. 27, No. 1, Jan 14, 2012
|
||||
# Better use values from L. Wang, Z. Zheng, H. Phukan, P. Kenesei, J.-S. Park, J. Lind, R.M. Suter, T.R. Bieler, Direct measurement of critical resolved shear stress of prismatic and basal slip in polycrystalline Ti using high energy X-ray diffraction microscopy, Acta Mater 2017
|
||||
cpTi:
|
||||
lattice: hP
|
||||
c/a: 1.587
|
||||
mechanical:
|
||||
output: [F, P, F_e, F_p, L_p, O]
|
||||
elastic: {C_11: 160.0e9, C_12: 90.0e9, C_13: 66.0e9, C_33: 181.7e9, C_44: 46.5e9, type: hooke}
|
||||
plastic:
|
||||
N_sl: [3, 3, 0, 6, 12]
|
||||
a_sl: 2.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 200e6
|
||||
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]
|
||||
n_sl: 20
|
||||
output: [gamma_sl]
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [0.15e9, 0.09e9, 0, 0.20e9, 0.25e9]
|
||||
xi_inf_sl: [0.24e9, 0.5e9, 0, 0.6e9, 0.8e9]
|
|
@ -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]
|
|
@ -1 +0,0 @@
|
|||
N_constituents: 8
|
|
@ -0,0 +1,4 @@
|
|||
[Parallel3]
|
||||
mech isostrain
|
||||
nconstituents 3
|
||||
mapping sum # or 'parallel'
|
|
@ -1 +0,0 @@
|
|||
N_constituents: 2
|
|
@ -1,3 +0,0 @@
|
|||
# For single point calculations, requires N_constituents = 1
|
||||
type: pass
|
||||
output: ['T']
|
|
@ -1 +0,0 @@
|
|||
N_constituents: 1
|
|
@ -1,8 +1,10 @@
|
|||
# For Relaxed Grain Cluster homogenization, requires N_constituents = 8
|
||||
type: RGC
|
||||
D_alpha: [4.0e-06, 4.0e-06, 2.0e-06]
|
||||
a_g: [0.0, 0.0, 0.0]
|
||||
c_alpha: 2.0
|
||||
cluster_size: [2, 2, 2]
|
||||
output: [M, Delta_V, avg_dot_a, max_dot_a]
|
||||
xi_alpha: 10.0
|
||||
8Grains:
|
||||
N_constituents: 8
|
||||
mechanical:
|
||||
type: RGC
|
||||
D_alpha: [4.0e-06, 4.0e-06, 2.0e-06]
|
||||
a_g: [0.0, 0.0, 0.0]
|
||||
c_alpha: 2.0
|
||||
cluster_size: [2, 2, 2]
|
||||
output: [M, Delta_V, avg_a_dot, max_a_dot]
|
||||
xi_alpha: 10.0
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
Taylor2:
|
||||
N_constituents: 2
|
||||
mechanical: {type: isostrain}
|
|
@ -1,3 +0,0 @@
|
|||
# For Taylor homogenization with N_constituents > 1
|
||||
type: isostrain
|
||||
output: ['F', 'P']
|
|
@ -1,3 +0,0 @@
|
|||
# For single point calculations, requires N_constituents = 1
|
||||
type: pass
|
||||
output: ['F', 'P']
|
|
@ -1,3 +0,0 @@
|
|||
# For homogenization with N_constituents > 1
|
||||
type: isotemperature
|
||||
output: ['T']
|
|
@ -1,3 +0,0 @@
|
|||
# For single point calculations, requires N_constituents = 1
|
||||
type: pass
|
||||
output: ['T']
|
|
@ -1,100 +1,84 @@
|
|||
# Default values of all available numerical parameters
|
||||
# Please note that keys are case sensitive
|
||||
|
||||
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
|
||||
|
||||
# Available numerical parameters
|
||||
# Case sensitive keys
|
||||
|
||||
homogenization:
|
||||
mechanical:
|
||||
mech:
|
||||
RGC:
|
||||
eps_abs_P: 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
|
||||
eps_rel_P: 1.0e-3 # relative ...
|
||||
eps_abs_max: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa)
|
||||
eps_rel_max: 1.0e+2 # relative ...
|
||||
Delta_a: 1.0e-7 # perturbation for computing penalty tangent
|
||||
relevant_mismatch: 1.0e-5 # minimum threshold of mismatch
|
||||
viscosity_exponent: 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)
|
||||
atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
|
||||
rtol: 1.0e-3 # relative ...
|
||||
amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa)
|
||||
rmax: 1.0e+2 # relative ...
|
||||
perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent
|
||||
relevantmismatch: 1.0e-5 # minimum threshold of mismatch
|
||||
viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme
|
||||
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
|
||||
dot_a_ref: 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)
|
||||
Delta_V_max: 1.0e-5 # maximum allowable relative volume discrepancy
|
||||
Delta_V_modulus: 1.0e+12
|
||||
Delta_V_exponent: 5.0
|
||||
refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher)
|
||||
maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback)
|
||||
maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy
|
||||
voldiscrepancymod: 1.0e+12
|
||||
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:
|
||||
mechanical:
|
||||
r_cutback_min: 1.0e-3 # minimum (relative) size of step allowed during cutback in phase state calculation
|
||||
r_cutback: 0.25 # factor to decrease size of step when cutback introduced in phase state calculation (value between 0 and 1)
|
||||
r_increase: 1.5 # factor to increase size of next step when previous step converged in phase state calculation
|
||||
eps_rel_state: 1.0e-6 # relative tolerance in phase state loop (abs tol provided by constitutive law)
|
||||
N_iter_state_max: 10 # state loop limit
|
||||
grid:
|
||||
eps_div_atol: 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium
|
||||
eps_div_rtol: 5.0e-4 # relative tolerance for fulfillment of stress equilibrium
|
||||
eps_curl_atol: 1.0e-12 # absolute tolerance for fulfillment of strain compatibility
|
||||
eps_curl_rtol: 5.0e-4 # relative tolerance for fulfillment of strain compatibility
|
||||
eps_stress_atol: 1.0e3 # absolute tolerance for fulfillment of stress BC
|
||||
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:
|
||||
r_linesearch_Lp: 0.5 # factor to decrease the step if Lp calculation fails to converge
|
||||
eps_rel_Lp: 1.0e-6 # relative tolerance in Lp residuum
|
||||
eps_abs_Lp: 1.0e-8 # absolute tolerance in Lp residuum
|
||||
N_iter_Lp_max: 40 # stress loop limit for Lp
|
||||
f_update_jacobi_Lp: 1 # frequency of Jacobian update of residuum in Lp
|
||||
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)
|
||||
mesh:
|
||||
maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
|
||||
maxStaggeredIter: 10 # max number of field level staggered iterations
|
||||
structorder: 2 # order of displacement shape functions (when mesh is defined)
|
||||
bbarstabilisation: false
|
||||
integrationorder: 2 # order of quadrature rule required (when mesh is defined)
|
||||
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:
|
||||
r_linesearch_Li: 0.5 # factor to decrease the step if Li calculation fails to converge
|
||||
eps_rel_Li: 1.0e-6 # relative tolerance in Li residuum
|
||||
eps_abs_Li: 1.0e-8 # absolute tolerance in Li residuum
|
||||
N_iter_Li_max: 40 # stress loop limit for Li
|
||||
f_update_jacobi_Li: 1 # frequency of updating the Jacobian of residuum in Li
|
||||
crystallite:
|
||||
subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite
|
||||
subStepSize: 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1)
|
||||
stepIncrease: 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1)
|
||||
subStepSizeLp: 0.5 # size of first substep when cutback in Lp calculation
|
||||
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:
|
||||
random_seed: 0 # fixed seeding for pseudo-random number generator (0: use random seed)
|
||||
charLength: 1.0 # characteristic length scale for gradient problems.
|
||||
random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed.
|
||||
residualStiffness: 1.0e-6 # non-zero residual damage.
|
||||
|
|
|
@ -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
|
|
@ -1,5 +0,0 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Silver
|
||||
|
||||
lattice: cF
|
||||
rho: 10490.0
|
|
@ -1,5 +1,4 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Aluminium
|
||||
|
||||
lattice: cF
|
||||
rho: 2700.0
|
||||
rho: 2700
|
||||
references:
|
||||
- en.wikipedia.org/wiki/Aluminium
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Gold
|
||||
|
||||
lattice: cF
|
||||
rho: 19300.0
|
|
@ -1,5 +0,0 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Copper
|
||||
|
||||
lattice: cF
|
||||
rho: 8960.0
|
|
@ -1,5 +1,4 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Iron
|
||||
|
||||
lattice: cI
|
||||
rho: 7874.0
|
||||
rho: 7874
|
||||
references:
|
||||
- en.wikipedia.org/wiki/Iron
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
references:
|
||||
- D. Tromans,
|
||||
International Journal of Recent Research and Applied Studies 6(4):462-483, 2011,
|
||||
https://www.arpapress.com/Volumes/Vol6Issue4/IJRRAS_6_4_14.pdf
|
||||
|
||||
lattice: hP
|
||||
c/a: 1.62350
|
||||
rho: 1740.0
|
|
@ -1,5 +1,4 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Nickel
|
||||
|
||||
lattice: cF
|
||||
rho: 8908.0
|
||||
rho: 8908
|
||||
references:
|
||||
- en.wikipedia.org/wiki/Nickel
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Platinum
|
||||
|
||||
lattice: cF
|
||||
rho: 21450.0
|
|
@ -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
|
|
@ -1,7 +0,0 @@
|
|||
references:
|
||||
- https://www.totalmateria.com/page.aspx?ID=CheckArticle&site=ktn&NM=221
|
||||
- https://en.wikipedia.org/wiki/Titanium
|
||||
|
||||
lattice: hP
|
||||
c/a: 1.587
|
||||
rho: 4506.0
|
|
@ -1,5 +0,0 @@
|
|||
references:
|
||||
- https://en.wikipedia.org/wiki/Tungsten
|
||||
|
||||
lattice: cI
|
||||
rho: 19300.0
|
|
@ -1,2 +1,2 @@
|
|||
lattice: hP
|
||||
c/a: 1.6333
|
||||
c/a: 1.587
|
|
@ -1,2 +0,0 @@
|
|||
lattice: tI
|
||||
c/a: 0.55
|
|
@ -1,13 +1,8 @@
|
|||
type: anisobrittle
|
||||
|
||||
output: [f_phi]
|
||||
|
||||
N_cl: [3]
|
||||
|
||||
g_crit: [0.5e+7]
|
||||
dot_o: 1e-3
|
||||
g_crit: [0.50e7]
|
||||
q: 20
|
||||
s_crit: [0.006666]
|
||||
dot_o_0: 1.e-3
|
||||
p: 20
|
||||
|
||||
l_c: 1.0
|
||||
mu: 0.001
|
||||
type: anisobrittle
|
||||
D_11: 1.0
|
||||
M: 0.001
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
type: isobrittle
|
||||
|
||||
output: [f_phi]
|
||||
|
||||
G_crit: 1400000.0
|
||||
l_c: 1.0
|
||||
mu: 0.001
|
|
@ -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
|
|
@ -1,7 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- https://en.wikipedia.org/wiki/Thermal_expansion,
|
||||
293.15K
|
||||
|
||||
Alpha_11: 23.1e-6
|
|
@ -1,7 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- https://en.wikipedia.org/wiki/Thermal_expansion,
|
||||
293.15K
|
||||
|
||||
Alpha_11: 14.e-6
|
|
@ -1,11 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- https://commons.wikimedia.org/wiki/File:Coefficient_dilatation_lineique_aciers.svg,
|
||||
fit to image description (Scilab code)
|
||||
|
||||
Alpha_11: 10.2e-6
|
||||
Alpha_11,T: 1.260e-08
|
||||
Alpha_11,T^2: -1.000e-11
|
||||
|
||||
T_ref: 293.15
|
|
@ -1,7 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- https://en.wikipedia.org/wiki/Thermal_expansion,
|
||||
293.15K
|
||||
|
||||
Alpha_11: 17.e-6
|
|
@ -1,7 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- https://en.wikipedia.org/wiki/Thermal_expansion,
|
||||
293.15K
|
||||
|
||||
Alpha_11: 11.8e-6
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -1,7 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- https://en.wikipedia.org/wiki/Thermal_expansion,
|
||||
293.15K
|
||||
|
||||
Alpha_11: 4.5e-6
|
|
@ -1,10 +0,0 @@
|
|||
type: thermalexpansion
|
||||
|
||||
references:
|
||||
- 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)
|
||||
|
||||
Alpha_11: 10.1e-6
|
||||
Alpha_11,T: 5.000e-09
|
||||
|
||||
T_ref: 293.15
|
|
@ -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
|
|
@ -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
|
|
@ -1,25 +1,8 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- G.N. Kamm and G.A. Alers,
|
||||
Journal of Applied Physics 35:327-330, 1964,
|
||||
https://doi.org/10.1063/1.1713309,
|
||||
fit to Tab. I (T_min=100K, T_max=300K)
|
||||
- D. Gerlich and E.S. Fisher,
|
||||
Journal of Physics and Chemistry of Solids 30:1197-1205, 1969,
|
||||
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
|
||||
- J. Vallin et al.,
|
||||
Journal of Applied Physics 35(6), 1825-1826, 1964,
|
||||
10.1063/1.1713749
|
||||
C_11: 107.3e9
|
||||
C_12: 60.8e9
|
||||
C_44: 28.3e9
|
||||
|
|
|
@ -1,25 +1,8 @@
|
|||
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. II (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. 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
|
||||
- J.P. Hirth and J. Lothe,
|
||||
Theory of Dislocations, 1982,
|
||||
John Wiley & Sons
|
||||
C_11: 186e9
|
||||
C_12: 157e9
|
||||
C_44: 42e9
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- W.C. Overton Jr. and J. Gaffney,
|
||||
Physical Review 98(4):969-977, 1955,
|
||||
https://doi.org/10.1103/PhysRev.98.969,
|
||||
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: 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
|
|
@ -1,21 +1,8 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- D.J. Dever,
|
||||
Journal of Applied Physics 43(8):3293-3301, 1972,
|
||||
https://doi.org/10.1063/1.1661710,
|
||||
fit to Tab. II (T_min=25ºC, T_max=880ºC)
|
||||
|
||||
C_11: 232.2e+9
|
||||
C_11,T: -4.683e+7
|
||||
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
|
||||
- J.P. Hirth and J. Lothe,
|
||||
Theory of Dislocations, 1982,
|
||||
John Wiley & Sons
|
||||
C_11: 242e9
|
||||
C_12: 146.5e9
|
||||
C_44: 11.2e9
|
||||
|
|
|
@ -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
|
|
@ -1,29 +0,0 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- L.J. Slutsky and C.W. Garland,
|
||||
Physical Review 107(4):972-976, 1957,
|
||||
https://doi.org/10.1103/PhysRev.107.972,
|
||||
fit to Tab. I (T_min=100K, T_max=300K)
|
||||
|
||||
C_11: 59.5e+9
|
||||
C_11,T: -1.930e+7
|
||||
C_11,T^2: -1.215e+4
|
||||
|
||||
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
|
|
@ -1,21 +1,8 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- G.A. Alers,
|
||||
Journal of Physics and Chemistry of Solids 13(1-2):40-55, 1960,
|
||||
https://doi.org/10.1016/0022-3697(60)90125-6,
|
||||
fit to Tab. 2 (T_min=100K, T_max=700K)
|
||||
|
||||
C_11: 251.0e+9
|
||||
C_11,T: -4.967e+7
|
||||
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
|
||||
- J.P. Hirth and J. Lothe,
|
||||
Theory of Dislocations, 1982,
|
||||
John Wiley & Sons
|
||||
C_11: 246.5e9
|
||||
C_12: 147.3e9
|
||||
C_44: 124.7e9
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -1,13 +0,0 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- D. Music et al.,
|
||||
Applied Physics Letters 99(19):191904, 2007,
|
||||
https://doi.org/10.1063/1.2807677
|
||||
- S.L. Wong et al.,
|
||||
Acta Materialia 118:140-151, 2016,
|
||||
https://doi.org/10.1016/j.actamat.2016.07.032
|
||||
|
||||
C_11: 175.0e+9
|
||||
C_12: 115.0e+9
|
||||
C_44: 135.0e+9
|
|
@ -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
|
|
@ -1,29 +0,0 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- E.S. Fisher and C.J. Renken,
|
||||
Physical Review 135(2A):A482-A494, 1964,
|
||||
https://doi.org/10.1103/PhysRev.135.A482,
|
||||
fit to Tab. IV (T_min=77K, T_max=923K)
|
||||
|
||||
C_11: 162.5e+9
|
||||
C_11,T: -5.915e+7
|
||||
C_11,T^2: 1.156e+4
|
||||
|
||||
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
|
|
@ -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
|
|
@ -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
|
|
@ -1,18 +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. III (T_min=100K, T_max=300K)
|
||||
|
||||
C_11: 524.3e+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
|
|
@ -0,0 +1,10 @@
|
|||
type: Hooke
|
||||
references:
|
||||
- L. Wang et al.,
|
||||
Acta Materialia 132, 598-610, 2017,
|
||||
10.1016/j.actamat.2017.05.015
|
||||
C_11: 162.4e9
|
||||
C_33: 181.6e9
|
||||
C_44: 47.2e9
|
||||
C_12: 92e9
|
||||
C_13: 69e9
|
|
@ -1,10 +0,0 @@
|
|||
type: Hooke
|
||||
|
||||
references:
|
||||
- T. Maiti and P. Eisenlohr,
|
||||
Scripta Materialia 145:37-40, 2018,
|
||||
https://doi.org/10.1016/j.scriptamat.2017.09.047
|
||||
|
||||
C_11: 1.e+8
|
||||
C_12: 1.e+6
|
||||
C_44: 4.95e+7
|
|
@ -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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue