ParaDiS Aniso Code Manuals: Difference between revisions
| Line 9: | Line 9: | ||
==Sylvie Aubry Dec 11 2009== |
==Sylvie Aubry Dec 11 2009== |
||
=== |
===How to use the aniso code=== |
||
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. |
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. |
||
| Line 19: | Line 19: | ||
To set the mu and nu variables, set #define VOIGT and #define REUSS variables in ANI_Util.c |
To set the mu and nu variables, set #define VOIGT and #define REUSS variables in ANI_Util.c |
||
| ⚫ | |||
===Flow chart of the aniso code=== |
|||
| ⚫ | |||
defines the directory where files Qtable.dat, Stable.dat and Rtable.dat will be created or read. |
defines the directory where files Qtable.dat, Stable.dat and Rtable.dat will be created or read. |
||
define the aniso0 structure |
define the aniso0 structure |
||
calls ANI_Init in ANI_Utils. |
calls ANI_Init in ANI_Utils. |
||
| ⚫ | |||
| ⚫ | |||
initialize the aniso0 structure. |
initialize the aniso0 structure. |
||
| Line 37: | Line 38: | ||
. user can choose to read in tables (QSBMETHOD = 1) in tabulate.c or not. |
. user can choose to read in tables (QSBMETHOD = 1) in tabulate.c or not. |
||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
Also defines the tables files. |
|||
| ⚫ | |||
NodeForce.c |
NodeForce.c |
||
When the ANISOTROPIC flag is on, use anisotropic SelfForce. |
When the ANISOTROPIC flag is on, use anisotropic SelfForce. |
||
The SeflForce routine calls QSBMatrices.c routines to get the QSB matrices. |
The SeflForce routine calls QSBMatrices.c routines to get the QSB matrices. |
||
LocalSegForces.c |
'''LocalSegForces.c''' |
||
When the ANISOTROPIC flag is on, use anisotropic SegSegForces. |
When the ANISOTROPIC flag is on, use anisotropic SegSegForces. |
||
This routine calls ComputeANIForces located in Stress.c. |
This routine calls ComputeANIForces located in Stress.c. |
||
Stress.c |
'''Stress.c''' |
||
ComputeANIForces.c calls the ANI_WillisSteeds function also located in 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. |
ANI_WillisSteeds decide whether to use the regular definition or the collinear one. |
||
Revision as of 18:47, 11 December 2009
DDAniso
Sylvie Aubry (11/14/08) - Updated 12/11/09
This code is being developed in collaboration with Steve Fitzgerald at Culham Science Centre, Abingdon, UK.
Aniso code in ParaDiS
Sylvie Aubry Dec 11 2009
How to use the aniso code
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.
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.
To set the mu and nu variables, set #define VOIGT and #define REUSS variables in ANI_Util.c
Flow chart of the aniso code
ANI_Main
defines the directory where files Qtable.dat, Stable.dat and Rtable.dat will be created or read. define the aniso0 structure calls ANI_Init in ANI_Utils.
ANI_Init
initialize the aniso0 structure. . 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 and Param.h
defines variables specific to aniso code: C12, C44, Cpr. Also defines the tables files.
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!