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',
'100')
22setInputVector(
'inputFiles/'+DCfile,
'periodicImageSize',np.array([2,2,2]),
'n of images in each direction')
23setInputVariable(
'inputFiles/'+DCfile,
'EwaldLengthFactor',
'1.0')
28boxSize=gridSize*gridSpacing;
30noiseFile=
'AnalyticalSolidSolutionNoise.txt'
31noiseFileTemplate=
'../../Library/GlidePlaneNoise/'+noiseFile;
32print(
"\033[1;32mCreating noiseFile\033[0m")
33shutil.copy2(noiseFileTemplate,
'inputFiles/'+noiseFile)
37setInputVector(
'inputFiles/'+noiseFile,
'gridSize',np.array([gridSize,gridSize,64]),
'noise grid size')
53materialFile=
'AlMg15.txt';
54materialFileTemplate=
'../../Library/Materials/'+materialFile;
55print(
"\033[1;32mCreating materialFile\033[0m")
56shutil.copy2(materialFileTemplate,
'inputFiles/'+materialFile)
63DDfileTemplate=
'../../Library/DislocationDynamics/'+DDfile
64print(
"\033[1;32mCreating DDfile\033[0m")
65shutil.copy2(DDfileTemplate,
'inputFiles/'+DDfile)
77setInputVector(
'inputFiles/'+DDfile,
'nodalVelocityConstraints',np.array([0.0,1.0,0.0]),
'Velocty constrained in the x direction')
83elasticDeformatinoFile=
'ElasticDeformation.txt';
84elasticDeformatinoFileTemplate=
'../../Library/ElasticDeformation/'+elasticDeformatinoFile;
85print(
"\033[1;32mCreating elasticDeformatinoFile\033[0m")
86shutil.copy2(elasticDeformatinoFileTemplate,
'inputFiles/'+elasticDeformatinoFile)
88setInputVector(
'inputFiles/'+elasticDeformatinoFile,
'ExternalStrainRate',np.array([0.0,0.0,0.0,0.0,0.0,1e-8]),
'applied strain rate')
89setInputVector(
'inputFiles/'+elasticDeformatinoFile,
'stiffnessRatio',np.array([0.0,0.0,0.0,0.0,0.0,1e20]),
'stiffness ratio')
92meshFile=
'unitCube24.msh';
93meshFileTemplate=
'../../Library/Meshes/'+meshFile;
94print(
"\033[1;32mCreating polycrystalFile\033[0m")
95shutil.copy2(meshFileTemplate,
'inputFiles/'+meshFile)
97pf.absoluteTemperature=300;
99pf.alignToSlipSystem0=1
100pf.boxScaling=np.array([boxSize,boxSize,boxSize])/b_SI
101pf.periodicFaceIDs=np.array([-1])
102pf.write(
'inputFiles')
103microstructureFiles = []
106microstructureFileID=1;
107microstructureName=
'periodicDipoleIndividual.txt';
108microstructureFileTemplate=
'../../Library/Microstructures/'+microstructureName;
109microstructureFileLocal=
'inputFiles/microstructureFile'+str(microstructureFileID)+
'.txt'
110microstructureFiles.append(
'microstructureFile'+str(microstructureFileID)+
'.txt')
111print(
"\033[1;32mCreating microstructureFile"+str(microstructureFileID)+
"\033[0m")
112shutil.copy2(microstructureFileTemplate,microstructureFileLocal)
113setInputVector(microstructureFileLocal,
'slipSystemIDs',np.array([0,-1]),
'slip system IDs for each dipole')
114setInputVector(microstructureFileLocal,
'exitFaceIDs',np.array([4,4]),
'4 is for edge, 2 for screw')
115setInputMatrix(microstructureFileLocal,
'dipoleCenters',np.array([[0.0,0.0,0.0],[0.0,0.0,0.0]]))
116setInputVector(microstructureFileLocal,
'nodesPerLine',np.array([10,10]),
'number of extra nodes on each dipole')
117setInputVector(microstructureFileLocal,
'dipoleHeights',np.array([boxSize/b_SI/4/(np.sqrt(6)/3),boxSize/b_SI/4/(np.sqrt(6)/3)]),
'height of each dipole, in number of planes')
118setInputVector(microstructureFileLocal,
'glideSteps',np.array([100.0,30.0]),
'step of each dipole in the glide plane')
120print(
"\033[1;32mCreating initialMicrostructureFile\033[0m")
121with open(
'inputFiles/initialMicrostructure.txt',
"w")
as initialMicrostructureFile:
122 for micrFile
in microstructureFiles:
123 initialMicrostructureFile.write(
'microstructureFile='+micrFile+
';\n')
setInputVector(fileName, variable, newVal, newCom)
setInputVariable(fileName, variable, newVal)
setInputMatrix(fileName, variable, newVal)
getValueInFile(fileName, variable)