data_fitting_tandem_cell¶
PV_Circuit_Model.data_fitting_tandem_cell
¶
Tandem_Cell_Fit_Parameters
¶
Bases: Fit_Parameters
Fit parameters for tandem and single-junction solar cells.
__init__(sample, bottom_cell_Voc=0.7, top_cell_Voc=1.2, disable_list=None)
¶
Initialize tandem-cell fit parameters and bounds.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sample
|
Device
|
Reference sample (Cell or MultiJunctionCell). |
required |
bottom_cell_Voc
|
float
|
Approximate Voc for bottom cell. |
0.7
|
top_cell_Voc
|
Optional[float]
|
Approximate Voc for top cell. |
1.2
|
disable_list
|
Optional[List[str]]
|
Parameter names to disable. |
None
|
Returns:
| Type | Description |
|---|---|
None
|
None |
Example
from PV_Circuit_Model.data_fitting_tandem_cell import Tandem_Cell_Fit_Parameters
from PV_Circuit_Model.device import quick_tandem_cell
params = Tandem_Cell_Fit_Parameters(quick_tandem_cell(), top_cell_Voc=1.2)
params.is_tandem
initialize_from_sample(sample)
¶
Initialize parameter values from a reference sample.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sample
|
Any
|
Reference sample to read initial values from. |
required |
Returns:
| Type | Description |
|---|---|
None
|
None |
Example
from PV_Circuit_Model.data_fitting_tandem_cell import Tandem_Cell_Fit_Parameters
from PV_Circuit_Model.device import quick_tandem_cell
cell = quick_tandem_cell()
params = Tandem_Cell_Fit_Parameters(cell)
params.initialize_from_sample(cell)
apply_to_ref(aux_info)
¶
Apply current parameter values to the reference sample.
Also writes parameter uncertainties into component aux["error"].
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
aux_info
|
Any
|
Auxiliary data (unused). |
required |
Returns:
| Type | Description |
|---|---|
None
|
None |
Example
from PV_Circuit_Model.data_fitting_tandem_cell import Tandem_Cell_Fit_Parameters
from PV_Circuit_Model.device import quick_tandem_cell
params = Tandem_Cell_Fit_Parameters(quick_tandem_cell())
params.apply_to_ref(aux_info=None)
analyze_solar_cell_measurements(measurements, num_of_rounds=20, regularization_method=0, prefix=None, sample_info=None, starting_guess=None, use_fit_dashboard=True, **kwargs)
¶
Analyze and fit solar-cell measurement data.
Builds an initial cell model, runs fitting, and optionally opens dashboards.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
measurements
|
Sequence[Any]
|
Measurement objects to fit. |
required |
num_of_rounds
|
int
|
Number of fitting rounds (0 for dry run). |
20
|
regularization_method
|
int
|
Regularization method ID. |
0
|
prefix
|
Optional[str]
|
Filename prefix for dashboard images. |
None
|
sample_info
|
Optional[Dict[str, Any]]
|
Sample metadata (area, thickness). |
None
|
starting_guess
|
Optional[Any]
|
Starting model to clone. |
None
|
use_fit_dashboard
|
bool
|
If True, create fit dashboards. |
True
|
**kwargs
|
Any
|
Extra options passed to fitting routines. |
{}
|
Returns:
| Type | Description |
|---|---|
Union[Tuple[Any, Optional[Interactive_Fit_Dashboard]], Any]
|
Union[Tuple[Any, Optional[Interactive_Fit_Dashboard]], Any]: Fit result or |
Union[Tuple[Any, Optional[Interactive_Fit_Dashboard]], Any]
|
(fitted_sample, interactive_dashboard). |
Example
from PV_Circuit_Model.data_fitting_tandem_cell import analyze_solar_cell_measurements
analyze_solar_cell_measurements([], num_of_rounds=0)