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')
27DDfileTemplate=
'../../Library/DislocationDynamics/'+DDfile
28print(
"\033[1;32mCreating DDfile\033[0m")
29shutil.copy2(DDfileTemplate,
'inputFiles/'+DDfile)
30setInputVariable(
'inputFiles/'+DDfile,
'timeSteppingMethod',
'adaptive')
31setInputVariable(
'inputFiles/'+DDfile,
'dxMax',
'1')
32setInputVariable(
'inputFiles/'+DDfile,
'use_velocityFilter',
'1')
33setInputVariable(
'inputFiles/'+DDfile,
'useStochasticForce',
'0')
34setInputVariable(
'inputFiles/'+DDfile,
'alphaLineTension',
'1.0')
35setInputVariable(
'inputFiles/'+DDfile,
'Lmin',
'5')
36setInputVariable(
'inputFiles/'+DDfile,
'Lmax',
'20')
37setInputVariable(
'inputFiles/'+DDfile,
'outputQuadraturePoints',
'1')
38setInputVariable(
'inputFiles/'+DDfile,
'computeElasticEnergyPerLength',
'1')
39setInputVariable(
'inputFiles/'+DDfile,
'glideSolverType',
'Galerkin')
40setInputVariable(
'inputFiles/'+DDfile,
'climbSolverType',
'none')
41setInputVariable(
'inputFiles/'+DDfile,
'remeshFrequency',
'1')
42setInputVariable(
'inputFiles/'+DDfile,
'quadPerLength',
'1.0')
46materialFileTemplate=
'../../Library/Materials/'+materialFile;
47print(
"\033[1;32mCreating materialFile\033[0m")
48shutil.copy2(materialFileTemplate,
'inputFiles/'+materialFile)
49b_SI=getValueInFile(
'inputFiles/'+materialFile,
'b_SI')
52elasticDeformatinoFile=
'ElasticDeformation.txt';
53elasticDeformatinoFileTemplate=
'../../Library/ElasticDeformation/'+elasticDeformatinoFile;
54print(
"\033[1;32mCreating elasticDeformatinoFile\033[0m")
55shutil.copy2(elasticDeformatinoFileTemplate,
'inputFiles/'+elasticDeformatinoFile)
56setInputVector(
'inputFiles/'+elasticDeformatinoFile,
'ExternalStressRate',np.array([0.0,0.0,0.0,0.0,0.0,1e-9]),
'applied strain rate')
57setInputVector(
'inputFiles/'+elasticDeformatinoFile,
'stiffnessRatio',np.array([0.0,0.0,0.0,0.0,0.0,0.0]),
'stiffness ratio')
60meshFile=
'unitCube24.msh';
61meshFileTemplate=
'../../Library/Meshes/'+meshFile;
62print(
"\033[1;32mCreating polycrystalFile\033[0m")
63shutil.copy2(meshFileTemplate,
'inputFiles/'+meshFile)
64pf=PolyCrystalFile(materialFile);
65pf.absoluteTemperature=300;
67pf.alignToSlipSystem0=1;
68pf.boxScaling=np.array([500e-9,100e-9,500e-9])/b_SI
69pf.periodicFaceIDs=np.array([-1])
71microstructureFiles = []
74microstructureFileID=1;
75microstructureName=
'periodicDipoleIndividual.txt';
76microstructureFileTemplate=
'../../Library/Microstructures/'+microstructureName;
77microstructureFileLocal=
'inputFiles/microstructureFile'+str(microstructureFileID)+
'.txt'
78microstructureFiles.append(
'microstructureFile'+str(microstructureFileID)+
'.txt')
79print(
"\033[1;32mCreating microstructureFile"+str(microstructureFileID)+
"\033[0m")
80shutil.copy2(microstructureFileTemplate,microstructureFileLocal)
81setInputVector(microstructureFileLocal,
'slipSystemIDs',np.array([0,-1]),
'slip system IDs for each dipole')
82setInputVector(microstructureFileLocal,
'exitFaceIDs',np.array([4,4]),
'4 is for edge, 2 for screw')
83setInputMatrix(microstructureFileLocal,
'dipoleCenters',np.array([[0.0,0.0,0.0],[0.0,0.0,0.0]]))
84setInputVector(microstructureFileLocal,
'nodesPerLine',np.array([10,10]),
'number of extra nodes on each dipole')
85setInputVector(microstructureFileLocal,
'dipoleHeights',np.array([120,1200]),
'height of each dipole, in number of planes')
86setInputVector(microstructureFileLocal,
'glideSteps',np.array([1.0,30.0]),
'step of each dipole in the glide plane')
88print(
"\033[1;32mCreating initialMicrostructureFile\033[0m")
89with open(
'inputFiles/initialMicrostructure.txt',
"w")
as initialMicrostructureFile:
90 for micrFile
in microstructureFiles:
91 initialMicrostructureFile.write(
'microstructureFile='+micrFile+
';\n')