ParaDiS Aniso Code Manuals: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
Anisotropic Elasticity
=DDAniso=
===Sylvie Aubry (11/14/08) - Updated 12/11/09===
Sylvie Aubry Jan 28 2010.


The aniso module is similar to DDLab/aniso. For more information refer
This code is being developed in collaboration with Steve Fitzgerald at
to Jie Yin, David Barnett and Wei Cai's paper titled "Computing forces
Culham Science Centre, Abingdon, UK.
on dislocation segments in anisotopic elasticity".


The aniso module contains only the files that are modified from the
source code. Mainly, the aniso structure has to be defined, the
Seg-Seg forces and the Self-Force for anisotropic elasticity are
computed.


Several flags are available:
=Aniso code in ParaDiS=
==Sylvie Aubry Dec 11 2009==


D_ANISOTROPIC : turns on or off anisotropic elasticity.
===Flow chart of the aniso code===


You have the option of computing the Q, S, B matrices with or
Before starting using the aniso code, the user decides if he/she wants to use the tables or not and if he/she wants to use the Voigt or the Reuss averages for mu and nu.
without tables. If you want to use tables, then you have to turn on
the _USE_QSB_TABLES flag. Tables files have to be present in the
inputs directory. To create the tables, turn on the
_CREATE_QSB_TABLES flag (along with the _USE_QSB_TABLES flag). Tables
will be automatically created in the right directory. You can also
specify the name of the table files in the input file. The syntax is
as follows:


To use the tables, turn on DEFS += D_TABLES in the makefile.
To create the table files, set QSBMETHOD = 1 in tabulate.c.
To read the table, make sure they are located in the inputs directory.


TableQ character Define the name of the file to read in tables.
To set the mu and nu variables, set #define VOIGT and #define REUSS variables in ANI_Util.c
Defaults is inputs/Qtable.dat


TableS character Define the name of the file to read in tables.
ANI_Main
Defaults is inputs/Stable.dat
defines the directory where files Qtable.dat, Stable.dat and Rtable.dat will be created or read.
TableB character Define the name of the file to read in tables.
define the aniso0 structure
Defaults is inputs/Btable.dat
calls ANI_Init in ANI_Utils.


Two methods have been implemented for anisotropic elasticity. The
second one is by Steve Fitzgerald at Culham Centre for Fusion Energy
+44 (0)1235 466350. Turn on _ANISO_Steve to run his method.




A test case isalso included in the aniso module, it is called
ANI_Init
aniso_fr_src.*. Forces from the Matlab code are also added for
comparison. The file is compare_aniso_matlab.txt.


Also several tests files are in the aniso module. They verify several
initialize the aniso0 structure.
components of the implementation.
. define C, eps

. define mu and nu. User can choose between the Voigt or the Reuss averages.

. calls the routine that defines Q, S, B. Uses file QSBMatrices.c

. user can choose to read in tables (QSBMETHOD = 1) in tabulate.c or not.


Param.c & Param.h
. defines variables specific to aniso code: C12, C44, Cpr

NodeForce.c
When the ANISOTROPIC flag is on, use anisotropic SelfForce.
The SeflForce routine calls QSBMatrices.c routines to get the QSB matrices.

LocalSegForces.c
When the ANISOTROPIC flag is on, use anisotropic SegSegForces.
This routine calls ComputeANIForces located in Stress.c.

Stress.c
ComputeANIForces.c calls the ANI_WillisSteeds function also located in Stress.c.
ANI_WillisSteeds decide whether to use the regular definition or the collinear one.

That's it!

Latest revision as of 19:38, 28 January 2010

Anisotropic Elasticity Sylvie Aubry Jan 28 2010.

The aniso module is similar to DDLab/aniso. For more information refer to Jie Yin, David Barnett and Wei Cai's paper titled "Computing forces on dislocation segments in anisotopic elasticity".

The aniso module contains only the files that are modified from the source code. Mainly, the aniso structure has to be defined, the Seg-Seg forces and the Self-Force for anisotropic elasticity are computed.

Several flags are available:

D_ANISOTROPIC : turns on or off anisotropic elasticity.

You have the option of computing the Q, S, B matrices with or without tables. If you want to use tables, then you have to turn on the _USE_QSB_TABLES flag. Tables files have to be present in the inputs directory. To create the tables, turn on the _CREATE_QSB_TABLES flag (along with the _USE_QSB_TABLES flag). Tables will be automatically created in the right directory. You can also specify the name of the table files in the input file. The syntax is as follows:


TableQ character Define the name of the file to read in tables. Defaults is inputs/Qtable.dat

TableS character Define the name of the file to read in tables. Defaults is inputs/Stable.dat TableB character Define the name of the file to read in tables. Defaults is inputs/Btable.dat

Two methods have been implemented for anisotropic elasticity. The second one is by Steve Fitzgerald at Culham Centre for Fusion Energy +44 (0)1235 466350. Turn on _ANISO_Steve to run his method.


A test case isalso included in the aniso module, it is called aniso_fr_src.*. Forces from the Matlab code are also added for comparison. The file is compare_aniso_matlab.txt.

Also several tests files are in the aniso module. They verify several components of the implementation.