Skip to content

Chrono Potentiometry

pypalmsens.ChronoPotentiometry


              flowchart TD
              pypalmsens.ChronoPotentiometry[ChronoPotentiometry]
              pypalmsens._methods.base.BaseTechnique[BaseTechnique]
              pypalmsens._methods.mixins.CurrentRangeMixin[CurrentRangeMixin]
              pypalmsens._methods.mixins.PotentialRangeMixin[PotentialRangeMixin]
              pypalmsens._methods.mixins.PretreatmentMixin[PretreatmentMixin]
              pypalmsens._methods.mixins.PostMeasurementMixin[PostMeasurementMixin]
              pypalmsens._methods.mixins.PotentialLimitsMixin[PotentialLimitsMixin]
              pypalmsens._methods.mixins.MeasurementTriggersMixin[MeasurementTriggersMixin]
              pypalmsens._methods.mixins.DataProcessingMixin[DataProcessingMixin]
              pypalmsens._methods.mixins.MultiplexerMixin[MultiplexerMixin]
              pypalmsens._methods.mixins.GeneralMixin[GeneralMixin]
              pypalmsens._methods.base_model.BaseModel[BaseModel]

                              pypalmsens._methods.base.BaseTechnique --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.base.BaseTechnique
                

                pypalmsens._methods.mixins.CurrentRangeMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.CurrentRangeMixin
                

                pypalmsens._methods.mixins.PotentialRangeMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.PotentialRangeMixin
                

                pypalmsens._methods.mixins.PretreatmentMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.PretreatmentMixin
                

                pypalmsens._methods.mixins.PostMeasurementMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.PostMeasurementMixin
                

                pypalmsens._methods.mixins.PotentialLimitsMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.PotentialLimitsMixin
                

                pypalmsens._methods.mixins.MeasurementTriggersMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.MeasurementTriggersMixin
                

                pypalmsens._methods.mixins.DataProcessingMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.DataProcessingMixin
                

                pypalmsens._methods.mixins.MultiplexerMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.MultiplexerMixin
                

                pypalmsens._methods.mixins.GeneralMixin --> pypalmsens.ChronoPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.mixins.GeneralMixin
                



              click pypalmsens.ChronoPotentiometry href "" "pypalmsens.ChronoPotentiometry"
              click pypalmsens._methods.base.BaseTechnique href "" "pypalmsens._methods.base.BaseTechnique"
              click pypalmsens._methods.mixins.CurrentRangeMixin href "" "pypalmsens._methods.mixins.CurrentRangeMixin"
              click pypalmsens._methods.mixins.PotentialRangeMixin href "" "pypalmsens._methods.mixins.PotentialRangeMixin"
              click pypalmsens._methods.mixins.PretreatmentMixin href "" "pypalmsens._methods.mixins.PretreatmentMixin"
              click pypalmsens._methods.mixins.PostMeasurementMixin href "" "pypalmsens._methods.mixins.PostMeasurementMixin"
              click pypalmsens._methods.mixins.PotentialLimitsMixin href "" "pypalmsens._methods.mixins.PotentialLimitsMixin"
              click pypalmsens._methods.mixins.MeasurementTriggersMixin href "" "pypalmsens._methods.mixins.MeasurementTriggersMixin"
              click pypalmsens._methods.mixins.DataProcessingMixin href "" "pypalmsens._methods.mixins.DataProcessingMixin"
              click pypalmsens._methods.mixins.MultiplexerMixin href "" "pypalmsens._methods.mixins.MultiplexerMixin"
              click pypalmsens._methods.mixins.GeneralMixin href "" "pypalmsens._methods.mixins.GeneralMixin"
              click pypalmsens._methods.base_model.BaseModel href "" "pypalmsens._methods.base_model.BaseModel"
            

Create potentiometry method parameters.

Chronopotentiometry (CP) is an electrochemical technique that requires a galvanostat instead of a potentiostat. In this method, a constant current is applied, and the resulting potential (voltage) is continuously recorded over time in a definite time interval. This technique is particularly useful for studying electrochemical reactions, kinetics, and processes under non-steady-state conditions, offering valuable insights into how the electrode potential evolves in response to the applied current.

Methods:

  • from_dict

    Structure technique instance from dict.

  • from_method_id

    Create new instance of appropriate technique from method ID.

  • to_dict

    Return the technique instance as a new key/value dictionary mapping.

Attributes:

applied_current_range class-attribute instance-attribute

applied_current_range: AllowedCurrentRanges = '100mA'

Applied current range.

See pypalmsens.settings.AllowedCurrentRanges for options.

current class-attribute instance-attribute

current: float = 0.0

The current to apply in the given current range.

Note that this value acts as a multiplier in the applied_current_range.

So if 10 uA is the applied_current_range and 1.5 is given as current value, the applied current will be 15 uA.

current_range class-attribute instance-attribute

current_range: CurrentRange = Field(default_factory=CurrentRange)

Set the autoranging current.

data_processing class-attribute instance-attribute

data_processing: DataProcessing = Field(default_factory=DataProcessing)

Set the data processing settings.

general class-attribute instance-attribute

general: General = Field(default_factory=General)

Sets general/other settings.

interval_time class-attribute instance-attribute

interval_time: float = 0.1

Time between two potential samples in s.

measurement_triggers class-attribute instance-attribute

measurement_triggers: MeasurementTriggers = Field(default_factory=MeasurementTriggers)

Set the trigger at measurement settings.

multiplexer class-attribute instance-attribute

multiplexer: Multiplexer = Field(default_factory=Multiplexer)

Set the multiplexer settings.

post_measurement class-attribute instance-attribute

post_measurement: PostMeasurement = Field(default_factory=PostMeasurement)

Set the post measurement settings.

potential_limits class-attribute instance-attribute

potential_limits: PotentialLimits = Field(default_factory=PotentialLimits)

Set the potential limit settings.

potential_range class-attribute instance-attribute

potential_range: PotentialRange = Field(default_factory=PotentialRange)

Set the autoranging potential.

pretreatment class-attribute instance-attribute

pretreatment: Pretreatment = Field(default_factory=Pretreatment)

Set the pretreatment settings.

record_auxiliary_input class-attribute instance-attribute

record_auxiliary_input: bool = False

Record auxiliary input.

record_cell_potential class-attribute instance-attribute

record_cell_potential: bool = False

Record cell potential.

Counter electrode vs ground.

record_we_current class-attribute instance-attribute

record_we_current: bool = False

Record working electrode current.

run_time class-attribute instance-attribute

run_time: float = 1.0

Total run time of the measurement in s.

from_dict classmethod

from_dict(obj: dict[str, Any]) -> BaseTechnique

Structure technique instance from dict.

Opposite of .to_dict()

Source code in src/pypalmsens/_methods/base.py
35
36
37
38
39
40
@classmethod
def from_dict(cls, obj: dict[str, Any]) -> BaseTechnique:
    """Structure technique instance from dict.

    Opposite of `.to_dict()`"""
    return cls.model_validate(obj)

from_method_id classmethod

from_method_id(id: str) -> BaseTechnique

Create new instance of appropriate technique from method ID.

Source code in src/pypalmsens/_methods/base.py
42
43
44
45
46
@classmethod
def from_method_id(cls, id: str) -> BaseTechnique:
    """Create new instance of appropriate technique from method ID."""
    new = cls._registry[id]
    return new()

to_dict

to_dict() -> dict[str, Any]

Return the technique instance as a new key/value dictionary mapping.

Source code in src/pypalmsens/_methods/base.py
31
32
33
def to_dict(self) -> dict[str, Any]:
    """Return the technique instance as a new key/value dictionary mapping."""
    return self.model_dump()