3from pathlib
import Path
5tutorial =
Path(__file__).resolve().parent
6repository = tutorial.parents[1]
8sys.path.insert(0, str(repository /
"python"))
9from modlibUtils
import *
14folders=[
'config',
'F',
'inputFiles']
16 if not os.path.exists(x):
20DCfile=
'DefectiveCrystal.txt'
21DCfileTemplate=
'../../Library/DefectiveCrystal/'+DCfile
22print(
"\033[1;32mCreating DCfile\033[0m")
23shutil.copy2(DCfileTemplate,
'inputFiles/'+DCfile)
32materialFile=
'Zr4_Fitted.txt';
33materialFileTemplate=
'../../Library/Materials/'+materialFile;
34print(
"\033[1;32mCreating materialFile\033[0m")
35shutil.copy2(materialFileTemplate,
'inputFiles/'+materialFile)
36setInputVariable(
'inputFiles/'+materialFile,
'enabledSlipSystems',
'<a>{basal} <a>{prismatic}')
39clusterDynamicsFile=
'ClusterDynamics.txt';
40clusterDynamicsFileTemplate=
'../../Library/ClusterDynamics/'+clusterDynamicsFile;
41print(
"\033[1;32mCreating clusterDynamicsFile\033[0m")
42shutil.copy2(clusterDynamicsFileTemplate,
'inputFiles/'+clusterDynamicsFile)
43setInputVariable(
'inputFiles/'+clusterDynamicsFile,
'useClusterDynamicsFEM',
'1')
46meshFile=
'poly10_periodicXYZ.msh';
47meshFileTemplate=
'../../Library/Meshes/'+meshFile;
48print(
"\033[1;32mCreating polycrystalFile\033[0m")
49shutil.copy2(meshFileTemplate,
'inputFiles/'+meshFile)
51pf.absoluteTemperature=553;
53pf.grain1globalX1=np.array([1,0,0])
54pf.grain1globalX3=np.array([0,0,1])
55pf.boxEdges=np.array([[1,0,0],[0,1,0],[0,0,1]])
56pf.boxScaling=np.array([3093,3093,3093])
57pf.X0=np.array([0,0,0])
58pf.periodicFaceIDs=np.array([-1])
62with open(
'inputFiles/polycrystal.txt',
'a')
as polycrystal:
63 for grain
in range(2, 11):
64 polycrystal.write(f
'C2G{grain}=1 0 0\n 0 1 0\n 0 0 1;\n')
67print(
"\033[1;32mCreating initialMicrostructureFile\033[0m")
68with open(
'inputFiles/initialMicrostructure.txt',
"w")
as initialMicrostructureFile:
69 initialMicrostructureFile.write(
'')
setInputVariable(fileName, variable, newVal)