Squidstat API User Manual
Loading...
Searching...
No Matches
AisCyclicVoltammetryElement Class Referencefinal

This experiment sweeps the potential of the working electrode back and forth between the first voltage-limit and the second voltage-limit at a constant scan rate (dE/dt) for a specified number of cycles. More...

#include <AisCyclicVoltammetryElement.h>

Inherits AisAbstractElement.

Public Member Functions

 AisCyclicVoltammetryElement (double startVoltage, double firstVoltageLimit, double secondVoltageLimit, double endVoltage, double dEdt, double samplingInterval)
 constructor of the cyclic voltammetry element. More...
 
 AisCyclicVoltammetryElement (const AisCyclicVoltammetryElement &)
 copy constructor for the AisCyclicVoltammetryElement object.
 
AisCyclicVoltammetryElementoperator= (const AisCyclicVoltammetryElement &)
 overload equal to operator for the AisCyclicVoltammetryElement object.
 
QString getName () const override
 get the name of the element. More...
 
QStringList getCategory () const override
 get a list of applicable categories of the element. More...
 
double getQuietTime () const
 Gets the quiet time duration. More...
 
void setQuietTime (double quietTime)
 Sets the quiet time duration. More...
 
double getQuietTimeSamplingInterval () const
 gets the potential sampling interval. More...
 
void setQuietTimeSamplingInterval (double quietTimeSamplingInterval)
 Sets the quiet time sampling interval. More...
 
double getStartVoltage () const
 get the value set for the start voltage More...
 
void setStartVoltage (double startVoltage)
 set the value for the start voltage. More...
 
bool isStartVoltageVsOCP () const
 tells whether the start voltage is set with respect to the open circuit voltage or not. More...
 
void setStartVoltageVsOCP (bool startVoltageVsOCP)
 set whether to reference the start voltage against the open-circuit voltage or the reference terminal. More...
 
double getFirstVoltageLimit () const
 get the value set for the first voltage-limit. More...
 
void setFirstVoltageLimit (double v1)
 set the first voltage-limit More...
 
bool isFirstVoltageLimitVsOCP () const
 tells whether the first voltage-limit is set with respect to the open circuit voltage or not. More...
 
void setFirstVoltageLimitVsOCP (bool firstVoltageLimitVsOCP)
 set whether to reference the first voltage-limit against the open-circuit voltage or not. More...
 
double getSecondVoltageLimit () const
 get the value set for the second voltage-limit More...
 
void setSecondVoltageLimit (double v2)
 set the second voltage-limit More...
 
bool isSecondVoltageLimitVsOCP () const
 tells whether the second voltage-limit is set with respect to the open circuit voltage or not. More...
 
void setSecondVoltageLimitVsOCP (bool secondVoltageLimitVsOCP)
 set whether to reference the second voltage-limit against the open-circuit voltage or not. More...
 
unsigned int getNumberOfCycles ()
 get the value set for the number of cycles More...
 
void setNumberOfCycles (unsigned int cycles)
 set the number of cycles to oscillate between the first voltage-limit and the second voltage-limit. More...
 
double getEndVoltage () const
 get the value set for the ending potential value. More...
 
void setEndVoltage (double endVoltage)
 set the ending potential value. More...
 
bool isEndVoltageVsOCP () const
 tells whether the end voltage is set with respect to the open circuit voltage or the reference terminal. More...
 
void setEndVoltageVsOCP (bool endVoltageVsOCP)
 set whether to reference the end voltage against the open-circuit voltage or the reference terminal. More...
 
double getdEdt () const
 get the value set for the constant scan rate dE/dt. More...
 
void setdEdt (double dEdt)
 set the value for the constant scan rate dE/dt. More...
 
double getSamplingInterval () const
 get how frequently we are sampling the data. More...
 
void setSamplingInterval (double sampInterval)
 set how frequently we are sampling the data. More...
 
bool isAutoRange () const
 tells whether the current range is set to auto-select or not. More...
 
void setAutoRange ()
 set to auto-select the current range. More...
 
double getApproxMaxCurrent () const
 get the value set for the expected maximum current. More...
 
void setApproxMaxCurrent (double approxMaxCurrent)
 set maximum current expected, for manual current range selection. More...
 
double getAlphaFactor () const
 Get the value set for the alpha factor. More...
 
void setAlphaFactor (double alphaFactor)
 alpha factor controls the percentage of data sampled during a given interval. Data will be averaged over the last n% of the sampling interval. More...
 

Detailed Description

This experiment sweeps the potential of the working electrode back and forth between the first voltage-limit and the second voltage-limit at a constant scan rate (dE/dt) for a specified number of cycles.

The scan will always start from the start voltage towards the first voltage-limit. The experiment will continue to cycle between the first voltage-limit and the second voltage-limit according to the number of cycles. The cycling scheme is as follow: start voltage → [first voltage-limitfirst voltage-limit]n → Ending potential, where “n” is number of cycles.

Constructor & Destructor Documentation

◆ AisCyclicVoltammetryElement()

AisCyclicVoltammetryElement::AisCyclicVoltammetryElement ( double  startVoltage,
double  firstVoltageLimit,
double  secondVoltageLimit,
double  endVoltage,
double  dEdt,
double  samplingInterval 
)
explicit

constructor of the cyclic voltammetry element.

Parameters
startVoltagethe value of the start voltage in volts
firstVoltageLimitthe value of the first voltage-limit in volts
secondVoltageLimitthe value of the second voltage-limit in volts
endVoltagethe value of the end voltage in volts
dEdtthe constant scan rate dE/dt in V/s.
samplingIntervalthe data sampling interval value in seconds.

Member Function Documentation

◆ getAlphaFactor()

double AisCyclicVoltammetryElement::getAlphaFactor ( ) const

Get the value set for the alpha factor.

Returns
The value for the alpha factor is represented as a percent between 0 and 100.
Note
If nothing is set, this function will return a default value of 75.

◆ getApproxMaxCurrent()

double AisCyclicVoltammetryElement::getApproxMaxCurrent ( ) const

get the value set for the expected maximum current.

Returns
the value set for the expected maximum current in Amps.
Note
if nothing was manually set, the device will auto-select the current range and the return value will be positive infinity.

◆ getCategory()

QStringList AisCyclicVoltammetryElement::getCategory ( ) const
override

get a list of applicable categories of the element.

Returns
A list of applicable categories: ("Potentiostatic Control", "Basic Experiments").

◆ getdEdt()

double AisCyclicVoltammetryElement::getdEdt ( ) const

get the value set for the constant scan rate dE/dt.

Returns
the value set for the constant scan rate dE/dt in V/s.

◆ getEndVoltage()

double AisCyclicVoltammetryElement::getEndVoltage ( ) const

get the value set for the ending potential value.

This is the value of the voltage at which the experiment will stop. After the last cycle, the experiment will do one last sweep towards this value.

Returns
the value set for the ending voltage in volts.

◆ getFirstVoltageLimit()

double AisCyclicVoltammetryElement::getFirstVoltageLimit ( ) const

get the value set for the first voltage-limit.

After the starting voltage, the scan will go to the first voltage-limit. This could result in either upward scan first if the first voltage-limit is higher than the start voltage or downward scan first if the first voltage-limit is lower than the start voltage.

Returns
the first voltage-limit value in volts.

◆ getName()

QString AisCyclicVoltammetryElement::getName ( ) const
override

get the name of the element.

Returns
The name of the element: "Cyclic Voltammetry".

◆ getNumberOfCycles()

unsigned int AisCyclicVoltammetryElement::getNumberOfCycles ( )

get the value set for the number of cycles

Returns
the number of cycles set.

◆ getQuietTime()

double AisCyclicVoltammetryElement::getQuietTime ( ) const

Gets the quiet time duration.

Returns
The quiet time duration in seconds.

◆ getQuietTimeSamplingInterval()

double AisCyclicVoltammetryElement::getQuietTimeSamplingInterval ( ) const

gets the potential sampling interval.

Returns
samplingInterval The quiet time sampling interval to set in seconds.

◆ getSamplingInterval()

double AisCyclicVoltammetryElement::getSamplingInterval ( ) const

get how frequently we are sampling the data.

Returns
the data sampling interval value in seconds.

◆ getSecondVoltageLimit()

double AisCyclicVoltammetryElement::getSecondVoltageLimit ( ) const

get the value set for the second voltage-limit

After starting from the start-voltage and reaching the first voltage-limit, the scan will go to the second voltage limit. The scan will continue to oscillate between the first and second voltage-limits according to the number of cycles.

Returns
the second voltage-limit value in volts.

◆ getStartVoltage()

double AisCyclicVoltammetryElement::getStartVoltage ( ) const

get the value set for the start voltage

Returns
the value of the start voltage in volts

◆ isAutoRange()

bool AisCyclicVoltammetryElement::isAutoRange ( ) const

tells whether the current range is set to auto-select or not.

Returns
true if the current range is set to auto-select and false if a rage has been selected.

◆ isEndVoltageVsOCP()

bool AisCyclicVoltammetryElement::isEndVoltageVsOCP ( ) const

tells whether the end voltage is set with respect to the open circuit voltage or the reference terminal.

Returns
true if the end voltage is set with respect to the open-circuit voltage and false if set against the reference terminal.
Note
if no value was set, the default is false

◆ isFirstVoltageLimitVsOCP()

bool AisCyclicVoltammetryElement::isFirstVoltageLimitVsOCP ( ) const

tells whether the first voltage-limit is set with respect to the open circuit voltage or not.

Returns
true if the first voltage-limit is set with respect to the open-circuit voltage and false if not.
Note
if no value was set, the default is false.

◆ isSecondVoltageLimitVsOCP()

bool AisCyclicVoltammetryElement::isSecondVoltageLimitVsOCP ( ) const

tells whether the second voltage-limit is set with respect to the open circuit voltage or not.

Returns
true if the second voltage-limit is set with respect to the open-circuit voltage and false if not.
Note
if no value was set, the default is false.

◆ isStartVoltageVsOCP()

bool AisCyclicVoltammetryElement::isStartVoltageVsOCP ( ) const

tells whether the start voltage is set with respect to the open circuit voltage or not.

Returns
true if the start voltage is set with respect to the open-circuit voltage and false if not.

◆ setAlphaFactor()

void AisCyclicVoltammetryElement::setAlphaFactor ( double  alphaFactor)

alpha factor controls the percentage of data sampled during a given interval. Data will be averaged over the last n% of the sampling interval.

This is an optional parameter. If nothing is set, the device will use the default value of 75.

Parameters
alphaFactorthe value for the alphaFactor ranges from 0 to 100.

◆ setApproxMaxCurrent()

void AisCyclicVoltammetryElement::setApproxMaxCurrent ( double  approxMaxCurrent)

set maximum current expected, for manual current range selection.

This is an optional parameter. If nothing is set, the device will auto-select the current range.

Parameters
approxMaxCurrentthe value for the maximum current expected in Amps.

◆ setAutoRange()

void AisCyclicVoltammetryElement::setAutoRange ( )

set to auto-select the current range.

This option is set by default. There is no need to call this function to auto-select if the range was not manually set.

◆ setdEdt()

void AisCyclicVoltammetryElement::setdEdt ( double  dEdt)

set the value for the constant scan rate dE/dt.

Parameters
dEdtthe value set for the constant scan rate dE/dt in V/s.

◆ setEndVoltage()

void AisCyclicVoltammetryElement::setEndVoltage ( double  endVoltage)

set the ending potential value.

This is the value of the voltage at which the experiment will stop. After the last cycle, the experiment will do one last sweep towards this value.

Parameters
endVoltagethe value to set for the ending potential in volts.

◆ setEndVoltageVsOCP()

void AisCyclicVoltammetryElement::setEndVoltageVsOCP ( bool  endVoltageVsOCP)

set whether to reference the end voltage against the open-circuit voltage or the reference terminal.

The reference terminal is for you to connect to any reference point you like. Connect it to the working electrode to reference ground.

Parameters
endVoltageVsOCPtrue to set the end voltage to be referenced against the open-circuit voltage and false if set against the reference terminal.

◆ setFirstVoltageLimit()

void AisCyclicVoltammetryElement::setFirstVoltageLimit ( double  v1)

set the first voltage-limit

After the starting voltage, the scan will go to the first voltage-limit. This could result in either upward scan first if the first voltage-limit is higher than the start voltage or downward scan first if the first voltage-limit is lower than the start voltage.

Parameters
v1first voltage-limit value in volts

◆ setFirstVoltageLimitVsOCP()

void AisCyclicVoltammetryElement::setFirstVoltageLimitVsOCP ( bool  firstVoltageLimitVsOCP)

set whether to reference the first voltage-limit against the open-circuit voltage or not.

The reference terminal is for you to connect to any reference point you like. Connect it to the working electrode to reference ground.

Parameters
firstVoltageLimitVsOCPtrue to set the upper voltage to be referenced against the open-circuit voltage and false otherwise.

◆ setNumberOfCycles()

void AisCyclicVoltammetryElement::setNumberOfCycles ( unsigned int  cycles)

set the number of cycles to oscillate between the first voltage-limit and the second voltage-limit.

Parameters
cyclesthe number of cycles to set

◆ setQuietTime()

void AisCyclicVoltammetryElement::setQuietTime ( double  quietTime)

Sets the quiet time duration.

Parameters
quietTimeThe quiet time duration to set in seconds.

◆ setQuietTimeSamplingInterval()

void AisCyclicVoltammetryElement::setQuietTimeSamplingInterval ( double  quietTimeSamplingInterval)

Sets the quiet time sampling interval.

Parameters
quietTimeSamplingIntervalThe quiet time sampling interval to set in seconds.

◆ setSamplingInterval()

void AisCyclicVoltammetryElement::setSamplingInterval ( double  sampInterval)

set how frequently we are sampling the data.

Parameters
sampIntervalthe data sampling interval value in seconds.

◆ setSecondVoltageLimit()

void AisCyclicVoltammetryElement::setSecondVoltageLimit ( double  v2)

set the second voltage-limit

After starting from the start-voltage and reaching the first voltage-limit, the scan will go to the second voltage limit. The scan will continue to oscillate between the first and second voltage-limits according to the number of cycles.

Parameters
v2the second voltage-limit value in volts

◆ setSecondVoltageLimitVsOCP()

void AisCyclicVoltammetryElement::setSecondVoltageLimitVsOCP ( bool  secondVoltageLimitVsOCP)

set whether to reference the second voltage-limit against the open-circuit voltage or not.

The reference terminal is for you to connect to any reference point you like. Connect it to the working electrode to reference ground.

Parameters
secondVoltageLimitVsOCPtrue to set the second voltage-limit to be referenced against the open-circuit voltage and false otherwise.

◆ setStartVoltage()

void AisCyclicVoltammetryElement::setStartVoltage ( double  startVoltage)

set the value for the start voltage.

Parameters
startVoltagethe value of the start voltage in volts

◆ setStartVoltageVsOCP()

void AisCyclicVoltammetryElement::setStartVoltageVsOCP ( bool  startVoltageVsOCP)

set whether to reference the start voltage against the open-circuit voltage or the reference terminal.

The reference terminal is for you to connect to any reference point you like. Connect it to the working electrode to reference ground.

Parameters
startVoltageVsOCPtrue to if the start voltage is set to reference the open-circuit voltage and false if set against the reference terminal.

The documentation for this class was generated from the following file: