2sys.path.append(
"../../python/")
3from modlibUtils
import *
6folders=[
'config',
'F',
'inputFiles']
8 if not os.path.exists(x):
12DCfile=
'DefectiveCrystal.txt'
13DCfileTemplate=
'../../Library/DefectiveCrystal/'+DCfile
14print(
"\033[1;32mCreating DDfile\033[0m")
15shutil.copy2(DCfileTemplate,
'inputFiles/'+DCfile)
16setInputVariable(
'inputFiles/'+DCfile,
'physics',
'DislocationDynamics ElasticDeformation')
17setInputVariable(
'inputFiles/'+DCfile,
'useFEM',
'0')
18setInputVariable(
'inputFiles/'+DCfile,
'Nsteps',
'10000')
19setInputVariable(
'inputFiles/'+DCfile,
'maxResolveSteps',
'0')
20setInputVariable(
'inputFiles/'+DCfile,
'dtMax',
'1e25')
21setInputVariable(
'inputFiles/'+DCfile,
'outputFrequency',
'10')
25DDfileTemplate=
'../../Library/DislocationDynamics/'+DDfile
26print(
"\033[1;32mCreating DDfile\033[0m")
27shutil.copy2(DDfileTemplate,
'inputFiles/'+DDfile)
28setInputVariable(
'inputFiles/'+DDfile,
'timeSteppingMethod',
'adaptive')
29setInputVariable(
'inputFiles/'+DDfile,
'dxMax',
'10')
30setInputVariable(
'inputFiles/'+DDfile,
'use_velocityFilter',
'1')
31setInputVariable(
'inputFiles/'+DDfile,
'alphaLineTension',
'1.0')
32setInputVariable(
'inputFiles/'+DDfile,
'Lmin',
'25')
33setInputVariable(
'inputFiles/'+DDfile,
'Lmax',
'150')
34setInputVariable(
'inputFiles/'+DDfile,
'outputQuadraturePoints',
'1')
35setInputVariable(
'inputFiles/'+DDfile,
'glideSolverType',
'Galerkin')
36setInputVariable(
'inputFiles/'+DDfile,
'climbSolverType',
'none')
37setInputVariable(
'inputFiles/'+DDfile,
'crossSlipModel',
'0')
41materialFileTemplate=
'../../Library/Materials/'+materialFile;
42print(
"\033[1;32mCreating materialFile\033[0m")
43shutil.copy2(materialFileTemplate,
'inputFiles/'+materialFile)
45b_SI=getValueInFile(
'inputFiles/'+materialFile,
'b_SI')
48elasticDeformatinoFile=
'ElasticDeformation.txt';
49elasticDeformatinoFileTemplate=
'../../Library/ElasticDeformation/'+elasticDeformatinoFile;
50print(
"\033[1;32mCreating elasticDeformatinoFile\033[0m")
51shutil.copy2(elasticDeformatinoFileTemplate,
'inputFiles/'+elasticDeformatinoFile)
52setInputVector(
'inputFiles/'+elasticDeformatinoFile,
'ExternalStress0',np.array([0.0,0.0,0.01,0.0,0.0,0.0]),
'applied stress')
55meshFile=
'unitCube24.msh';
56meshFileTemplate=
'../../Library/Meshes/'+meshFile;
57print(
"\033[1;32mCreating polycrystalFile\033[0m")
58shutil.copy2(meshFileTemplate,
'inputFiles/'+meshFile)
59pf=PolyCrystalFile(materialFile);
60pf.absoluteTemperature=300;
66pf.boxScaling=np.array([1e-6,1e-6,1e-6])/b_SI
67pf.X0=np.array([0,0,0])
68pf.periodicFaceIDs=np.array([-1])
70microstructureFiles = []
72microstructureFileID=1;
73microstructureName=
'prismaticLoopsDensity.txt';
74microstructureFileTemplate=
'../../Library/Microstructures/'+microstructureName;
75microstructureFileLocal=
'inputFiles/microstructureFile'+str(microstructureFileID)+
'.txt'
76microstructureFiles.append(
'microstructureFile'+str(microstructureFileID)+
'.txt')
77print(
"\033[1;32mCreating microstructureFile"+str(microstructureFileID)+
"\033[0m")
78shutil.copy2(microstructureFileTemplate,microstructureFileLocal)
79setInputVariable(microstructureFileLocal,
'targetDensity_SI',
'1e13')
80setInputVariable(microstructureFileLocal,
'radiusDistributionMean_SI',
'1e-07')
81setInputVariable(microstructureFileLocal,
'radiusDistributionStd_SI',
'0e-07')
82setInputVector(microstructureFileLocal,
'allowedGrainIDs',np.array([-1]),
'set of grain IDs where loops are allowed. Use -1 for all grains')
83setInputVector(microstructureFileLocal,
'allowedSlipSystemIDs',np.array([-1]),
'set of slip system IDs whose Burgers vector are allowed to be the prism axis. Use -1 for all slip systems')
85microstructureFileID=2;
86microstructureName=
'frankLoopsDensity.txt';
87microstructureFileTemplate=
'../../Library/Microstructures/'+microstructureName;
88microstructureFileLocal=
'inputFiles/microstructureFile'+str(microstructureFileID)+
'.txt'
89microstructureFiles.append(
'microstructureFile'+str(microstructureFileID)+
'.txt')
90print(
"\033[1;32mCreating microstructureFile"+str(microstructureFileID)+
"\033[0m")
91shutil.copy2(microstructureFileTemplate,microstructureFileLocal)
92setInputVariable(microstructureFileLocal,
'targetDensity_SI',
'1e13')
93setInputVariable(microstructureFileLocal,
'radiusDistributionMean_SI',
'5e-08')
94setInputVariable(microstructureFileLocal,
'radiusDistributionStd_SI',
'1e-09')
95setInputVariable(microstructureFileLocal,
'areVacancyLoops',
'0')
96setInputVector(microstructureFileLocal,
'allowedGrainIDs',np.array([-1]),
'set of grain IDs where loops are allowed. Use -1 for all grains')
97setInputVector(microstructureFileLocal,
'allowedPlaneIDs',np.array([-1]),
'# set of plane IDs containing the loops. Use -1 for random plane')
99print(
"\033[1;32mCreating initialMicrostructureFile\033[0m")
100with open(
'inputFiles/initialMicrostructure.txt',
"w")
as initialMicrostructureFile:
101 for micrFile
in microstructureFiles:
102 initialMicrostructureFile.write(
'microstructureFile='+micrFile+
';\n')