Add thermal silicon oxidation models - #230
Merged
Merged
Conversation
New process models: - IonImplantation: wraps csImplant as a psProcess with zero duration; supports Pearson IV and Gaussian profiles, tilt angle, dose control, mask/screen materials, damage field, and optional embedded boundary reconstruction for sub-grid surface offsets on tilted interfaces - Anneal: thermal anneal solver driven by csAnneal; Arrhenius diffusivity, solid solubility capping, I/V defect coupling, transient enhanced diffusion (TED), arbitrary temperature schedules Supporting additions: - psImplantProfile, psImplantPearson, psImplantTable, psImplantDamage, psImplantParams, psImplantConstants, psImplantSetup - psAnneal, psAnnealParams, psAnnealSetup - psModelDb / psModelDbLookup / psModelNames for table-driven profile lookup - psUnits: physical unit helpers Changes to existing files: - psDomain: add withEmbeddedBoundaries parameter to generateCellSet() - psProcess: defer AUTO flux-engine resolution to apply() so callback-only and geometric models never enter the flux engine code path - viennaps.hpp: include new headers; CMakeLists.txt: install them Tests: anneal, implantProfile, ionImplant (includes embedded boundary depth test) Example: ionImplantation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… geometry templates
…branch, add GPU install for ViennaLS
…mp version to 4.6.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds thermal silicon oxidation simulation to ViennaPS via the new
Oxidationprocess model, which wraps the coupled diffusion–deformation engine from ViennaLS.New process model
Oxidation<T,D>: thermal Si oxidation based on the Deal-Grove model. Inputs: temperature (°C), time (hours), oxidant type (dry/wet), pressure, and crystal orientation (Si100,Si110,Si111,PolySi). Uses a built-in Arrhenius table for standard 1 atm low-doping silicon. Automatically seeds a native-oxide layer if no SiO2 level set is present. Exposes GPU BiCGSTAB acceleration, LOCOS mask-contact mode, and full solver tolerance/iteration control.New examples
Each example ships with C++ and Python versions,
config.txt, andREADME.finOxidationstepOxidationtrenchOxidationlocosOxidationPython bindings
New types exposed:
Oxidation,OxidantType,SiliconOrientation. Stubs updated for 2D and 3D.Tests
New test suite under
tests/oxidation/covering dry/wet Arrhenius rates and Si orientation ratios.Infrastructure
lsOxidation,lsOxidationDiffusion,lsOxidationDeformation)VIENNALS_USE_GPU=ONfor GPU-accelerated BiCGSTAB