11import viennaps2d as vps
2- import viennals2d as vls
2+ import viennals2d as vls
33
44
55params = vps .ReadConfigFile ("config.txt" )
66geometry = vps .Domain ()
77
88# Create the geometry
9- boundaryCons = [vls .BoundaryConditionEnum .REFLECTIVE_BOUNDARY , vls .BoundaryConditionEnum .INFINITE_BOUNDARY ]
9+ boundaryCons = [
10+ vls .BoundaryConditionEnum .REFLECTIVE_BOUNDARY ,
11+ vls .BoundaryConditionEnum .INFINITE_BOUNDARY ,
12+ ]
1013gridDelta = params ["gridDelta" ]
11- bounds = [0. ,
12- params ["openingWidth" ] / 2. + params ["xPad" ] + params ["gapLength" ],
13- - gridDelta ,
14- params ["openingDepth" ] + params ["gapHeight" ] + gridDelta ]
14+ bounds = [
15+ 0.0 ,
16+ params ["openingWidth" ] / 2.0 + params ["xPad" ] + params ["gapLength" ],
17+ - gridDelta ,
18+ params ["openingDepth" ] + params ["gapHeight" ] + gridDelta ,
19+ ]
1520
1621substrate = vls .Domain (bounds , boundaryCons , gridDelta )
17- normal = [0. , 1. ]
18- origin = [0. , params ["openingDepth" ] + params ["gapHeight" ]]
22+ normal = [0.0 , 1.0 ]
23+ origin = [0.0 , params ["openingDepth" ] + params ["gapHeight" ]]
1924vls .MakeGeometry (substrate , vls .Plane (origin , normal )).apply ()
2025
2126geometry .insertNextLevelSetAsMaterial (substrate , vps .Material .Si )
2227
2328vertBox = vls .Domain (bounds , boundaryCons , gridDelta )
24- minPoint = [- gridDelta , 0. ]
25- maxPoint = [params ["openingWidth" ] / 2. , params ["gapHeight" ] + params ["openingDepth" ] + gridDelta ]
29+ minPoint = [- gridDelta , 0.0 ]
30+ maxPoint = [
31+ params ["openingWidth" ] / 2.0 ,
32+ params ["gapHeight" ] + params ["openingDepth" ] + gridDelta ,
33+ ]
2634vls .MakeGeometry (vertBox , vls .Box (minPoint , maxPoint )).apply ()
2735
2836geometry .applyBooleanOperation (vertBox , vls .BooleanOperationEnum .RELATIVE_COMPLEMENT )
2937
3038horiBox = vls .Domain (bounds , boundaryCons , gridDelta )
31- minPoint = [params ["openingWidth" ] / 2. - gridDelta , 0. ]
32- maxPoint = [params ["openingWidth" ] / 2. + params ["gapLength" ], params ["gapHeight" ]]
39+ minPoint = [params ["openingWidth" ] / 2.0 - gridDelta , 0.0 ]
40+ maxPoint = [params ["openingWidth" ] / 2.0 + params ["gapLength" ], params ["gapHeight" ]]
3341vls .MakeGeometry (horiBox , vls .Box (minPoint , maxPoint )).apply ()
3442geometry .applyBooleanOperation (horiBox , vls .BooleanOperationEnum .RELATIVE_COMPLEMENT )
3543
3644geometry .saveVolumeMesh ("SingleParticleALD_initial.vtu" )
3745
3846geometry .duplicateTopLevelSet (vps .Material .Al2O3 )
3947
40- gasMFP = vps .constants .gasMeanFreePath (params ["pressure" ], params ["temperature" ], params ["diameter" ])
48+ gasMFP = vps .constants .gasMeanFreePath (
49+ params ["pressure" ], params ["temperature" ], params ["diameter" ]
50+ )
4151print ("Mean free path: " , gasMFP , " um" )
4252
43- model = vps .SingleParticleALD (params ["stickingProbability" ], params ["numCycles" ],
44- params ["growthPerCycle" ], params ["totalCycles" ],
45- params ["coverageTimeStep" ], params ["evFlux" ],
46- params ["inFlux" ], params ["s0" ], gasMFP )
53+ model = vps .SingleParticleALD (
54+ params ["stickingProbability" ],
55+ params ["numCycles" ],
56+ params ["growthPerCycle" ],
57+ params ["totalCycles" ],
58+ params ["coverageTimeStep" ],
59+ params ["evFlux" ],
60+ params ["inFlux" ],
61+ params ["s0" ],
62+ gasMFP ,
63+ )
4764
4865ALP = vps .AtomicLayerProcess (geometry , model )
4966ALP .setCoverageTimeStep (params ["coverageTimeStep" ])
5774# MeasureProfile<NumericType, D>(domain, params.get("gapHeight") / 2.)
5875# .save(params.get<std::string>("outputFile"));
5976
60- geometry .saveVolumeMesh ("SingleParticleALD_final.vtu" )
77+ geometry .saveVolumeMesh ("SingleParticleALD_final.vtu" )
0 commit comments