Skip to main content

driftfusion-analysis-plotting

Analyze simulation solutions, calculate physical quantities, and generate plots. Use this skill when processing completed simulations, extracting currents/densities, or visualizing results.

Ir a la instalación

Datos de origen

Repositorio
ShaneLogic/SolarLab
Última actividad en el origen
20 de marzo de 2026 a las 07:55
Idioma detectado de SKILL.md
inglés
Estrellas
5
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Explorador de archivos
2 archivos

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
driftfusion-analysis-plotting
description
Analyze simulation solutions, calculate physical quantities, and generate plots. Use this skill when processing completed simulations, extracting currents/densities, or visualizing results.
# Driftfusion Analysis and Plotting Access solution structures, calculate physical quantities, and generate visualization plots. ## When to Use - Analyzing completed simulation results - Calculating currents, quasi-Fermi levels, or recombination rates - Visualizing spatial or temporal profiles - Following standard simulation workflows ## Solution Structure Access Access solution structure `sol` with components: 1. **`u`**: 3D matrix [time, space, variable] 2. **`x`**: Spatial mesh 3. **`t`**: Time mesh 4. **`par`**: Parameters object **Variable Order in `u`**: 1. Electrostatic potential 2. Electron density 3. Hole density 4. Cation density (if 1 mobile ionic carrier) 5. Anion density (if 2 mobile ionic carriers) ## Output Analysis Use `dfana` class to calculate physical quantities: ```matlab result = dfana.my_calculation(sol) ``` Common calculations: - Currents (electron, hole, total) - Quasi-Fermi levels - Recombination rates - Carrier densities **CRITICAL WARNING**: The physical model in Equation Editor is NOT coupled to analysis functions. Users must manually ensure models in `dfana` and `df` are consistent. ## Plotting Use `dfplot` class for visualization: ```matlab dfplot.my_plot(sol, optional_arguments) ``` ### Variable vs Position ```matlab dfplot.n(sol, [t1, t2, ... tm]) % Plot at specific time points ``` - If time vector omitted, plots final time point ### Variable vs Time ```matlab dfplot.J(sol, x_position) % Plot at specific position ``` ### Integrated Variables ```matlab dfplot.Q(sol, [x1, x2]) % Integrate over spatial range ``` ### Generic 2D Plots ```matlab dfplot.x2d(sol, 'variable_name') ``` ## Standard Simulation Workflow Example: Cyclic Voltammogram 1. **Initialize system**: ```matlab init_driftfusion ``` 2. **Create parameters object**: ```matlab par = pci('path/to/Spiro-OMeTAD_perovskite_TiO2.csv') ``` 3. **Find equilibrium**: ```matlab soleq = equilibrate(par) ``` 4. **Run protocol**: ```matlab sol = doCV(soleq.ion, 0, 1.2, -0.2, 0, 50e-3) % Parameters: input, V_start, V_max, V_min, V_end, scan_rate ``` 5. **Plot results**: ```matlab dfplot.JVapp(sol, d_midactive) ``` ## Common Plot Variables - `d_midactive`: Position at midpoint of active layer - `n`, `p`: Electron and hole densities - `V`: Electrostatic potential - `J`: Current density - `Efn`, `Efp`: Quasi-Fermi levels ## Output - Calculated physical quantities (currents, densities, recombination rates) - Visual plots of simulation data - Analysis of device performance metrics
Ver en GitHub