Skip to content

Conversation

@vvahidd
Copy link
Contributor

@vvahidd vvahidd commented Jan 21, 2026

No description provided.

@vvahidd vvahidd marked this pull request as draft January 21, 2026 19:57
vvahidd and others added 5 commits January 23, 2026 16:27
Split monolithic PalaceSim (1,231 lines) into focused simulation classes:
- SimBase: shared geometry, stack, materials, mesh, preview functionality
- DrivenSim: frequency-domain S-parameter extraction
- EigenmodeSim: resonance/mode finding (not yet fully implemented)
- ElectrostaticSim: capacitance extraction (not yet fully implemented)

New models/ submodule with validated Pydantic configs:
- DrivenConfig, EigenmodeConfig, ElectrostaticConfig for problem types
- PortConfig, CPWPortConfig, TerminalConfig for port definitions
- MeshConfig, NumericalConfig, MaterialConfig for simulation settings

Key design changes:
- No method chaining (mutators return None, not self)
- validate_assignment=True for immediate validation on mutation
- PalaceSim kept as deprecated backward-compatible wrapper

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move stack extraction to gsim/common/stack/ for sharing with FDTD
- Add gsim/common/geometry.py with Geometry wrapper class
- Remove inheritance (delete base.py), use composition instead
- Convert dataclasses to Pydantic models for consistency
- Remove deprecated PalaceSim class and legacy StackConfig/LayerConfig
- Update all imports to use gsim.common.stack directly
- Simulation classes (DrivenSim, EigenmodeSim, ElectrostaticSim) are
  now standalone with geometry: Geometry and stack: LayerStack fields

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add docs/nbs/palace.md with IHP PDK example
- Update docs/index.md with new DrivenSim API
- Add IHP as docs-only dependency in pyproject.toml
- Delete outdated ARCHITECTURE.md
- Update docs/nbs/.gitignore to only ignore _* files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add SICN quality metric to detect invalid/tangled elements
- Add min/max edge length statistics
- Add physical groups listing with Gmsh tags
- Display groups as bullet points for readability

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Pass mesh_stats from MeshResult to SimulationResult
- Replace print() with logger.info() for mesh generation
- Add mesh_stats field to pipeline MeshResult

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vvahidd vvahidd changed the title Add simulation type methods to PalaceSim (.driven(), .eigenmode(), etc.) palace api updates Jan 24, 2026
@vvahidd vvahidd marked this pull request as ready for review January 24, 2026 11:42
@vvahidd vvahidd merged commit 4e697c1 into main Jan 24, 2026
5 checks passed
@vvahidd vvahidd deleted the update-palace-api branch January 24, 2026 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants