Skip to content

Commit 0a9fd29

Browse files
committed
template work
1 parent b01a31c commit 0a9fd29

3 files changed

Lines changed: 51 additions & 15 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ PiezoD/
3131
├── lookupTableGeneration/ # FLOOXS TCAD simulation (Docker)
3232
│ ├── Dockerfile # FLOOXS build instructions
3333
│ ├── docker-compose.yml # Container service definition
34+
│ ├── templates/ # FLOOXS simulation templates
3435
│ ├── simulations/ # Input/output directory
35-
│ ├── postProcessTables.m # Post-processing (legacy)
36+
│ ├── legacy/ # TSUPREM-4 reference files
3637
│ └── lookupTable.mat # Generated data
3738
├── Docs/ # Website (jemdoc)
3839
│ ├── html/ # Generated HTML

lookupTableGeneration/README.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,22 @@ docker compose run --rm flooxs /bin/bash
3939

4040
1. Generate inputs - Python script creates FLOOXS input files in `simulations/`
4141
2. Run simulations - `docker compose run` executes FLOOXS on each input
42-
3. Post-process - Python/MATLAB extracts profiles and builds lookup table
42+
3. Post-process - Python extracts profiles and builds lookup table
43+
44+
## Structure
45+
46+
```
47+
lookupTableGeneration/
48+
├── Dockerfile
49+
├── docker-compose.yml
50+
├── templates/
51+
│ └── ion_implant.tcl # FLOOXS simulation template
52+
├── simulations/ # Input/output directory (mounted in container)
53+
└── legacy/ # TSUPREM-4 reference files
54+
├── simulation.template
55+
├── simulationControl.py
56+
└── postProcessTables.m
57+
```
4358

4459
## Parameter Space
4560

@@ -48,19 +63,8 @@ docker compose run --rm flooxs /bin/bash
4863
| Dopants | Boron, Phosphorus, Arsenic |
4964
| Doses | 2e14, 2e15, 2e16 cm^-2 |
5065
| Energies | 20, 50, 80 keV |
51-
| Anneal times | 15, 30, 45, 60, 75, 90, 105, 120 min |
66+
| Anneal times | 15, 30, 45, 60, 75, 90, 105, 120, 180, 240, ..., 900 min |
5267
| Anneal temps | 900, 1000, 1100 C |
5368
| Oxidation | With/without passivation oxide |
5469

55-
Total: 3 x 3 x 3 x 8 x 3 x 2 = 1296 simulations
56-
57-
## Files
58-
59-
| File | Description |
60-
|------|-------------|
61-
| `docker-compose.yml` | Container service definition |
62-
| `Dockerfile` | FLOOXS build instructions |
63-
| `simulations/` | Input/output directory (mounted in container) |
64-
| `postProcessTables.m` | MATLAB post-processor (legacy) |
65-
| `simulation.template` | TSUPREM-4 template (legacy, needs conversion) |
66-
| `simulationControl.py` | Python 2 runner (legacy, needs rewrite) |
70+
Total: 3 x 3 x 3 x 21 x 3 x 2 = 3402 simulations
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Ion implantation and diffusion simulation for PiezoD lookup tables
2+
# FLOOXS template - parameters substituted by runner script
3+
#
4+
# Parameters:
5+
# ${dopant} - boron, phosphorus, or arsenic
6+
# ${dose} - implant dose (cm^-2)
7+
# ${energy} - implant energy (keV)
8+
# ${temp} - anneal temperature (C)
9+
# ${time} - anneal time (minutes)
10+
# ${outputFile} - output filename
11+
12+
# 1D mesh setup (5um depth, fine mesh near surface)
13+
line x loc=0.0 spac=0.001 tag=Top
14+
line x loc=0.5 spac=0.005
15+
line x loc=5.0 spac=0.05 tag=Bottom
16+
17+
region Silicon xlo=Top xhi=Bottom
18+
init
19+
20+
# Ion implantation
21+
implant ${dopant} dose=${dose} energy=${energy} tilt=7
22+
23+
# TODO: Verify diffusion setup - may need pdbSetString for dopant equations
24+
# diffuse time=${time} temp=${temp}
25+
26+
# Output dopant profile
27+
sel z=${dopant}
28+
puts [layers]
29+
30+
# TODO: Add file output for post-processing
31+
# print.1d equivalent needed

0 commit comments

Comments
 (0)