Skip to content

Open Circuit Potentiometry

pypalmsens.OpenCircuitPotentiometry


              flowchart TD
              pypalmsens.OpenCircuitPotentiometry[OpenCircuitPotentiometry]
              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.OpenCircuitPotentiometry
                                pypalmsens._methods.base_model.BaseModel --> pypalmsens._methods.base.BaseTechnique
                

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

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

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

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

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

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

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

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

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



              click pypalmsens.OpenCircuitPotentiometry href "" "pypalmsens.OpenCircuitPotentiometry"
              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 open circuit potentiometry method parameters.

For Open Circuit Potentiometry there is no polarization, and the so-called Open Circuit Potential (OCP) is measured and recorded with constant interval times. The result is a curve of Potential vs. Time. The OCP is also called Open Circuit Voltage (OCV).

In corrosion, it is referred to as the "Corrosion Potential" (Ecorr), but in this context, it specifically denotes the potential of a metal or electrode when exposed to a corrosive environment.

This method is the same as Chronopotentiometry(current=0).

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:

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_we_current class-attribute instance-attribute

record_we_current: bool = False

Record working electrode current.

record_we_current_range class-attribute instance-attribute

record_we_current_range: AllowedCurrentRanges = '1uA'

Record working electrode current range.

See pypalmsens.settings.AllowedCurrentRanges for options.

run_time class-attribute instance-attribute

run_time: float = 1.0

Total run time of the measurement in s.

The minimum and maximum duration of a measurement: 5 * interval_time to 1,000,000 seconds (~278 hours).

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()