removed documentation from public part.
Before Width: | Height: | Size: 694 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.6 KiB |
|
@ -1,94 +0,0 @@
|
||||||
program nantest
|
|
||||||
! This file: http://ftp.aset.psu.edu/pub/ger/fortran/hdk/nan.f90
|
|
||||||
!
|
|
||||||
!====NAN.F90 illustrates what works and what doesn't when
|
|
||||||
! detecting a NaN. All but the Fortran 2003 IEEE_IS_NAN are not
|
|
||||||
! Standard Fortran.
|
|
||||||
!
|
|
||||||
! Platforms: Windows 9x/Me/NT/2000, AIX 4.3, Linux
|
|
||||||
! Compiler Notes:
|
|
||||||
! Compaq Visual Fortran 6.6C with default
|
|
||||||
! fpe settings (/fpe:3 /nocheck) and /OPTIMIZE:0
|
|
||||||
! (ISNAN is an Elemental Intrinsic Function)
|
|
||||||
! Options /fpe:0 /traceback will cause this
|
|
||||||
! program to stop with error message,
|
|
||||||
! James Giles points out that in order to actually print
|
|
||||||
! minus zero from CVF, you have to compile with the
|
|
||||||
! /assume:minus0 option.
|
|
||||||
!
|
|
||||||
! AIX XLF90 without optimization.
|
|
||||||
! (ISNAN is part of a BOS Runtime C library;
|
|
||||||
! thus ISNAN must be declared LOGICAL.)
|
|
||||||
!
|
|
||||||
! Linux Intel IFORT, use: -O0 (no optimization) and
|
|
||||||
! -assume minus0
|
|
||||||
!
|
|
||||||
! g95 supports ieee_is_nan elemental function.
|
|
||||||
!
|
|
||||||
!
|
|
||||||
! Author: hdkLESS at SPAM psu dot edu
|
|
||||||
! Date: March, 2002, January 2005, August 2006.
|
|
||||||
!
|
|
||||||
! References:
|
|
||||||
! http://www.psc.edu/general/software/packages/ieee/ieee.html
|
|
||||||
! http://homepages.borland.com/efg2lab/Mathematics/NaN.htm
|
|
||||||
! http://en.wikipedia.org/wiki/NaN
|
|
||||||
!
|
|
||||||
logical :: ISNAN
|
|
||||||
integer :: i
|
|
||||||
integer, Dimension (6) :: Iy
|
|
||||||
real, Dimension (6) :: y
|
|
||||||
integer :: IPInf, IMinf, IMZero
|
|
||||||
real :: PInf, MInf, MZero, DivNan
|
|
||||||
Character (Len=10), Dimension(6) :: NType
|
|
||||||
data NType/'+Infinity','-Infinity','-0', 'NaN','NaN','0/0'/
|
|
||||||
data IPInf/B'01111111100000000000000000000000'/ ! +Infinity
|
|
||||||
data IMInf/B'11111111100000000000000000000000'/ ! -Infinity
|
|
||||||
data IMZero/B'10000000000000000000000000000000'/ ! -0
|
|
||||||
|
|
||||||
data Iy(1)/B'01111111100000000000000000000000'/ ! +Infinity
|
|
||||||
data Iy(2)/B'11111111100000000000000000000000'/ ! -Infinity
|
|
||||||
data Iy(3)/B'10000000000000000000000000000000'/ ! -0
|
|
||||||
data Iy(4)/B'01111111100000100000000000000000'/ ! NaN
|
|
||||||
data Iy(5)/B'11111111100100010001001010101010'/ ! NaN
|
|
||||||
data Iy(6)/B'11111111110000000000000000000000'/ ! 0/0
|
|
||||||
|
|
||||||
PInf = transfer(IPinf,Pinf)
|
|
||||||
Minf = transfer(IMinf,Minf)
|
|
||||||
MZero = transfer(IMZero,MZero)
|
|
||||||
Y = transfer(IY,Y)
|
|
||||||
|
|
||||||
! Some debug options for some compilers may flag the following
|
|
||||||
! zero/zero as an exception. If so, comment out the next two lines.
|
|
||||||
DivNan=0
|
|
||||||
y(6)=DivNan/DivNan
|
|
||||||
|
|
||||||
Do i=1,6
|
|
||||||
print *, 'Test#',i,' ->',NType(i)
|
|
||||||
if (y(i).eq.PInf) print *, 'Y = Plus Infinity'
|
|
||||||
if (y(i).eq.MInf) print *, 'Y = Minus Infinity'
|
|
||||||
if (y(i).eq.Mzero) print *, 'Y = Minus Zero'
|
|
||||||
print *, 'y(Test#)=',y(i)
|
|
||||||
print *, 'Testing each of three NaN detection methods:'
|
|
||||||
! EQV -> true iff both A and B are True or iff both A and B are False.
|
|
||||||
if( (y(i) > 0.0) .EQV. (y(i) <= 0.0)) then
|
|
||||||
print *, '1) (y(Test#) > 0.0) .EQV. (y(Test#) <= 0.0)'
|
|
||||||
end if
|
|
||||||
if (y(i)/=y(i)) then
|
|
||||||
print *, '2) (y(Test#)/=(y(Test#))'
|
|
||||||
end if
|
|
||||||
! If ISNAN is available for a specific compiler, uncomment the
|
|
||||||
! following 3 lines.
|
|
||||||
! if (ISNAN(y(i))) then
|
|
||||||
! print *, '3) ISNAN(y(Test#))'
|
|
||||||
! end if
|
|
||||||
! if Fortran 2003 IEEE floating-point exception handling is available
|
|
||||||
! uncomment the following 4 lines
|
|
||||||
! use ieee_arithmetic
|
|
||||||
! if (ieee_is_nan(y(i))) then
|
|
||||||
! print *, '4) ieee_is_nan(y(Test#))'
|
|
||||||
! end if
|
|
||||||
print *, ' '
|
|
||||||
End Do
|
|
||||||
|
|
||||||
end program nantest
|
|
|
@ -1,356 +0,0 @@
|
||||||
#LyX 1.6.2 created this file. For more info see http://www.lyx.org/
|
|
||||||
\lyxformat 345
|
|
||||||
\begin_document
|
|
||||||
\begin_header
|
|
||||||
\textclass scrartcl
|
|
||||||
\use_default_options true
|
|
||||||
\language english
|
|
||||||
\inputencoding auto
|
|
||||||
\font_roman default
|
|
||||||
\font_sans default
|
|
||||||
\font_typewriter default
|
|
||||||
\font_default_family default
|
|
||||||
\font_sc false
|
|
||||||
\font_osf false
|
|
||||||
\font_sf_scale 100
|
|
||||||
\font_tt_scale 100
|
|
||||||
|
|
||||||
\graphics default
|
|
||||||
\paperfontsize default
|
|
||||||
\spacing single
|
|
||||||
\use_hyperref false
|
|
||||||
\papersize letterpaper
|
|
||||||
\use_geometry true
|
|
||||||
\use_amsmath 1
|
|
||||||
\use_esint 1
|
|
||||||
\cite_engine basic
|
|
||||||
\use_bibtopic true
|
|
||||||
\paperorientation portrait
|
|
||||||
\leftmargin 2cm
|
|
||||||
\topmargin 2cm
|
|
||||||
\rightmargin 1cm
|
|
||||||
\bottommargin 2cm
|
|
||||||
\headheight 2cm
|
|
||||||
\headsep 1cm
|
|
||||||
\footskip 0.5cm
|
|
||||||
\secnumdepth 3
|
|
||||||
\tocdepth 3
|
|
||||||
\paragraph_separation indent
|
|
||||||
\defskip medskip
|
|
||||||
\quotes_language english
|
|
||||||
\papercolumns 1
|
|
||||||
\papersides 1
|
|
||||||
\paperpagestyle default
|
|
||||||
\tracking_changes false
|
|
||||||
\output_changes false
|
|
||||||
\author ""
|
|
||||||
\author ""
|
|
||||||
\end_header
|
|
||||||
|
|
||||||
\begin_body
|
|
||||||
|
|
||||||
\begin_layout Title
|
|
||||||
Sorting Criterion for Slip and Twin system in HCP
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Author
|
|
||||||
YunJo Ro
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
This document attempts to show how we sort the order of the slip and twin
|
|
||||||
system for Hex (or hcp) structure in lattice.f90.
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Section
|
|
||||||
Slip system
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
An intersection between slip and basal plane is used in order to sort the
|
|
||||||
slip system as illustrated in Figures
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:BasalPrismSlip"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
and
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:Pyr<a><c+a>"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
.
|
|
||||||
Numbers in Figures
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:BasalPrismSlip"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
and
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:Pyr<a><c+a>"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
indicate the sequence of each slip system in
|
|
||||||
\begin_inset Quotes eld
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
lattice.f90
|
|
||||||
\begin_inset Quotes erd
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
.
|
|
||||||
In
|
|
||||||
\begin_inset Quotes eld
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
lattice.f90
|
|
||||||
\begin_inset Quotes erd
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
, No.
|
|
||||||
4 - 6 for basal and prism <a> slip do not include (Figure
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:BasalPrismSlip"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
).
|
|
||||||
In Figure
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:Pyr<a><c+a>"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
, pyramidal slip <c+a> was used two criterions to sort the 12 slip systems;
|
|
||||||
i) intersection between pyramidal slip plane and basal plnae, and ii) <a>
|
|
||||||
direction.
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
\begin_inset Float figure
|
|
||||||
placement tbph
|
|
||||||
wide false
|
|
||||||
sideways false
|
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
\align center
|
|
||||||
\begin_inset Graphics
|
|
||||||
filename figures/slipSystemForHCP.jpg
|
|
||||||
lyxscale 15
|
|
||||||
scale 18
|
|
||||||
clip
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Caption
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
Basal and prism <a> slip.
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset CommandInset label
|
|
||||||
LatexCommand label
|
|
||||||
name "Fig:BasalPrismSlip"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Float figure
|
|
||||||
placement tbph
|
|
||||||
wide false
|
|
||||||
sideways false
|
|
||||||
status collapsed
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
\align center
|
|
||||||
\begin_inset Graphics
|
|
||||||
filename figures/slipSystemForHCP-pyr.jpg
|
|
||||||
lyxscale 10
|
|
||||||
scale 18
|
|
||||||
clip
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Caption
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
Pyramical <a> and <c+a> slip.
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset CommandInset label
|
|
||||||
LatexCommand label
|
|
||||||
name "Fig:Pyr<a><c+a>"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
\begin_inset Newpage clearpage
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Section
|
|
||||||
Twin system
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
An intersection between twin and basal plane is used in order to sort the
|
|
||||||
twin system as illustrated in Figures
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:TwinType1"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
and
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:TwinType2"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
.
|
|
||||||
Numbers in Figures
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:TwinType1"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
and
|
|
||||||
\begin_inset CommandInset ref
|
|
||||||
LatexCommand ref
|
|
||||||
reference "Fig:TwinType2"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
indicate the sequence of each twin system in
|
|
||||||
\begin_inset Quotes eld
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
lattice.f90
|
|
||||||
\begin_inset Quotes erd
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
.
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\begin_layout Standard
|
|
||||||
\begin_inset Float figure
|
|
||||||
placement tbph
|
|
||||||
wide false
|
|
||||||
sideways false
|
|
||||||
status open
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
\align center
|
|
||||||
\begin_inset Graphics
|
|
||||||
filename figures/twinSystemForHCP-1.jpg
|
|
||||||
lyxscale 15
|
|
||||||
scale 18
|
|
||||||
clip
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Caption
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
Tensile and compressive twin type 1
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset CommandInset label
|
|
||||||
LatexCommand label
|
|
||||||
name "Fig:TwinType1"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Float figure
|
|
||||||
placement tbph
|
|
||||||
wide false
|
|
||||||
sideways false
|
|
||||||
status open
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
\align center
|
|
||||||
\begin_inset Graphics
|
|
||||||
filename figures/twinSystemForHCP-2.jpg
|
|
||||||
lyxscale 15
|
|
||||||
scale 18
|
|
||||||
clip
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset Caption
|
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
|
||||||
Tensile and compressive twin type 2
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\begin_inset CommandInset label
|
|
||||||
LatexCommand label
|
|
||||||
name "Fig:TwinType2"
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
|
||||||
|
|
||||||
\end_body
|
|
||||||
\end_document
|
|
|
@ -1,74 +0,0 @@
|
||||||
%% LyX 1.6.2 created this file. For more info, see http://www.lyx.org/.
|
|
||||||
%% Do not edit unless you really know what you are doing.
|
|
||||||
\documentclass[english]{scrartcl}
|
|
||||||
\usepackage[T1]{fontenc}
|
|
||||||
\usepackage[latin9]{inputenc}
|
|
||||||
\usepackage[letterpaper]{geometry}
|
|
||||||
\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=1cm,headheight=2cm,headsep=1cm,footskip=0.5cm}
|
|
||||||
\usepackage{graphicx}
|
|
||||||
|
|
||||||
\usepackage{babel}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\title{Sorting Criterion for Slip and Twin system in HCP}
|
|
||||||
|
|
||||||
|
|
||||||
\author{YunJo Ro}
|
|
||||||
|
|
||||||
\maketitle
|
|
||||||
This document attempts to show how we sort the order of the slip and
|
|
||||||
twin system for Hex (or hcp) structure in lattice.f90.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Slip system }
|
|
||||||
|
|
||||||
An intersection between slip and basal plane is used in order to sort
|
|
||||||
the slip system as illustrated in Figures \ref{Fig:BasalPrismSlip}
|
|
||||||
and \ref{Fig:Pyr<a><c+a>}. Numbers in Figures \ref{Fig:BasalPrismSlip}
|
|
||||||
and \ref{Fig:Pyr<a><c+a>} indicate the sequence of each slip system
|
|
||||||
in {}``lattice.f90''. In {}``lattice.f90'', No. 4 - 6 for basal
|
|
||||||
and prism <a> slip do not include (Figure \ref{Fig:BasalPrismSlip}).
|
|
||||||
In Figure \ref{Fig:Pyr<a><c+a>}, pyramidal slip <c+a> was used two
|
|
||||||
criterions to sort the 12 slip systems; i) intersection between pyramidal
|
|
||||||
slip plane and basal plnae, and ii) <a> direction.
|
|
||||||
|
|
||||||
%
|
|
||||||
\begin{figure}[tbph]
|
|
||||||
\begin{centering}
|
|
||||||
\includegraphics[clip,scale=0.18]{figures/slipSystemForHCP}\caption{Basal and prism <a> slip.}
|
|
||||||
\label{Fig:BasalPrismSlip}
|
|
||||||
\par\end{centering}
|
|
||||||
|
|
||||||
|
|
||||||
\end{figure}
|
|
||||||
%
|
|
||||||
\begin{figure}[tbph]
|
|
||||||
\centering{}\includegraphics[clip,scale=0.18]{figures/slipSystemForHCP-pyr}\caption{Pyramical <a> and <c+a> slip.}
|
|
||||||
\label{Fig:Pyr<a><c+a>}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
|
|
||||||
\clearpage{}
|
|
||||||
|
|
||||||
|
|
||||||
\section{Twin system}
|
|
||||||
|
|
||||||
An intersection between twin and basal plane is used in order to sort
|
|
||||||
the twin system as illustrated in Figures \ref{Fig:TwinType1} and
|
|
||||||
\ref{Fig:TwinType2}. Numbers in Figures \ref{Fig:TwinType1} and
|
|
||||||
\ref{Fig:TwinType2} indicate the sequence of each twin system in
|
|
||||||
{}``lattice.f90''.
|
|
||||||
|
|
||||||
%
|
|
||||||
\begin{figure}[tbph]
|
|
||||||
\centering{}\includegraphics[clip,scale=0.18]{figures/twinSystemForHCP-1}\caption{Tensile and compressive twin type 1}
|
|
||||||
\label{Fig:TwinType1}
|
|
||||||
\end{figure}
|
|
||||||
%
|
|
||||||
\begin{figure}[tbph]
|
|
||||||
\centering{}\includegraphics[clip,scale=0.18]{figures/twinSystemForHCP-2}\caption{Tensile and compressive twin type 2}
|
|
||||||
\label{Fig:TwinType2}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\end{document}
|
|
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 970 KiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.7 MiB |
|
@ -1,302 +0,0 @@
|
||||||
\documentclass{beamer}
|
|
||||||
|
|
||||||
\usepackage{amsmath,amssymb,amsfonts}
|
|
||||||
\usepackage{bm}
|
|
||||||
\usepackage{array}
|
|
||||||
%\include{Shortcuts}
|
|
||||||
\newcommand{\ie}{\textit{i.e.}}
|
|
||||||
\newcommand{\eg}{\textit{e.g.}}
|
|
||||||
\newcommand{\vect}[1]{\ensuremath{\mathbf{#1}}}
|
|
||||||
\newcommand{\tensII}[1]{\ensuremath{\mathbf{#1}}}
|
|
||||||
\newcommand{\tensIV}[1]{\ensuremath{\mathbb{#1}}}
|
|
||||||
\newcommand{\slip}[1]{\ensuremath{#1^{\alpha}}}
|
|
||||||
\newcommand{\slipslip}[1]{\ensuremath{#1^{\alpha\alpha}}}
|
|
||||||
\newcommand{\slipt}[1]{\ensuremath{#1^{\tilde\alpha}}}
|
|
||||||
\newcommand{\slipslipt}[1]{\ensuremath{#1^{\alpha\tilde\alpha}}}
|
|
||||||
\newcommand{\twin}[1]{\ensuremath{#1^{\beta}}}
|
|
||||||
\newcommand{\twint}[1]{\ensuremath{#1^{\tilde\beta}}}
|
|
||||||
\newcommand{\twintwint}[1]{\ensuremath{#1^{\beta\tilde\beta}}}
|
|
||||||
\newcommand{\sliptwin}[1]{\ensuremath{#1^{\alpha\beta}}}
|
|
||||||
\newcommand{\twinslip}[1]{\ensuremath{#1^{\beta\alpha}}}
|
|
||||||
|
|
||||||
\usetheme{mpie}
|
|
||||||
\setbeamertemplate{blocks}[rounded][shadow=true]
|
|
||||||
|
|
||||||
\title{Dislocation glide and deformation twinning as implemented in DisloTwin.f90}
|
|
||||||
\date{MSU Twin Meeting, D\"usseldorf -- October 6\textsuperscript{th}, 2009}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\frame{\titlepage}
|
|
||||||
|
|
||||||
\section[Outline]{}
|
|
||||||
\frame{\tableofcontents}
|
|
||||||
|
|
||||||
\section{Microstructure Parametrization}
|
|
||||||
\frame {
|
|
||||||
\frametitle{}
|
|
||||||
\begin{block}{\begin{center}PART I\end{center}} \begin{center}Microstructure Parametrization\end{center} \end{block}
|
|
||||||
}
|
|
||||||
\subsection{Dislocation structure}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Dislocation structure}
|
|
||||||
\begin{block}{Internal variables:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $\slip N$ edge dislocation densities $\slip\varrho_{\text{edge}}$
|
|
||||||
\item<1-> $\slip N$ dipole densities $\slip\varrho_{\text{dipole}}$
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Derived measures:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $\slip\tau_{\text{c}}$ threshold shear stress fordislocation glide
|
|
||||||
\item<1-> $\slip\lambda$ mean distance between 2 obstacles seen by a dislocation
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\subsection{Mechanical twins}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Morphology and topology of mechanical twins}
|
|
||||||
\begin{block}{Internal variables:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $\twin N$ twin volume fractions $\twin f$
|
|
||||||
\item<1-> ($\twin N$ twin mean thicknesses $\twin s$)
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Derived measures:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $f$ total twin volume fraction
|
|
||||||
\item<1-> $\twin l=\frac{\twin s\,(1-f)}{\twin f}$ mean distance between neighboring twins $\beta$
|
|
||||||
\item<1-> $\twin\tau_{\text{c}}$ threshold shear stress for twinning
|
|
||||||
\item<1-> $\twin\lambda$ mean distance between 2 obstacles seen by a growing twin
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\subsection{Threshold stresses}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Threshold stress for glide activity}
|
|
||||||
\begin{block}{Threshold stress $\slip\tau_{\text{c}}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip\tau_{\text{c}} = k_{\text{friction}}\,G_{\text{iso}}\,\sqrt{c}\,+\,G_{\text{iso}}\,\slip b\,\sqrt{\sum_{\tilde\alpha\,=\,1}^{\slip N}\,\slipslipt\xi\,(\slipt\varrho_{\text{edge}} + \slipt\varrho_{\text{dipole}})} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{with:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $G_{\text{iso}}$ isotropic shear modulus
|
|
||||||
\item<1-> $c$ carbon concentration (at.\%)
|
|
||||||
\item<1-> $k_{\text{friction}}$ adjusting parameter for solute atome friction stress
|
|
||||||
\item<1-> $\slip b$ Burgers vector of slip system $\alpha$
|
|
||||||
\item<1-> $\slipslipt\xi$ interaction strength (Kubin et al. 2008)
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Threshold stress for twinning:}
|
|
||||||
\begin{block}{Threshold stress $\twin\tau_{\text{c}}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\twin\tau_{\text{c}} = \frac{\gamma_{\text{sfe}}}{3\,\twin b}\,+\,\frac{G_{\text{iso}}\,\twin b}{L_0} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{with:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $\gamma_{\text{sfe}}$ temperature-dependant stacking fault energy
|
|
||||||
\item<1-> $\twin b$ Burgers vector of twin system $\beta$
|
|
||||||
\item<1-> $L_0$ twin source length
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\subsection{Mean free distances}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Dislocation mean free distance between two obstacles}
|
|
||||||
\begin{block}{Harmonic averaging:}
|
|
||||||
\begin{eqnarray}
|
|
||||||
\frac{1}{\slip\lambda} & = &
|
|
||||||
\frac{1}{d_{\text{grain}}}
|
|
||||||
\,+\,\frac{\sqrt{\slip\varrho_{\text{edge}}\,+\,\slip\varrho_{\text{dipole}}}}{k_\lambda}
|
|
||||||
\,+\,\frac{1}{\sliptwin d} \nonumber \\
|
|
||||||
& = &
|
|
||||||
\frac{1}{d_{\text{grain}}}
|
|
||||||
\,+\,\frac{\sqrt{\slip\varrho_{\text{edge}}\,+\,\slip\varrho_{\text{dipole}}}}{k_\lambda} \,+\,\sum_{\beta\,=\,1}^{\slip{N}}\,\sliptwin{I}\,\frac{1}{\twin l} \nonumber
|
|
||||||
\end{eqnarray}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{with:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $d_{\text{grain}}$ grain size
|
|
||||||
\item<1-> $\sliptwin{I}$ slip--twin interactions (0 if $\alpha$,$\beta$ coplanars or cross-slip; 1 otherwise)
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Twin mean free distance between two obstacles}
|
|
||||||
\begin{block}{Harmonic averaging:}
|
|
||||||
\begin{eqnarray}
|
|
||||||
\frac{1}{\twin\lambda} & = & \frac{1}{d_{\text{grain}}} + \dfrac{1}{\twin d} \nonumber \\
|
|
||||||
& = & \dfrac{1}{d_{\mathrm{grain}}} + \sum_{\tilde\beta\,=\,1}^{\twin{N}}\,\twintwint{I}\,\dfrac{1}{\twint l} \nonumber
|
|
||||||
\end{eqnarray}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{with:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $\twintwint{I}$ twin--twin interactions (0 if $\beta$,$\tilde\beta$ coplanars; 1 otherwise)
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\section{Kinetics}
|
|
||||||
\frame {
|
|
||||||
\frametitle{}
|
|
||||||
\begin{block}{\begin{center}PART II\end{center}} \begin{center}Kinetics\end{center} \end{block}
|
|
||||||
}
|
|
||||||
\subsection{Thermally-activated dislocation motion}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Orowan's kinetics}
|
|
||||||
\begin{block}{Shear rate $\slip{\dot\gamma}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\gamma} = \slip\varrho_{\text{edge}}\,\slip b\,\slip v_{\text{glide}} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Velocity $\slip v_{\text{glide}}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip v_{\text{glide}} = v_0\,
|
|
||||||
\exp{\left[-\dfrac{Q}{k_{\text{B}}\,T}\,\left(1-\left(\dfrac{|\slip\tau|}{\slip\tau_{\text{c}}}\right)^p\right)^q\right]} \operatorname{sign}(\slip\tau) \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{with:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $v_0$ velocity pre-factor
|
|
||||||
\item<1-> $Q$ activation energy for dislocation glide
|
|
||||||
\item<1-> $k_{\text{B}}\,T$ Boltzmann energy
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\subsection{Twin kinetics}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Twin nucleation law}
|
|
||||||
\begin{block}{Shear rate $\twin{\dot\gamma}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\twin{\dot\gamma} = \twin\gamma_{\text{c}}\,\twin{\dot f} = \twin\gamma_{\text{c}}\,(1-f)\,\twin V\,\twin{\dot N} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Nucleation rate $\twin{\dot N}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\twin{\dot N} = \dot{N}_0\,\exp\left[-\left(\frac{\twin\tau_{\text{c}}}{\twin\tau}\right)^r\right] \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{with:}
|
|
||||||
\begin{itemize}
|
|
||||||
\item<1-> $\twin\gamma_{\text{c}}$ characteristical twin shear
|
|
||||||
\item<1-> $\twin V$ volume of grown-up twins
|
|
||||||
\item<1-> $\dot{N}_0$ constant twin nucleation rate per time and volume
|
|
||||||
\end{itemize}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Spontaneous twin growth}
|
|
||||||
\begin{block}{Volume of grown-up twins $\twin V$:}
|
|
||||||
\begin{equation}
|
|
||||||
\twin V = \frac{\pi}{6}\,\twin s\,{\twin\lambda}^2 \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\section{Evolution laws for microstructure}
|
|
||||||
\frame {
|
|
||||||
\frametitle{}
|
|
||||||
\begin{block}{\begin{center}PART III\end{center}} \begin{center}Evolution laws for microstructure\end{center} \end{block}
|
|
||||||
}
|
|
||||||
\subsection{Multiplication and annihilation mechanisms}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Dislocation multiplication}
|
|
||||||
\begin{block}{Multiplication:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{multiplication}}} = \dfrac{|\slip{\dot\gamma}|}{\slip b\,\slip\lambda} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Dipole formation}
|
|
||||||
\begin{block}{Dipole formation:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{formation}}} = 2\,\dfrac{2\,\operatorname{max}(\slip{\hat d},\slip{\check d})}{\slip b}\,\dfrac{\slip\varrho_{\text{edge}}}{2}\,|\slip{\dot\gamma}| \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Upper stability limit for dipoles $\slip{\hat d}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\hat d} = \dfrac{1}{8\,\pi}\,\dfrac{G_{\text{iso}}\,\slip b}{1-\nu}\,\dfrac{1}{|\slip\tau|} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Spontaneous annihilation of 2 single dislocations}
|
|
||||||
\begin{block}{Single--single annihilation:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{single--single}}} = 2\,\dfrac{2\,\slip{\check d}}{\slip b}\,\dfrac{\slip\varrho_{\text{edge}}}{2}\,|\slip{\dot\gamma}| \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Lower stability limit of dipoles $\slip{\check d}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\check d} \propto \slip b \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Spontaneous annihilation of one single dislocation with a dipole constituent}
|
|
||||||
\begin{block}{Single--dipole constituent annihilation:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{single--dipole}}} = 2\,\dfrac{2\,\slip{\check d}}{\slip b}\,\dfrac{\slip\varrho_{\text{dipole}}}{2}\,|\slip{\dot\gamma}| \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\frame {
|
|
||||||
\frametitle{Dipole climb}
|
|
||||||
\begin{block}{Dipole climb:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{climb}}} = \slip\varrho_{\text{dipole}}\,\dfrac{2\,v_{\text{climb}}}{(\slip{\hat d}-\slip{\check d})/2} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Climb velocity $\slip v_{\text{climb}}$:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip v_{\text{climb}} = \dfrac{D\,\slip\Omega}{\slip b\,k_{\text{B}}\,T}\,\dfrac{G_{\text{iso}}\,\slip b}{2\,\pi\,(1-\nu)}\,\dfrac{1}{(\slip{\hat d}+\slip{\check d})/2} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\subsection{Evolution of dislocation densities}
|
|
||||||
\frame {
|
|
||||||
\frametitle{Evolution of dislocation densities}
|
|
||||||
\begin{block}{Edge dislocation density rate:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{edge}}} = \slip{\dot\varrho_{\text{multiplication}}} - \slip{\dot\varrho_{\text{formation}}} - \slip{\dot\varrho_{\text{single--single}}} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\begin{block}{Dislocation dipole density rate:}
|
|
||||||
\begin{equation}
|
|
||||||
\slip{\dot\varrho_{\text{dipole}}} = \slip{\dot\varrho_{\text{formation}}} - \slip{\dot\varrho_{\text{single--dipole}}} - \slip{\dot\varrho_{\text{climb}}} \nonumber
|
|
||||||
\end{equation}
|
|
||||||
\end{block}
|
|
||||||
}
|
|
||||||
|
|
||||||
\end{document}
|
|
|
@ -1,491 +0,0 @@
|
||||||
%% LyX 1.6.2 created this file. For more info, see http://www.lyx.org/.
|
|
||||||
%% Do not edit unless you really know what you are doing.
|
|
||||||
\documentclass{scrartcl}
|
|
||||||
\usepackage[usenames,dvipsnames,pdftex]{color}
|
|
||||||
\usepackage{amsmath,amssymb,amsfonts}
|
|
||||||
%\usepackage[alsoload={accepted,named,prefix}]{siunitx}
|
|
||||||
%\usepackage[load-configurations=version-1]{siunitx}
|
|
||||||
\usepackage{subeqnarray}
|
|
||||||
\usepackage[format=hang]{subfig}
|
|
||||||
\usepackage{booktabs}
|
|
||||||
\usepackage{verbatim}
|
|
||||||
\usepackage{miller}
|
|
||||||
\usepackage{bm}
|
|
||||||
\usepackage{geometry}
|
|
||||||
\usepackage[authoryear]{natbib}
|
|
||||||
%Check if we are compiling under latex or pdflatex
|
|
||||||
\ifx\pdftexversion\undefined
|
|
||||||
\usepackage[dvips,draft]{graphicx}
|
|
||||||
\else
|
|
||||||
% \usepackage[pdftex,draft]{graphicx}
|
|
||||||
\usepackage[pdftex]{graphicx}
|
|
||||||
\fi
|
|
||||||
\graphicspath{
|
|
||||||
{./figures/}
|
|
||||||
{./}
|
|
||||||
}
|
|
||||||
\DeclareGraphicsExtensions{.pdf,.png}
|
|
||||||
\definecolor{DarkBlue}{rgb}{.106, .212, .4}
|
|
||||||
|
|
||||||
\usepackage[pdftex,% hyper-references for pdftex
|
|
||||||
bookmarksnumbered=true,% generate bookmarks with numbers
|
|
||||||
pagebackref=true,% generate backref in biblio
|
|
||||||
colorlinks=true,%
|
|
||||||
linkcolor=DarkBlue,citecolor=DarkBlue,urlcolor=DarkBlue%
|
|
||||||
]{hyperref}%
|
|
||||||
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\title{Summary of constitutive\_phenoPowerlaw}
|
|
||||||
\author{YunJo Ro \and Philip Eisenlohr}
|
|
||||||
\maketitle
|
|
||||||
\begin{abstract}
|
|
||||||
This document contains information for constitutive\_phenoPowerlaw.f90.
|
|
||||||
This constitutive subroutine is modified from the current contitutive\_phenomenological.f90.
|
|
||||||
We introduce slip and twin family as additional index (or input) for
|
|
||||||
each crystal structure in lattice.f90 subroutine (e.g., for HCP crystal:
|
|
||||||
slip and twin system has four families, respectively).
|
|
||||||
\end{abstract}
|
|
||||||
|
|
||||||
\section{State Variables in constitutive\_phenoPowerlaw.f90}
|
|
||||||
|
|
||||||
The current State variables in constitutive\_phenoPowerlaw are {}``slip
|
|
||||||
resistance $\left(s^{\alpha}\right)$'', ''twin resistance $\left(s^{\beta}\right)$'',
|
|
||||||
{}``cumulative shear strain $\left(\gamma^{\alpha}\right)$'', and
|
|
||||||
{}``twin volume fraction $\left(f^{\beta}\right)$''. Superscript
|
|
||||||
$\alpha$ and $\beta$ denote to slip and twin systems, respectively,
|
|
||||||
in this entire document.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Considered Deformation Mechanisms}
|
|
||||||
|
|
||||||
Table \ref{Flo:DeformationSystemTable} lists slip/twin systems for
|
|
||||||
the {}``hex (hcp)'' case.\medskip{}
|
|
||||||
|
|
||||||
|
|
||||||
%
|
|
||||||
\begin{table}[tbph]
|
|
||||||
\centering
|
|
||||||
\begin{tabular}{cccc}
|
|
||||||
\toprule
|
|
||||||
\textbf{type} & \textbf{system} & \textbf{plane / direction} & \textbf{multiplicity}\\
|
|
||||||
\midrule
|
|
||||||
slip & basal & $\left\{ 0001\right\} \left\langle 1\bar{2}10\right\rangle $ & 3\\
|
|
||||||
& prism & $\left\{ 10\bar{1}0\right\} \left\langle 1\bar{2}10\right\rangle $ & 3\\
|
|
||||||
& pyr \hkl<a> & $\left\{ 10\bar{1}1\right\} \left\langle 1\bar{2}10\right\rangle $ & 6\\
|
|
||||||
& pyr \hkl<c+a> & $\left\{ 10\bar{1}1\right\} \left\langle 2\bar{1}\bar{1}3\right\rangle $ & 12\\
|
|
||||||
& pyr & $\left\{ 11\bar{2}2\right\} \left\langle 11\bar{2}\bar{3}\right\rangle $ & 6\\
|
|
||||||
\midrule
|
|
||||||
twin & T1 & $\left\{ 10\bar{1}2\right\} \left\langle \bar{1}011\right\rangle $ & 6\\
|
|
||||||
& C1 & $\left\{ 11\bar{2}2\right\} \left\langle 11\bar{2}\bar{3}\right\rangle $ & 6\\
|
|
||||||
& T2 & $\left\{ 11\bar{2}1\right\} \left\langle \bar{1}\bar{1}26\right\rangle $ & 6\\
|
|
||||||
& C2 & $\left\{ 10\bar{1}1\right\} \left\langle 10\bar{1}\bar{2}\right\rangle $ & 6\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}\caption{Implemented deformation mechanims in $\alpha$-Ti }
|
|
||||||
\label{Flo:DeformationSystemTable}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
Slip/twin system for HCP are illustrated in Figures \ref{fig: dislocation slip systems}
|
|
||||||
and \ref{fig: twinning systems}.
|
|
||||||
|
|
||||||
|
|
||||||
%..............FIG...............
|
|
||||||
% === SEM ===
|
|
||||||
\begin{figure}
|
|
||||||
\centering
|
|
||||||
\subfloat[Basal \hkl<a> slip]{%
|
|
||||||
\label{fig: dislocation slip basal}%
|
|
||||||
\includegraphics{slipSystem_basal}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Prismatic \hkl<a> slip]{%
|
|
||||||
\label{fig: dislocation slip prism}%
|
|
||||||
\includegraphics{slipSystem_prismA}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Pyramidal \hkl<a> slip]{%
|
|
||||||
\label{fig: dislocation slip pyramidal a}%
|
|
||||||
\includegraphics{slipSystem_pyrA}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Pyramidal \hkl<c+a> slip]{%
|
|
||||||
\label{fig: dislocation slip pyramidal ca}%
|
|
||||||
\includegraphics{slipSystem_pyrCA}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Pyramidal slip]{%
|
|
||||||
\label{fig: dislocation slip pyramidal ca}%
|
|
||||||
\includegraphics{slipSystem_pyr}}
|
|
||||||
\quad
|
|
||||||
\caption{
|
|
||||||
Dislocation slip systems considered for hexagonal lattice structure.}
|
|
||||||
\label{fig: dislocation slip systems}
|
|
||||||
\end{figure}
|
|
||||||
%...................................
|
|
||||||
|
|
||||||
%..............FIG...............
|
|
||||||
% === SEM ===
|
|
||||||
\begin{figure}
|
|
||||||
\centering
|
|
||||||
\subfloat[Extension (T1)]{%
|
|
||||||
\label{fig: twin T1}%
|
|
||||||
\includegraphics{twinSystem_T1}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Contraction (C1)]{%
|
|
||||||
\label{fig: twin C1}%
|
|
||||||
\includegraphics{twinSystem_C1}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Extension (T2)]{%
|
|
||||||
\label{fig: twin T2}%
|
|
||||||
\includegraphics{twinSystem_T2}}
|
|
||||||
\quad
|
|
||||||
\subfloat[Contraction (C2)]{%
|
|
||||||
\label{fig: twin C2}%
|
|
||||||
\includegraphics{twinSystem_C2}}
|
|
||||||
\quad
|
|
||||||
\caption{
|
|
||||||
Mechanical twinning systems considered for hexagonal lattice structure. Burgers vectors are not drawn to scale.}
|
|
||||||
\label{fig: twinning systems}
|
|
||||||
\end{figure}
|
|
||||||
%...................................
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{Kinetics}
|
|
||||||
|
|
||||||
Shear strain rate due to slip is described by following equation \citet{Salem2005,Wu2007}:\begin{equation}
|
|
||||||
\dot{\gamma}^{\alpha}=\dot{\gamma_{o}}\left|\frac{\tau^{\alpha}}{s^{\alpha}}\right|^{n}sign\left(\tau^{\alpha}\right)\label{eq:slipStrainRate}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
, where $\dot{\gamma}^{\alpha}$; shear strain rate, $\dot{\gamma}_{o}$;
|
|
||||||
reference shear strain rate, $\tau^{\alpha}$; resolved shear stress
|
|
||||||
on the slip system, $n$; stress exponent, and $s^{\alpha}$; slip
|
|
||||||
resistance.
|
|
||||||
|
|
||||||
Twin volume fraction rate is described by following equation \citet{Salem2005,Wu2007}:
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
\dot{f}^{\beta}=\frac{\dot{\gamma_{o}}}{\gamma^{\beta}}\left|\frac{\tau^{\beta}}{s^{\beta}}\right|^{n}\mathbb{\mathcal{H}}\left(\tau^{\beta}\right)\label{eq:twinVolrate}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
, where $\dot{f}^{\beta}$; twin volume fraction rate, $\dot{\gamma}_{o}$;
|
|
||||||
reference shear strain rate, $\gamma^{\beta}$;shear strain due to
|
|
||||||
mechanical twinning, $\tau^{\beta}$; resolved shear stress on the
|
|
||||||
twin system, and $s^{\beta}$; twin resistance. $\mathcal{H}$ is
|
|
||||||
Heaviside function.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Structure Evolution}
|
|
||||||
|
|
||||||
In this present section, we attempt to show how we establish the relationship
|
|
||||||
between the evolutoin of slip/twin resistance and the evolution of
|
|
||||||
shear strain/twin volume fraction.
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Interaction matrix. }
|
|
||||||
|
|
||||||
Conceptual relationship between the evolution of state and kinetic
|
|
||||||
variables is shown in Equation \ref{eq:InteractionMatrix}.
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
\left[\begin{array}{c}
|
|
||||||
\dot{s}^{\alpha}\\
|
|
||||||
\dot{s}^{\beta}\end{array}\right]=\left[\begin{array}{cc}
|
|
||||||
M_{\mathrm{slip-slip}} & M_{\mathrm{slip-twin}}\\
|
|
||||||
M_{\mathrm{twin-slip}} & M_{\mathrm{twin-twin}}\end{array}\right]\left[\begin{array}{c}
|
|
||||||
\dot{\gamma}^{\alpha}\\
|
|
||||||
\gamma^{\beta}\cdot\dot{f}^{\beta}\end{array}\right]\label{eq:InteractionMatrix}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
Four interaction martices are followings; i) slip-slip interaction
|
|
||||||
matrix $\left(M_{\mathrm{{\scriptstyle slip-slip}}}\right)$, ii)
|
|
||||||
slip-twin interaction matrix $\left(M_{\mathrm{slip-twin}}\right)$,
|
|
||||||
iii) twin-slip interaction matrix $\left(M_{\mathrm{twin-slip}}\right)$,
|
|
||||||
and iv) twin-twin interaction matrix $\left(M_{\mathrm{twin-twin}}\right)$.
|
|
||||||
|
|
||||||
Detailed interaction type matrices in Equation \ref{eq:InteractionMatrix}
|
|
||||||
will be further discussed in the following Section.
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Interaction type matrix}
|
|
||||||
|
|
||||||
Following sections are sparated into four based on each interaction
|
|
||||||
type matrix alluded. Numbers in Tables \ref{Flo:SlipSlipIntTypeTable},
|
|
||||||
\ref{Flo:SlipTwinIntTypeTable}, \ref{Flo:TwinSlipIntTypeTable},
|
|
||||||
and \ref{Flo:TwinTwinIntTypeTable} denote the type of interaction
|
|
||||||
between deformation systems (The first column vs. The first row).
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Slip-Slip interaction type matrix}
|
|
||||||
\begin{itemize}
|
|
||||||
\item There are 20 types of slip-slip interaction as shown in Table \ref{Flo:SlipSlipIntTypeTable}.
|
|
||||||
\item In Table \ref{Flo:SlipSlipIntTypeTable}, types of latent hardening
|
|
||||||
among slip systems are listed.
|
|
||||||
\item Actual slip-slip interaction type matrix, $M_{\mathrm{slip-slip}}^{'}$,
|
|
||||||
is listed in Equation \ref{eq:SlipSlipIntMatrix}.
|
|
||||||
\end{itemize}
|
|
||||||
%
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{centering}
|
|
||||||
\begin{tabular}{ccccc}
|
|
||||||
\toprule
|
|
||||||
& basal & prism & pyr \hkl<a> & pyr\hkl<c+a>\\
|
|
||||||
\midrule
|
|
||||||
basal & 1, 5 & 9 & 12 & 14\\
|
|
||||||
prism & 15 & 2, 6 & 10 & 13\\
|
|
||||||
pyr \hkl<a> & 18 & 16 & 3, 7 & 11\\
|
|
||||||
pyr \hkl<c+a> & 20 & 19 & 17 & 4, 8\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\par\end{centering}
|
|
||||||
|
|
||||||
\caption{Slip--slip interaction type}
|
|
||||||
\label{Flo:SlipSlipIntTypeTable}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{slip-slip}}^{'}=\left[\begin{array}{ccc|ccc|cccccc|cccccccccccc}
|
|
||||||
1 & 5 & 5 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
& 1 & 5 & \cdot & 9 & \cdot & \cdot & \cdot & 12 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 14 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
& & 1 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\hline \cdot & \cdot & \cdot & 2 & 6 & 6 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & 15 & \cdot & & 2 & 6 & \cdot & \cdot & 10 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 13 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & & & 2 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\hline \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 3 & 7 & 7 & 7 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & 3 & 7 & 7 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & 3 & 7 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & 11 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & 18 & \cdot & \cdot & 16 & \cdot & & & & 3 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & 3 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & 3 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\hline \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 4 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & 4 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & 4 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & 4 & 8 & 8 & 8 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & 20 & \cdot & \cdot & 19 & \cdot & \cdot & \cdot & 17 & \cdot & \cdot & \cdot & & & & & 4 & 8 & 8 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & 4 & 8 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & & 4 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & & & 4 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & & & & 4 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & & & & & 4 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & & & & & & 4 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & & & & & & & 4\end{array}\right]\label{eq:SlipSlipIntMatrix}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
\vfill{}
|
|
||||||
\vfill{}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Slip-Twin interaction type matrix}
|
|
||||||
\begin{itemize}
|
|
||||||
\item There are 16 types of slip-twin interaction in Table \ref{Flo:SlipTwinIntTypeTable}.
|
|
||||||
\item Meaning of T1, C1, T2, C2 is listed in Table \ref{Flo:DeformationSystemTable}.
|
|
||||||
\item Actual slip-twin interaction type matrix, $M_{\mathrm{slip-twin}}^{'}$,
|
|
||||||
is listed in Equation \ref{eq:SlipTwinIntMatrix}.
|
|
||||||
\end{itemize}
|
|
||||||
%
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{centering}
|
|
||||||
\begin{tabular}{ccccc}
|
|
||||||
\toprule
|
|
||||||
& T1 & C1 & T2 & C1\\
|
|
||||||
\midrule
|
|
||||||
basal & 1 & 2 & 3 & 4\\
|
|
||||||
prism & 5 & 6 & 7 & 8\\
|
|
||||||
pyr \hkl<a> & 9 & 10 & 11 & 12\\
|
|
||||||
pyr \hkl<c+a> & 13 & 14 & 15 & 16\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\par\end{centering}
|
|
||||||
|
|
||||||
\caption{Slip-twin interaction type}
|
|
||||||
\label{Flo:SlipTwinIntTypeTable}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{slip-twin}}^{'}=\left[\begin{array}{c|c|c|c}
|
|
||||||
1 & 2 & 3 & 4\\
|
|
||||||
\hline 5 & 6 & 7 & 8\\
|
|
||||||
\hline 9 & 10 & 11 & 12\\
|
|
||||||
\hline 13 & 14 & 15 & 16\end{array}\right]\label{eq:SlipTwinIntMatrix}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Twin-Slip interaction type matrix}
|
|
||||||
\begin{itemize}
|
|
||||||
\item There 16 types of twin-slip interaction in Table \ref{Flo:TwinSlipIntTypeTable}.
|
|
||||||
\item Meaning of T1, C1, T2, C2 is listed in Table \ref{Flo:DeformationSystemTable}.
|
|
||||||
\item Actual twin-slip interaction type matrix, $M_{\mathrm{twin-slip}}^{'}$,
|
|
||||||
is listed in Equation \ref{eq:TwinSlipIntMatrix}.
|
|
||||||
\end{itemize}
|
|
||||||
%
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{centering}
|
|
||||||
\begin{tabular}{ccccc}
|
|
||||||
\toprule
|
|
||||||
& basal & prism & pyr \hkl<a> & pyr \hkl<c+a>\\
|
|
||||||
\midrule
|
|
||||||
T1 & 1 & 5 & 9 & 13\\
|
|
||||||
C1 & 2 & 6 & 10 & 14\\
|
|
||||||
T2 & 3 & 7 & 11 & 15\\
|
|
||||||
C2 & 4 & 8 & 12 & 16\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\par\end{centering}
|
|
||||||
|
|
||||||
\caption{Twin-slip interaction type}
|
|
||||||
\label{Flo:TwinSlipIntTypeTable}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{twin-slip}}^{'}=\left[\begin{array}{c|c|c|c}
|
|
||||||
1 & 5 & 9 & 13\\
|
|
||||||
\hline 2 & 6 & 10 & 14\\
|
|
||||||
\hline 3 & 7 & 11 & 15\\
|
|
||||||
\hline 4 & 8 & 12 & 16\end{array}\right]\label{eq:TwinSlipIntMatrix}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Twin-twin interaction type matrix}
|
|
||||||
\begin{itemize}
|
|
||||||
\item There are 20 types of twin-twin interaction as shown in Table \ref{Flo:TwinTwinIntTypeTable}.
|
|
||||||
\item In Table \ref{Flo:TwinTwinIntTypeTable}, types of latent hardening
|
|
||||||
among twin systems are listed.
|
|
||||||
\item Actual twin-twin interaction type marix, $M_{\mathrm{twin-twin}}^{'}$,
|
|
||||||
is listed in Equation \ref{eq:TwinTwinIntMatrix}.
|
|
||||||
\end{itemize}
|
|
||||||
%
|
|
||||||
\begin{table}[H]
|
|
||||||
\begin{centering}
|
|
||||||
\begin{tabular}{ccccc}
|
|
||||||
\toprule
|
|
||||||
& T1 & C1 & T2 & C2\\
|
|
||||||
\midrule
|
|
||||||
T1 & 1, 5 & 9 & 12 & 14\\
|
|
||||||
C1 & 15 & 2, 6 & 10 & 13\\
|
|
||||||
T2 & 18 & 16 & 3, 7 & 11\\
|
|
||||||
C2 & 20 & 19 & 17 & 4, 8\\
|
|
||||||
\bottomrule
|
|
||||||
\end{tabular}
|
|
||||||
\par\end{centering}
|
|
||||||
|
|
||||||
\caption{Twin-twin interaction type}
|
|
||||||
\label{Flo:TwinTwinIntTypeTable}
|
|
||||||
\end{table}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{twin-twin}}^{'}=\left[\begin{array}{cccccc|cccccc|cccccc|cccccc}
|
|
||||||
1 & 5 & 5 & 5 & 5 & 5 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
& 1 & 5 & 5 & 5 & 5 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
& & 1 & 5 & 5 & 5 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
& & & 1 & 5 & 5 & \cdot & \cdot & \cdot & 9 & \cdot & \cdot & \cdot & \cdot & \cdot & 12 & \cdot & \cdot & \cdot & \cdot & \cdot & 14 & \cdot & \cdot\\
|
|
||||||
& & & & 1 & 5 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
& & & & & 1 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\hline \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 2 & 6 & 6 & 6 & 6 & 6 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & 2 & 6 & 6 & 6 & 6 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & 2 & 6 & 6 & 6 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & 15 & \cdot & \cdot & & & & 2 & 6 & 6 & \cdot & \cdot & \cdot & 10 & \cdot & \cdot & \cdot & \cdot & \cdot & 13 & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & 2 & 6 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & 2 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\hline \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 3 & 7 & 7 & 7 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & 3 & 7 & 7 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & 3 & 7 & 7 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & 18 & \cdot & \cdot & \cdot & \cdot & \cdot & 16 & \cdot & \cdot & & & & 3 & 7 & 7 & \cdot & \cdot & \cdot & 11 & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & 3 & 7 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & 3 & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot\\
|
|
||||||
\hline \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & 4 & 8 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & 4 & 8 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & 4 & 8 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & 20 & \cdot & \cdot & \cdot & \cdot & \cdot & 19 & \cdot & \cdot & \cdot & \cdot & \cdot & 17 & \cdot & \cdot & & & & 4 & 8 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & 4 & 8\\
|
|
||||||
\cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & \cdot & & & & & & 4\end{array}\right]\label{eq:TwinTwinIntMatrix}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Prefactor (nonlinear factor)}
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Prefactors for slip resistance $\left(s^{\alpha}\right)$; $M_{\mathrm{slip-slip}}$
|
|
||||||
and $M_{\mathrm{slip-twin}}$\citet{Wu2007}}
|
|
||||||
|
|
||||||
$M_{\mathrm{slip-slip}}$ and $M_{\mathrm{slip-twin}}$ use for slip
|
|
||||||
resistance evolution $\left(\dot{s}^{\alpha}\right)$. Equation \ref{eq:SlipResisEvolutionEq}
|
|
||||||
is for a slip resistance rate evolution. This currently shows the
|
|
||||||
prefactor for {}``slip-slip interaction matrix, $M_{\mathrm{slip-slip}}$''.
|
|
||||||
|
|
||||||
\medskip{}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{slip-slip}}=h_{\mathrm{slip}}\left(1+C\cdot F^{b}\right)\left(1-\frac{s^{\alpha}}{s_{so}^{\alpha}+s_{\mathrm{pr}}\cdot\sqrt{F}}\right)\cdot M_{\mathrm{slip-slip}}^{'}\label{eq:SlipResisEvolutionEq}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
\medskip{}
|
|
||||||
|
|
||||||
|
|
||||||
, where $h_{\mathrm{slip}}$represent a hardening rate, and $S_{\mathrm{so}}^{\alpha}$
|
|
||||||
saturation slip resistance for slip system without mechanical twinning
|
|
||||||
$\left(\sum_{\beta}f^{\beta}=0\right)$, respectively. And, $F$ is
|
|
||||||
$\sum_{\beta}f^{\beta}$, and $N^{S}$is the total number of slip
|
|
||||||
system.$C$, $s_{\mathrm{pr}}$, and $b$ are coefficients to introduce
|
|
||||||
the effect of interaction between slip and mechanical twin in Equation
|
|
||||||
\ref{eq:SlipResisEvolutionEq}.
|
|
||||||
\begin{itemize}
|
|
||||||
\item Slip-twin interaction matrix, $M_{\mathrm{slip-twin}}$, has not been
|
|
||||||
implemented with any prefactor in the present version.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\subsubsection{Prefactors for twin resistance $\left(s^{\beta}\right)$; $M_{\mathrm{twin-slip}}$
|
|
||||||
and $M_{\mathrm{twin-twin}}$\citet{Salem2005}}
|
|
||||||
|
|
||||||
$M_{\mathrm{twin-sli}p}$ and $M_{\mathrm{twin-twin}}$ use for twin
|
|
||||||
resistance evolution $\left(\dot{s}^{\beta}\right)$. Twin-twin and
|
|
||||||
twin-slip interaction matrices are described in Equations \ref{eq:TwinTwinContributionToTwinResis}
|
|
||||||
and \ref{eq:TwinSlipContributionToTwinResis}. \medskip{}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{twin-twin}}=h_{\mathrm{tw}}\cdot F^{d}\cdot M_{\mathrm{twin-twin}}^{'}\label{eq:TwinTwinContributionToTwinResis}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
,where $h_{\mathrm{tw}}$ and $d$ are coefficients for twin-twin
|
|
||||||
contribution. $F$ is $\sum_{\beta}f^{\beta}$.
|
|
||||||
|
|
||||||
\medskip{}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{equation}
|
|
||||||
M_{\mathrm{twin-slip}}=h_{\mathrm{tw-sl}}\cdot\Gamma^{e}\cdot M_{\mathrm{twin-slip}}^{'}\label{eq:TwinSlipContributionToTwinResis}\end{equation}
|
|
||||||
|
|
||||||
|
|
||||||
,where $h_{\mathrm{tw-sl}}$ and $e$ are coefficients for twin-slip
|
|
||||||
contribution, and $\Gamma=\sum_{\alpha}\gamma^{\alpha}$.
|
|
||||||
|
|
||||||
\clearpage{}
|
|
||||||
|
|
||||||
|
|
||||||
\section{Material Parameters (Material Configuration file)}
|
|
||||||
|
|
||||||
%
|
|
||||||
\begin{figure}[tbph]
|
|
||||||
\begin{centering}
|
|
||||||
\includegraphics[clip,scale=0.6]{figures/ExpectedMaterialConfigFile}\caption{Expected of phenomenological modelling parameters.}
|
|
||||||
\label{Fig:ModelParameters}
|
|
||||||
\par\end{centering}
|
|
||||||
|
|
||||||
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item The sequence for hardening coefficients in Figure \ref{Fig:ModelParameters}
|
|
||||||
is the sequence of numbering in Tables \ref{Flo:SlipSlipIntTypeTable},
|
|
||||||
\ref{Flo:SlipTwinIntTypeTable}, \ref{Flo:TwinSlipIntTypeTable},
|
|
||||||
and \ref{Flo:TwinTwinIntTypeTable} above.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\clearpage{}
|
|
||||||
\bibliographystyle{plainnat}
|
|
||||||
\bibliography{MPIEyjr}
|
|
||||||
|
|
||||||
\end{document}
|
|
|
@ -1,43 +0,0 @@
|
||||||
%% LyX 1.6.2 created this file. For more info, see http://www.lyx.org/.
|
|
||||||
%% Do not edit unless you really know what you are doing.
|
|
||||||
\documentclass[letterpaper,landscape,english]{scrartcl}
|
|
||||||
\usepackage[T1]{fontenc}
|
|
||||||
\usepackage[latin9]{inputenc}
|
|
||||||
\usepackage{array}
|
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
|
|
||||||
\special{papersize=\the\paperwidth,\the\paperheight}
|
|
||||||
|
|
||||||
%% Because html converters don't know tabularnewline
|
|
||||||
\providecommand{\tabularnewline}{\\}
|
|
||||||
|
|
||||||
\usepackage{babel}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\title{Example Interaction Coefficient Input in Material.config file}
|
|
||||||
|
|
||||||
|
|
||||||
\author{YUNJO RO}
|
|
||||||
|
|
||||||
\maketitle
|
|
||||||
\begin{center}
|
|
||||||
{\footnotesize }\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
|
|
||||||
\hline
|
|
||||||
\textbf{\footnotesize type} & \textbf{\footnotesize 1} & \textbf{\footnotesize 2} & \textbf{\footnotesize 3} & \textbf{\footnotesize 4} & \textbf{\footnotesize 5} & \textbf{\footnotesize 6} & \textbf{\footnotesize 7} & \textbf{\footnotesize 8} & \textbf{\footnotesize 9} & \textbf{\footnotesize 10} & \textbf{\footnotesize 11} & \textbf{\footnotesize 12} & \textbf{\footnotesize 13} & \textbf{\footnotesize 14} & \textbf{\footnotesize 15} & \textbf{\footnotesize 16} & \textbf{\footnotesize 17} & \textbf{\footnotesize 18} & \textbf{\footnotesize 19} & \textbf{\footnotesize 20}\tabularnewline
|
|
||||||
\hline
|
|
||||||
\textbf{\footnotesize interaction\_slipslip} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 5.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0}\tabularnewline
|
|
||||||
\hline
|
|
||||||
\textbf{\footnotesize interaction}{\footnotesize \_}\textbf{\footnotesize sliptwin} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & & & & \tabularnewline
|
|
||||||
\hline
|
|
||||||
\textbf{\footnotesize interaction\_twinslip} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & & & & \tabularnewline
|
|
||||||
\hline
|
|
||||||
\textbf{\footnotesize interaction\_twintwin} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0} & {\footnotesize 1.0}\tabularnewline
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\par\end{center}{\footnotesize \par}
|
|
||||||
|
|
||||||
Please check {}``ConstitutivePhenoPowerLaw.pdf'' in this folder
|
|
||||||
to check meaning of type 1-20 (the first row in the Table above).
|
|
||||||
\end{document}
|
|
Before Width: | Height: | Size: 279 KiB |
|
@ -1,74 +0,0 @@
|
||||||
#####################
|
|
||||||
<homogenization>
|
|
||||||
#####################
|
|
||||||
|
|
||||||
[SX]
|
|
||||||
type Taylor
|
|
||||||
Ngrains 1
|
|
||||||
|
|
||||||
[RGC]
|
|
||||||
type RGC
|
|
||||||
Ngrains 8
|
|
||||||
|
|
||||||
[Taylor4]
|
|
||||||
type Taylor
|
|
||||||
Ngrains 4
|
|
||||||
|
|
||||||
#####################
|
|
||||||
<microstructure>
|
|
||||||
#####################
|
|
||||||
|
|
||||||
[cp-Ti_Grain_1]
|
|
||||||
(constituent) phase 1 texture 1 fraction 1.0
|
|
||||||
|
|
||||||
|
|
||||||
#####################
|
|
||||||
<phase>
|
|
||||||
#####################
|
|
||||||
|
|
||||||
[cp-Ti]
|
|
||||||
constitution phenopowerlaw
|
|
||||||
(output) slipresistance
|
|
||||||
(output) rateofshear
|
|
||||||
(output) twinresistance
|
|
||||||
(output) twinVolfrac
|
|
||||||
(output) rateoftwinVolfrac
|
|
||||||
(output) tauSlip
|
|
||||||
(output) tauTwin
|
|
||||||
lattice_structure hex
|
|
||||||
covera_ratio 1.587
|
|
||||||
Nslip 3 3 6 12
|
|
||||||
Ntwin 6 6 6 6
|
|
||||||
C11 162e9
|
|
||||||
C12 92e9
|
|
||||||
C13 69e9
|
|
||||||
C33 181e9
|
|
||||||
C44 47e9
|
|
||||||
|
|
||||||
gdot0_slip 0.001
|
|
||||||
n_slip 50.0
|
|
||||||
s0_slip 65e6 22e6 50e6 50e6
|
|
||||||
s_sat_slip 180e6 80e6 180e6 180e6
|
|
||||||
gdot0_twin 0.001
|
|
||||||
n_twin 50.0
|
|
||||||
s0_twin 70e6 70e6 250e8 250e8
|
|
||||||
s_pr 100e6
|
|
||||||
twin_b 25
|
|
||||||
twin_c 2
|
|
||||||
twin_d 0.0
|
|
||||||
twin_e 0.0
|
|
||||||
h0_slipslip 60e6
|
|
||||||
h0_sliptwin 0.0
|
|
||||||
h0_twinslip 0.0
|
|
||||||
h0_twintwin 0.0
|
|
||||||
interaction_slipslip 1.0 1.0 1.0 1.0 1.0 5.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
|
|
||||||
interaction_sliptwin 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
|
|
||||||
interaction_twinslip 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
|
|
||||||
interaction_twintwin 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
|
|
||||||
|
|
||||||
#####################
|
|
||||||
<texture>
|
|
||||||
####################
|
|
||||||
|
|
||||||
[Grain_1]
|
|
||||||
(gauss) phi1 0.000000 phi 0.00000 phi2 0.00000 scatter 0.0 fraction 1.0
|
|
|
@ -1,35 +0,0 @@
|
||||||
% This file was created with JabRef 2.5.
|
|
||||||
% Encoding: Cp1252
|
|
||||||
|
|
||||||
@BOOK{Bunge1982,
|
|
||||||
title = {Texture Analysis in Materials Science},
|
|
||||||
publisher = {Butterworths Publishers},
|
|
||||||
year = {1982},
|
|
||||||
author = {H.J. Bunge},
|
|
||||||
address = {London},
|
|
||||||
owner = {c.zambaldi},
|
|
||||||
timestamp = {2008.10.21}
|
|
||||||
}
|
|
||||||
|
|
||||||
@ARTICLE{Roters2010,
|
|
||||||
author = {F. Roters and P. Eisenlohr and L. Hantcherli and D. D. Tjahjanto
|
|
||||||
and T. R. Bieler and D. Raabe},
|
|
||||||
title = {Overview of constitutive laws, kinematics, homogenization, and multiscale
|
|
||||||
methods in crystal plasticity finite element modeling: theory, experiments,
|
|
||||||
applications},
|
|
||||||
journal = {Acta Materialia},
|
|
||||||
year = {2010},
|
|
||||||
volume = {58},
|
|
||||||
pages = {1152--1211},
|
|
||||||
number = {4},
|
|
||||||
doi = {10.1016/j.actamat.2009.10.058}
|
|
||||||
}
|
|
||||||
|
|
||||||
@comment{jabref-meta: selector_publisher:}
|
|
||||||
|
|
||||||
@comment{jabref-meta: selector_author:}
|
|
||||||
|
|
||||||
@comment{jabref-meta: selector_journal:}
|
|
||||||
|
|
||||||
@comment{jabref-meta: selector_keywords:}
|
|
||||||
|
|
|
@ -1,239 +0,0 @@
|
||||||
\documentclass[USenglish]{scrbook}
|
|
||||||
|
|
||||||
\usepackage{graphicx}
|
|
||||||
\graphicspath{
|
|
||||||
{figures/}
|
|
||||||
{../NSD/}
|
|
||||||
}
|
|
||||||
\DeclareGraphicsExtensions{.pdf,.png}
|
|
||||||
\usepackage[authoryear,sort&compress]{natbib}
|
|
||||||
\usepackage[usenames,dvipsnames]{color}
|
|
||||||
\usepackage[pdftex, % hyper-references for pdftex
|
|
||||||
bookmarksnumbered=true,% % generate bookmarks with numbers
|
|
||||||
pagebackref=true,% % generate backref in biblio
|
|
||||||
colorlinks=true,%
|
|
||||||
linkcolor=MidnightBlue,%
|
|
||||||
citecolor=MidnightBlue,%
|
|
||||||
breaklinks=true,%
|
|
||||||
]{hyperref}%
|
|
||||||
|
|
||||||
\hypersetup{
|
|
||||||
pdfauthor = {Claudio Zambaldi, Philip Eisenlohr},
|
|
||||||
pdftitle = {Manual to the Material Point Model developed at the Max-Planck-Institut f\"ur Eisenforschung},
|
|
||||||
pdfsubject = {},
|
|
||||||
pdfkeywords = {},
|
|
||||||
pdfcreator = {},
|
|
||||||
pdfproducer = {pdftex}%,
|
|
||||||
%pdfpagemode={FullScreen}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
\usepackage{amsmath,amssymb,amsfonts}
|
|
||||||
\usepackage{bm}
|
|
||||||
\usepackage{miller}
|
|
||||||
%\usepackage[alsoload={accepted,named,prefix}]{siunitx}
|
|
||||||
\usepackage{siunitx}
|
|
||||||
\usepackage{booktabs}
|
|
||||||
\usepackage{longtable}
|
|
||||||
\usepackage[indent,bf,tableposition=top]{caption} % Einstellen des caption-Stils, war caption2
|
|
||||||
\usepackage[format=hang]{subfig}
|
|
||||||
\usepackage{tocbibind}
|
|
||||||
\usepackage[bookman]{quotchap}
|
|
||||||
\usepackage{csquotes} % consistent quoting by \enquote{...}
|
|
||||||
\usepackage{listings}
|
|
||||||
%\lstloadlanguages{bash,fortran}
|
|
||||||
\lstset{language={},
|
|
||||||
lineskip=4pt,
|
|
||||||
frame=none,
|
|
||||||
framesep=0mm,
|
|
||||||
framexleftmargin=5mm,
|
|
||||||
framexrightmargin=5mm,
|
|
||||||
framextopmargin=5mm,
|
|
||||||
framexbottommargin=5mm,
|
|
||||||
xleftmargin=10mm,
|
|
||||||
xrightmargin=10mm,
|
|
||||||
% numbers=left,
|
|
||||||
stepnumber=1,
|
|
||||||
numbersep=5pt,
|
|
||||||
numberstyle=\tiny,
|
|
||||||
breaklines=true,
|
|
||||||
breakautoindent=true,
|
|
||||||
postbreak=...,%\space,
|
|
||||||
tabsize=2,
|
|
||||||
basicstyle=\ttfamily\footnotesize,
|
|
||||||
showspaces=false,
|
|
||||||
showstringspaces=false,
|
|
||||||
extendedchars=true,
|
|
||||||
backgroundcolor=\color{white}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
\newlength{\diagramsize}
|
|
||||||
\setlength{\diagramsize}{0.9\textwidth}
|
|
||||||
|
|
||||||
\setcounter{tocdepth}{2}
|
|
||||||
|
|
||||||
\newcommand{\includepath}{include}
|
|
||||||
|
|
||||||
\newcommand{\ie}{\textit{i.e.}}
|
|
||||||
\newcommand{\eg}{\textit{e.g.}}
|
|
||||||
\newcommand{\cf}{\textit{cf.}}
|
|
||||||
\newcommand{\etal}{\textit{et al.}}
|
|
||||||
\newcommand{\Euler}{\textsc{Euler}}
|
|
||||||
\newcommand{\OneD}{\hbox{1-D}}
|
|
||||||
\newcommand{\TwoD}{\hbox{2-D}}
|
|
||||||
\newcommand{\ThreeD}{\hbox{3-D}}
|
|
||||||
|
|
||||||
\DeclareMathOperator{\sign}{sgn}
|
|
||||||
\DeclareMathOperator{\divergence}{div}
|
|
||||||
\DeclareMathOperator{\grad}{grad}
|
|
||||||
\DeclareMathOperator{\curl}{curl}
|
|
||||||
\DeclareMathOperator{\Divergence}{Div}
|
|
||||||
\DeclareMathOperator{\Grad}{Grad}
|
|
||||||
\DeclareMathOperator{\Curl}{Curl}
|
|
||||||
|
|
||||||
\newcommand{\tnsr}[1]{\ensuremath{\bm{#1}}}
|
|
||||||
\newcommand{\vctr}[1]{\ensuremath{\bm{#1}}}
|
|
||||||
|
|
||||||
\newcommand{\inc}{\ensuremath{\mathrm d}}
|
|
||||||
|
|
||||||
\newcommand{\transpose}[1]{\ensuremath{{#1}^{\text T}}}
|
|
||||||
\newcommand{\inverse}[1]{\ensuremath{{#1}^{-1}}}
|
|
||||||
\newcommand{\invtranspose}[1]{\ensuremath{{#1}^{\text{-T}}}}
|
|
||||||
|
|
||||||
\newcommand{\eyetwo}{\ensuremath{\tnsr{I}}}
|
|
||||||
\newcommand{\eyefour}{\ensuremath{\mathbb{I}}}
|
|
||||||
\newcommand{\F}{\ensuremath{\tnsr F}}
|
|
||||||
\newcommand{\Fp}{\ensuremath{\tnsr F_\text{p}}}
|
|
||||||
\newcommand{\Fe}{\ensuremath{\tnsr F _\text{e}}}
|
|
||||||
\newcommand{\Ftr}{\ensuremath{\tnsr F _\text{tr}}}
|
|
||||||
\newcommand{\E}{\ensuremath{\tnsr E}}
|
|
||||||
\newcommand{\GL}{\ensuremath{\tnsr E_\text{e}}}
|
|
||||||
\newcommand{\fPK}{\ensuremath{\tnsr P}}
|
|
||||||
\newcommand{\sPK}{\ensuremath{\tnsr S}}
|
|
||||||
\newcommand{\etap}{\ensuremath{\eta_\text{p}}}
|
|
||||||
\newcommand{\etae}{\ensuremath{\eta_\text{e}}}
|
|
||||||
\newcommand{\etatr}{\ensuremath{\eta_\text{tr}}}
|
|
||||||
\newcommand{\dtF}{\ensuremath{\dot{\tnsr F}}}
|
|
||||||
\newcommand{\dtFp}{\ensuremath{\dot{\tnsr F}_\text{p}}}
|
|
||||||
\newcommand{\dtFe}{\ensuremath{\dot{\tnsr F}_\text{e}}}
|
|
||||||
\newcommand{\dtetap}{\ensuremath{\dot{\eta}_\text{p}}}
|
|
||||||
\newcommand{\Lp}{\ensuremath{\tnsr L_\text{p}}}
|
|
||||||
\newcommand{\Je}{\ensuremath{J_\text{e}}}
|
|
||||||
\newcommand{\Jtr}{\ensuremath{J_\text{tr}}}
|
|
||||||
\newcommand{\thetatr}{\ensuremath{\theta_\text{tr}}}
|
|
||||||
\newcommand{\Elasticity}{\ensuremath{\mathbb{C}}}
|
|
||||||
\newcommand{\Cauchy}{\ensuremath{\boldsymbol{\sigma}}}
|
|
||||||
\newcommand{\Ntwin}{\ensuremath{N_\text{twin}}}
|
|
||||||
\newcommand{\Nslip}{\ensuremath{N_\text{slip}}}
|
|
||||||
\newcommand{\testfnc}{\ensuremath{\delta\vctr v}}
|
|
||||||
|
|
||||||
% Reference formats
|
|
||||||
\newcommand{\fref}[1]{figure~\ref{#1}} % figure x
|
|
||||||
\newcommand{\Fref}[1]{Figure~\ref{#1}} % Figure x
|
|
||||||
\newcommand{\fsref}[1]{figures~\ref{#1}} % figures x
|
|
||||||
\newcommand{\Fsref}[1]{Figures~\ref{#1}} % Figures x
|
|
||||||
|
|
||||||
\newcommand{\tref}[1]{table~\ref{#1}} % tabke x
|
|
||||||
\newcommand{\Tref}[1]{Table~\ref{#1}} % Table x
|
|
||||||
\newcommand{\tsref}[1]{tables~\ref{#1}} % tables x
|
|
||||||
\newcommand{\Tsref}[1]{Tables~\ref{#1}} % Tables x
|
|
||||||
|
|
||||||
\newcommand{\eref}[1]{equation~\eqref{#1}} % equation (x)
|
|
||||||
\newcommand{\Eref}[1]{Equation~\eqref{#1}} % Equation (x)
|
|
||||||
\newcommand{\esref}[1]{equations~\eqref{#1}} % equations (x)
|
|
||||||
\newcommand{\Esref}[1]{Equations~\eqref{#1}} % Equations (x)
|
|
||||||
|
|
||||||
\newcommand{\cref}[1]{chapter~\ref{#1}} % chapter x
|
|
||||||
\newcommand{\Cref}[1]{Chapter~\ref{#1}} % Chapter x
|
|
||||||
\newcommand{\csref}[1]{chapters~\ref{#1}} % chapters x
|
|
||||||
\newcommand{\Csref}[1]{Chapters~\ref{#1}} % Chapters x
|
|
||||||
|
|
||||||
\newcommand{\sref}[1]{section~\ref{#1}} % section x
|
|
||||||
\newcommand{\Sref}[1]{Section~\ref{#1}} % Section x
|
|
||||||
\newcommand{\ssref}[1]{sections~\ref{#1}} % sections x
|
|
||||||
\newcommand{\Ssref}[1]{Sections~\ref{#1}} % Sections x
|
|
||||||
|
|
||||||
% text formatting
|
|
||||||
\newcommand{\term}[1]{\emph{#1}}
|
|
||||||
\newcommand{\reminder}[1]{\textcolor{Red}{#1}}
|
|
||||||
\newcommand{\remark}[1]{\textcolor{CornflowerBlue}{#1}}
|
|
||||||
|
|
||||||
% Change Layout of Backref
|
|
||||||
\renewcommand*{\backref}[1]{%
|
|
||||||
% default interface
|
|
||||||
% #1: backref list
|
|
||||||
%
|
|
||||||
% We want to use the alternative interface,
|
|
||||||
% therefore the definition is empty here.
|
|
||||||
}%
|
|
||||||
\renewcommand*{\backrefalt}[4]{%
|
|
||||||
% alternative interface
|
|
||||||
% #1: number of distinct back references
|
|
||||||
% #2: backref list with distinct entries
|
|
||||||
% #3: number of back references including duplicates
|
|
||||||
% #4: backref list including duplicates
|
|
||||||
|
|
||||||
\scriptsize
|
|
||||||
\begin{flushright}
|
|
||||||
Cited%
|
|
||||||
%~#3 %
|
|
||||||
%\ifnum#3=1 %
|
|
||||||
%time%
|
|
||||||
%\else
|
|
||||||
%times%
|
|
||||||
%\fi
|
|
||||||
~on page%
|
|
||||||
\ifnum#1>1 %
|
|
||||||
s%
|
|
||||||
\fi
|
|
||||||
~#2%
|
|
||||||
.%
|
|
||||||
\end{flushright}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
\title{Manual\\[1cm]Material Point Model \\[3mm] \normalsize developed at the \\[3mm] Max-Planck-Institut f\"ur Eisenforschung}
|
|
||||||
\author{Claudio Zambaldi \and Philip Eisenlohr}
|
|
||||||
\maketitle
|
|
||||||
|
|
||||||
%\includeonly{}
|
|
||||||
|
|
||||||
\frontmatter
|
|
||||||
%\include{foreword}
|
|
||||||
\tableofcontents
|
|
||||||
\listoftables
|
|
||||||
\listoffigures
|
|
||||||
%\include{include/preface}
|
|
||||||
\mainmatter
|
|
||||||
|
|
||||||
\renewcommand{\chaptermark}[1]{\markboth{{\thechapter\ \ #1}}{}}
|
|
||||||
|
|
||||||
\input{include/Preliminaries}
|
|
||||||
\part{Praxis}
|
|
||||||
%\input{include/Installation}
|
|
||||||
\input{include/CodeOrganization}
|
|
||||||
\part{Theory}
|
|
||||||
\input{include/Homogenization}
|
|
||||||
\input{include/ConstitutiveLaws}
|
|
||||||
\input{include/ApplicationNotes}
|
|
||||||
\input{include/Postprocessing}
|
|
||||||
\input{include/Examples}
|
|
||||||
|
|
||||||
|
|
||||||
\appendix
|
|
||||||
\cleardoublepage \phantomsection % set the hyperref anchor at the right position
|
|
||||||
|
|
||||||
\input{include/Crystallography}
|
|
||||||
|
|
||||||
\chapter{Related works}
|
|
||||||
\section{Publications}
|
|
||||||
|
|
||||||
\section{PhD thesises}
|
|
||||||
KuoDiss MaDiss ZaafaraniDiss
|
|
||||||
|
|
||||||
\bibliographystyle{plainnat}
|
|
||||||
\bibliography{MPIE_CPFEM_manual}
|
|
||||||
|
|
||||||
\end{document}
|
|
|
@ -1,31 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Application notes for different finite elements systems}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
\section{MSC.MARC/Mentat}
|
|
||||||
In MARC the CPFEM routine is interfaced through the {\ttfamily hypela2} subroutine. The routine {\ttfamily makeMe.py} produces the interface files such as {\ttfamily mpie\_cpfem\_marc2008r1.f90} that will can be called by the different MARC releases.
|
|
||||||
|
|
||||||
Necessary changes in the submit scripts
|
|
||||||
|
|
||||||
Model definition for using the subroutine: In MARC, state variable 1 defines the temperature in Kelvin. State variables 2 and 3 define the homogenization and microstructure, respectively.
|
|
||||||
|
|
||||||
Analysis options to invoke: Large Strain, Updated Lagrange. For most problems, using a constant dilatation formulation is important for robustness of the simulations.
|
|
||||||
%The analysis options are most conveniently defined through a procedure file.
|
|
||||||
|
|
||||||
\subsection{Utility scripts}
|
|
||||||
\begin{itemize}
|
|
||||||
\item marcAddUserOutput.py [<No. of UserVars>] marcinput --- adds UserVariables to the marcinput file under the post section
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\subsection{Practical hints}
|
|
||||||
A copy of the subroutine on the home directory on the SAN makes the routine accessible from all workstations under /san/arbitraryfoldername/code/*.f90 .
|
|
||||||
Under windows it is beneficial to keep an additional local copy of the routine to work with TortoiseSVN, since the change of folder icons seems to not work on the SAN.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Troubleshooting}
|
|
||||||
\subsection{Inside out element error}
|
|
||||||
An inside out element error can occur if the number of increment is chosen too small. This was observed for revision 539 using the pheno-powerlaw constitutive formulation on a particle in mesh problem.
|
|
||||||
|
|
||||||
\section{Abaqus}
|
|
||||||
Differences to Marc.
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Organization of the code}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
\input{include/org_code}
|
|
||||||
\input{include/org_documentation}
|
|
||||||
\input{include/org_processing}
|
|
||||||
\input{include/org_testing}
|
|
||||||
\input{include/org_installation}
|
|
|
@ -1,11 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Constitutive Laws}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
\section{phenoPowerlaw}
|
|
||||||
\subsection{The material file for phenoPowerlaw}
|
|
||||||
\section{dislotwin}
|
|
||||||
\section{The non-local model}
|
|
||||||
|
|
||||||
\section{The material file: material.config}
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
% ########################
|
|
||||||
\chapter{Crystallographic orientations}
|
|
||||||
% ########################
|
|
||||||
|
|
||||||
\section{Bunge Euler angles}
|
|
||||||
\label{bunges}
|
|
||||||
Euler angles $(\varphi_1, \phi, \varphi_2)$---following the Bunge convention---rotate the sample coordinate system ($X$, $Y$, $Z$ or RD, TD, ND) into the crystal coordinate system ($x_\text c$, $y_\text c$, $z_\text c$).
|
|
||||||
Three successive rotations are carried out in the following way \citep[p.~4]{Bunge1982}:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Rotate by $\varphi_1$ around Z, to bring X into the $x_\text c$--$y_\text c$-plane. The new intermediate axes are $X^\prime$, $Y^\prime$ and $Z$ (unchanged).
|
|
||||||
\item Now rotate by $\phi$ around $X^\prime$, to make $Z$ parallel with $z_\text c$. The intermediate axes are $X^\prime$, $Y^{\prime\prime}$, $Z^\prime$.
|
|
||||||
\item A final rotation by $\varphi_2$ around $Z^\prime \equiv z_\text c$ makes the rotated axes then identical to the crystal axes.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
The rotation matrix can be calculated as
|
|
||||||
\[% Gottstein pg 55
|
|
||||||
\tnsr{g}=\left(\begin{array}{ccc}
|
|
||||||
\cos{\varphi_1}\cos{\varphi_2}-\sin{\varphi_1}\sin{\varphi_2}\cos{\phi} & \sin{\varphi_1}\cos{\varphi_2}+\cos{\varphi_1}\sin{\varphi_2}\cos{\phi}& \sin{\varphi_2}\sin{\phi}\\
|
|
||||||
-\cos{\varphi_1}\sin{\varphi_2}-\sin{\varphi_1}\cos{\varphi_2}\cos{\phi} & -\sin{\varphi_1}\cos{\varphi_2}+\cos{\varphi_1}\cos{\varphi_2}\cos{\phi}& \cos{\varphi_2}\sin{\phi}\\
|
|
||||||
\sin{\varphi_1}\sin{\phi} & -\cos{\varphi_1}\sin{\phi}& \cos{\phi}
|
|
||||||
\end{array}\right)
|
|
||||||
\]
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Worked examples}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
Refer to the corresponding publications ...
|
|
||||||
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Homogenization schemes}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
%\section{Introduction}
|
|
||||||
If more than one grain is simulated per integration point, a homogenization scheme is required to distribute the deformation gradient of the IP to the respective grains. The simplest choice is the \emph{isostrain approach} which simply consists in assuming the IP deformation gradient to be applicable directly to each grain.
|
|
||||||
%\section{Isostrain homogenization -- Taylor's assumption}
|
|
||||||
%\section{RGC}
|
|
||||||
|
|
||||||
cite RGC papers...
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Postprocessing of the results}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
mentat, py\_post, gri, ParaView, TSL-OIM
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
% #################
|
|
||||||
\chapter{Preliminaries}
|
|
||||||
% #################
|
|
||||||
|
|
||||||
\section{Introduction}
|
|
||||||
For the theory and some application examples, see \citet{Roters2010}.
|
|
||||||
|
|
||||||
\section{History of the code}
|
|
||||||
?, spaghetti version,
|
|
||||||
|
|
||||||
\input{include/svn_guide}
|
|
||||||
|
|
||||||
|
|
||||||
\section{Style guide for programming the CPFEM subroutine}
|
|
||||||
|
|
||||||
Some hints
|
|
||||||
\begin{itemize}
|
|
||||||
\item This manual cannot substitute proper commenting in the Fortran code. Try to include as much comments as possible directly in the code.
|
|
||||||
\item When commenting, do not use cryptic comments such as \emph{Random is random!} -- an actual example from the code.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
% #################
|
|
||||||
\section{Code}
|
|
||||||
% #################
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
% #################
|
|
||||||
\section{Documentation}
|
|
||||||
% #################
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
% #################
|
|
||||||
\section{Installation}
|
|
||||||
% #################
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
% #################
|
|
||||||
\section{Processing}
|
|
||||||
% #################
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
% #################
|
|
||||||
\section{Testing}
|
|
||||||
% #################
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
\section{Internal access to the version-controlled sources}
|
|
||||||
% This section is copied from the msuwiki: http://msusrv4/msuwiki/Theory%20and%20Simulation/SVN
|
|
||||||
A prerequisite for you being able to access the version-controlled software is to
|
|
||||||
\begin{enumerate}
|
|
||||||
\item valid login
|
|
||||||
\item membership in the \verb|svn| group on server \verb|musvn1|
|
|
||||||
\end{enumerate}
|
|
||||||
Please ask either Berthold Becksch\"afer (-922) or Achim Kuhl (-923) to set up your permissions accordingly.
|
|
||||||
|
|
||||||
\subsection{Windows}
|
|
||||||
\subsubsection{Putty}
|
|
||||||
Get yourself \verb|PuTTY| and \verb|PuTTYgen| from \url{http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html}.
|
|
||||||
Generate a RSA (SSH2) 2048 bit strong key pair with \verb|PuTTYgen|.
|
|
||||||
Save the private part of the key to a secure location (\verb|My Documents| or such).
|
|
||||||
Copy the public part from the \verb|PuTTYgen| window, paste it into a text-editor and save.
|
|
||||||
Append the contents of that file to \verb|~/.ssh/authorized_keys| on any workstation you can log on to.
|
|
||||||
Create a profile in \verb|PuTTY| called "\verb|musvn1|" with host \verb|musvn1.mpie.de|, your standard "\verb|MPIE\\myName|" username and specify the above location of your private key file as means of authentication.
|
|
||||||
You should then be able to connect with this profile to \verb|musvn1| WITHOUT password authentication!
|
|
||||||
|
|
||||||
\subsubsection{Tortoise}
|
|
||||||
Install the subversion-client Tortoise from \url{http://tortoisesvn.net/downloads}.
|
|
||||||
Create a directory to hold the Material Point Model subroutine on your PC.
|
|
||||||
Right-click in this folder and select "SVN checkout" from the context menu.
|
|
||||||
Specify \url{svn+ssh://musvn1/home/svn/repos/cpfem} as the URL of the desired repository.
|
|
||||||
This will use the profile named "\verb|musvn1|" from \verb|PuTTY| and should hence not ask for any authentication from your end.
|
|
||||||
|
|
||||||
\subsection{Linux workstations}
|
|
||||||
|
|
||||||
\subsubsection{Key authentication}
|
|
||||||
If not already done, generate a 2048 bit RSA key pair using
|
|
||||||
\begin{lstlisting}[language=bash]
|
|
||||||
ssh-keygen -t rsa -b 2048
|
|
||||||
\end{lstlisting}
|
|
||||||
and go for the standard options offered.
|
|
||||||
This will create "\verb|id_rsa|" (private key) and "\verb|id_rsa.pub|" (public key) within your \verb|~/.ssh| folder.
|
|
||||||
Append the public key to the list of known keys
|
|
||||||
\begin{lstlisting}[language=bash]
|
|
||||||
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
|
|
||||||
\end{lstlisting}
|
|
||||||
and try logging into another workstation with
|
|
||||||
\begin{lstlisting}[language=bash]
|
|
||||||
ssh msuwsX
|
|
||||||
\end{lstlisting}
|
|
||||||
(exchange X with $1\dots 13$).
|
|
||||||
It should \emph{not} require password authentication.
|
|
||||||
|
|
||||||
\subsubsection{Checkout}
|
|
||||||
Create a directory to hold the subversion-controlled Material Point Model routine and change into this.
|
|
||||||
Issue the command
|
|
||||||
\begin{lstlisting}[language=bash]
|
|
||||||
svn co svn+ssh://MPIE\\yourName@musvn1/home/svn/repos/cpfem
|
|
||||||
\end{lstlisting}
|
|
||||||
to copy the repository content to the current working directory.
|
|
|
@ -1,34 +0,0 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<root text=""crystallite_integrateStress"" comment="" color="ffffff" type="sub" style="nice">
|
|
||||||
<children>
|
|
||||||
<instruction text=""Fg_new = crystallite_subF","Fp_current = crystallite_subFp0","Tstar_v = crystallite_Tstar_v","Lpguess_old = crystallite_Lp","Lpguess = crystallite_Lp","crystallite_integrateStress = .false. "" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""invFp_current = math_inv3x3(Fp_current)"" comment="" color="ffffff"></call>
|
|
||||||
<alternative text=""invFp_current == 0.0"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""return"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""A = invFp_current ^T * Fg_new ^T * Fg_new * invFp_current"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""constitutive_microstructure"" comment="" color="ffffff"></call>
|
|
||||||
<call text=""C = math_Mandel66to3333( constitutive_homogenizedC ( ) )"" comment="" color="ffffff"></call>
|
|
||||||
<instruction text=""NiterationStress = 0","leapfrog = 1.0","maxleap = 1024.0","jacoCounter = 0"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
<forever text="" comment="" color="ffffff">
|
|
||||||
<qForever>
|
|
||||||
<instruction text=""LP LOOP (see crystallite_integrateStress_LpLoop)"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qForever>
|
|
||||||
</forever>
|
|
||||||
<instruction text=""invFp_new = invFp_current * B","invFp_new = invFp_new / math_det3x3(invFp_new)^(1.0/3.0)"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""[Fp_new,det,error] = math_invert3x3(invFp_new)"" comment="" color="ffffff"></call>
|
|
||||||
<alternative text=""error"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""INVERSION FAILED: return"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""Fe_new = Fg_new * invFp_new","Tstar_v = Tstar_v + p_hydro"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<instruction text=""crystallite_P = Fe_new * Tstar_v * invFp_new^T","crystallite_Lp = Lpguess","crystallite_Tstar_v = Tstar_v","crystallite_Fp = Fp_new","crystallite_Fe = Fe_new","crystallite_integrateStress = .true."" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</children>
|
|
||||||
</root>
|
|
|
@ -1,61 +0,0 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<root text=""crystallite_integrateStress LpLoop"" comment="" color="ffffff" type="sub" style="nice">
|
|
||||||
<children>
|
|
||||||
<instruction text=""NiterationStress = NiterationStress + 1"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""NiterationStress > nStress"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""TOO MANY ITERATIONS: return"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""B = math_i3 - crystallite_subdt(g,i,e)*Lpguess","Tstar_v = 0.5 * C * (B^T * A * B - math_I3)","p_hydro = sum(Tstar_v(1:3))/3.0","forall (i=1:3) Tstar_v(i) = Tstar_v(i) - p_hydro"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""[Lp_constitutive, dLp_constitutive] = constitutive_LpAndItsTangent (Tstar_v, crystallite_Temperature)"" comment="" color="ffffff"></call>
|
|
||||||
<instruction text=""residuum = Lpguess - Lp_constitutive"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""no NaN ocuured in residuum",".and. (residuum below absolute tolerance .or. (above relevant strain .and. residuum below relative tolerance))"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<jump text=""LOOP CONVERGED: exit LpLoop"" comment="" color="ffffff"></jump>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<alternative text=""NaN occured in residuum .and. leapfrog == 1.0"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""NO CONVERGENCE: return"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
<alternative text=""leapfrog > 1.0",".and. (worse residuum .or. residuum changed sign .or. NaN occured)"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""maxleap = 0.5 * leapfrog","leapfrog = 1.0","jacoCounter = 0","Lpguess = Lpguess_old","residuum = residuum_old"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
<alternative text=""mod(jacoCounter,iJacoLpresiduum) == 0"" comment="""" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""dTdLp = - 0.5 * crystallite_subdt * C * (A*B + B^T*A)","dRdLp = math_identity2nd(9) - dLp_constitutive * dTdLp"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""[invdRdLp,dummy,error] = math_invert(9,dRdLp)"" comment="" color="ffffff"></call>
|
|
||||||
<alternative text=""error"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""INVERSION FAILED: return"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""jacoCounter = jacoCounter + 1","residuum_old = residuum","Lpguess_old = Lpguess"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""NiterationStress > 1 .and. leapfrog < maxleap"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""leapfrog = 2.0 * leapfrog"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""Lpguess = Lpguess - leapfrog * invdRdLp * residuum"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</children>
|
|
||||||
</root>
|
|
|
@ -1,35 +0,0 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<root text=""crystallite_stressAndItsTangent"" comment="" color="ffffff" type="sub" style="nice">
|
|
||||||
<children>
|
|
||||||
<alternative text=""crystallite_requested"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""constitutive_subState0 = constitutive_partionedState0 crystallite_subFrac = 0.0","crystallite_subFp0 = crystallite_partionedFp0 crystallite_subStep = 2.0","crystallite_subLp0 = crystallite_partionedLp0 crystallite_onTrack = .true.","crystallite_subF0 = crystallite_partionedF0 crystallite_converged = .false."" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""NiterationCrystallite = 0"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<while text=""CRYSTALLITE LOOP: any: crystallite_subStep > subStepMin"" comment="" color="ffffff">
|
|
||||||
<qWhile>
|
|
||||||
<instruction text=""(see crystallite_stressAndItsTangent_CrystalliteLoop.nsd)"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qWhile>
|
|
||||||
</while>
|
|
||||||
<alternative text="".not. crystallite_converged"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""ELASTIC RESPONSE:"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""Fe_guess = crystallite_partionedF * crystallite_partionedFp0 ^ -1"" comment="" color="ffffff"></call>
|
|
||||||
<call text=""Tstar = 0.5 * constitutive_homogenizedC * ( Fe_guess ^ T * Fe_guess - math_I3 )"" comment="" color="ffffff"></call>
|
|
||||||
<call text=""crystallite_P = Fe_guess * Tstar * crystallite_partionedFp0 ^ -T"" comment="" color="ffffff"></call>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<alternative text=""updateJaco"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""STIFFNESS CALCULATION: (see crystallite_stressAndItsTangent_StiffnessCalculation.nsd)"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</children>
|
|
||||||
</root>
|
|
|
@ -1,57 +0,0 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<root text=""crystallite_stressAndItsTangent (Crystallite Loop)"" comment="" color="ffffff" type="sub" style="nice">
|
|
||||||
<children>
|
|
||||||
<instruction text=""NiterationCrystallite = NiterationCrystallite + 1"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""any: .not. crystallite_converged .and. .not. crystallite_localConstitution"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""all: crystallite_converged = crystallite_converged .and. crystallite_localConstitution"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<alternative text=""crystallite_converged"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""WINDING FORWARD: ","crystallite_subFrac = crystallite_subFrac + crystallite_subStep","crystallite_subStep = min(1.0 - _crystallite_subFrac, 2.0 * crystallite_subStep)"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""crystallite_subStep > subStepMin"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""crystallite_subF0 = crystallite_subF","crystallite_subFp0 = crystallite_Fp","crystallite_subLp0 = crystallite_Lp","constitutive_subState0 = crystallite_state"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
<instruction text=""CUTBACK:","crystallite_subStep = 0.5 * crystallite_subStep","crystallite_Fp = crystallite_subFp0","crystallite_Lp = crystallite_subLp0","constitutive_state = crystallite_subState0"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""crystallite_onTrack = crystallite_subStep > subStepMin"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""crystallite_onTrack"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""crystallite_subF = crystallite_subF0 + crystallite_subStep * ( crystallite_partionedF - crystallite_partionedF0)","crystallite_subdt = crystallite_subStep * crystallite_dt","crystallite_converged = .false."" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<call text=""crystallite_updateState"" comment="""" color="ffffff"></call>
|
|
||||||
<instruction text=""NiterationState = 0"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<for text=""STATE LOOP: any: crystallite_requested .and. crystallite_onTrack .and. .not. crystallite_converged"," .and. NiterationState < ncryst"" comment="" color="ffffff">
|
|
||||||
<qFor>
|
|
||||||
<instruction text=""NiterationState = NiterationState + 1"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""crystallite_requested .and. crystallite_onTrack .and. .not. crystallite_converged"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<call text=""crystallite_onTrack = crystallite_integrateStress"" comment="""" color="ffffff"></call>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<alternative text=""crystallite_requested .and. crystallite_onTrack .and. .not. crystallite_converged"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<call text=""crystallite_converged = crystallite_updateState"" comment="""" color="ffffff"></call>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</qFor>
|
|
||||||
</for>
|
|
||||||
</children>
|
|
||||||
</root>
|
|
|
@ -1,44 +0,0 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<root text=""crystallite_stressAndItsTangent (stiffness calculation)"" comment="" color="ffffff" type="sub" style="nice">
|
|
||||||
<children>
|
|
||||||
<alternative text=""crystallite_converged"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""myState = constitutive_state","myF = crystallite_subF","myFp = crystallite_Fp","myFe = crystallite_Fe","myLp = crystallite_Lp","myP = crystallite_P"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<for text=""k = 1 , 3"" comment="" color="ffffff">
|
|
||||||
<qFor>
|
|
||||||
<while text=""l = 1 , 3"" comment="" color="ffffff">
|
|
||||||
<qWhile>
|
|
||||||
<instruction text=""crystallite_subF(:,:) = myF","crystallite_subF(k,l) = crystallite_subF(k,l) + pert_Fg"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<instruction text=""onTrack = .true.","converged = .false.","NiterationState = 0"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<for text=""STIFFNESS LOOP: .not. converged .and. onTrack .and. NiterationState < nState"" comment="" color="ffffff">
|
|
||||||
<qFor>
|
|
||||||
<instruction text=""NiterationState = NiterationState + 1"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
<call text=""onTrack = crystallite_integrateStress"" comment="" color="ffffff"></call>
|
|
||||||
<alternative text=""onTrack"" comment="""" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<call text=""converged = crystallite_updateState"" comment="" color="ffffff"></call>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</qFor>
|
|
||||||
</for>
|
|
||||||
<alternative text=""converged"" comment="" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""crystallite_dPdF = ( crystallite_P - myP ) / pert_Fg"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""constitutive_state = myState","crystallite_Fp = myFp","crystallite_Fe = myFe","crystallite_Lp = myLp","crystallite_P = myP"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qWhile>
|
|
||||||
</while>
|
|
||||||
</qFor>
|
|
||||||
</for>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
<instruction text=""crystallite_dPdF = crystallite_fallbackdPdF"" comment="" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
</children>
|
|
||||||
</root>
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<root text=""crystallite_updateState"" comment="" color="ffffff" type="sub" style="nice">
|
|
||||||
<children>
|
|
||||||
<instruction text=""residuum = ( constitutive_state - constitutive_subState0 ) - constitutive_subdt * constitutive_dotState ( ... )"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
<alternative text=""NaN occured in residuum"" comment="""" color="ffffff">
|
|
||||||
<qTrue>
|
|
||||||
<instruction text=""NO CONVERGENCE: return"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
</qTrue>
|
|
||||||
<qFalse>
|
|
||||||
</qFalse>
|
|
||||||
</alternative>
|
|
||||||
<instruction text=""constitutive_state = constitutive_state - residuum"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
<instruction text=""crystallite_updateState = abs ( residuum / constitutive_state ) < rTol_crystalliteState"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
<instruction text=""return"" comment="""" color="ffffff" rotated="0"></instruction>
|
|
||||||
</children>
|
|
||||||
</root>
|
|
|
@ -1,3 +0,0 @@
|
||||||
Nassi-Schneidermann-Diagrams for selected functions and subroutines:
|
|
||||||
|
|
||||||
- *.nsd and *.pdf files created with the software "Structorizer" Version 3.12
|
|