Skip to content

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)