Curie temperature

Curie temperature.

Find Curie temperature from magnetization vs temperature measurement.

physicslab.experiment.curie_temperature.process(data)[source]

Bundle method.

Parameter data must include temperature and magnetization. See Columns for details and column names.

Supplying None for data returns pandas.Series of the same columns with values being units.

Parameters

data (pandas.DataFrame) – Measured data. If None, return units instead

Returns

Derived quantities listed in Columns.process() or units

Return type

pandas.Series

class physicslab.experiment.curie_temperature.Columns[source]

Bases: physicslab.utility._ColumnsBase

Column names.

classmethod mandatory()[source]

Get the current values of the mandatory column names.

Return type

set(str)

classmethod process()[source]

Get the current values of the process() output column names.

Return type

lits(str)

class physicslab.experiment.curie_temperature.Measurement(data)[source]

Magnetization vs temperature measurement.

Parameters

data (pandas.DataFrame) – Magnetization and temperature data.

Raises

ValueError – If data is missing a mandatory column

analyze(p0=None)[source]

Find Curie temperature.

Parameters

p0 (tuple, optional) – Initial guess of spontaneous magnetization curve parameters. If None, the parameters will be estimated automatically, defaults to None

Returns

Curie temperature

Return type

float

fit(T, M, p0=None, high_temperature_focus=False)[source]

Fit spontaneous magnetization curve to the data.

Save the fit into Columns.HIGHTEMPERATUREFIT.

Parameters
  • T (numpy.ndarray) – Temperature

  • M (numpy.ndarray) – Magnetization

  • p0 (tuple, optional) – Initial guess of spontaneous magnetization curve parameters. If None, the parameters will be estimated automatically, defaults to None

  • high_temperature_focus (bool, optional) – Give high temperature data more weight, defaults to False

Returns

Curie temperature, fit

Return type

tuple(float, numpy.ndarray)

physicslab.experiment.curie_temperature.plot(data_list)[source]

Simple plot data and fit for all measurement at once.

Parameters

data_list (list[pandas.DataFrame]) –

Returns

Same objects as from matplotlib.pyplot.subplots()

Return type

tuple[Figure, Axes]