# Shared components guide

Use shared geometry and layer-stack objects to describe components and their fabrication stack across simulation engines. The links below open the API reference for each object or helper.

## Geometry

- `Geometry`
- `GeometryModel`
- `Prism`
- `extract_geometry_model`

## Stack

- `LayerStack`
- `Layer`

## PN Junction

Depletion model after Sze &amp; Ng, *Physics of Semiconductor Devices*, ch. 2, plus the 1D free-carrier plasma-dispersion model for the complex optical permittivity and the doping-profile geometry builders.

- `PNJunctionConfig`
- `make_pn_junction_profile`
- `make_segmented_junction_profile`
- `make_doping_profile`
- `junction_epsilon_profile`
- `carrier_profile_1d`
- `epsilon_eff_relative`
- `optical_params`
- `refractive_index`
- `drude_relaxation_times`
- `built_in_voltage`
- `depletion_width`
- `depletion_extents`
- `junction_capacitance_per_area`
- `select_junction_mode`

## Visualization

- `plot_prisms_3d`
- `plot_prism_slices`
- `create_web_export`
- `export_3d_mesh`
