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.

Parameters

data (pandas.DataFrame) – Measured data

Returns

Derived quantities listed in Columns.output().

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 output()[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]) –