Read the equation
This expression combines sodium, potassium, and chloride concentrations weighted by their relative permeabilities. Chloride’s inside and outside positions are reversed because it is an anion. The implementation uses fixed concentrations and permeability settings to produce a membrane-potential estimate, under the model’s constant-field assumptions.
Terms & definitions
| Term | Meaning in this source |
|---|---|
| P | Relative ionic permeabilities |
| V_m | Membrane potential |
| R | Gas constant |
| T | Absolute temperature |
| F | Faraday constant |
How it works
Read the definition from its right-hand expression to the quantity on the left. Its surrounding source records the intended input, state, or parameter context. Where the source leaves an operation unspecified, this page preserves that gap.
Assumptions & limits
Source recovery establishes that the expression appears in this record. Its mathematical validity, implementation behavior, and interpretation must be assessed separately. See the linked source and research notes for the checks available for this version.
Original context
Read the surrounding source passage
// Nernst Equation: E_ion = (RT/zF) * ln([ion]_out/[ion]_in)
// Calculates equilibrium potential for a single ion
inline float nernst(float z, float conc_out, float conc_in) {
return (RT_F / z) * std::log(conc_out / conc_in) * 1000.0f; // Convert to mV
}
// Goldman-Hodgkin-Katz Equation
// V_m = (RT/F) * ln((P_Na[Na]_o + P_K[K]_o + P_Cl[Cl]_i) / (P_Na[Na]_i + P_K[K]_i + P_Cl[Cl]_o))
struct GHKEquation {
float P_Na = 1.0f; // Na+ permeability (relative)
float P_K = 20.0f; // K+ permeability (at rest, ~20x Na+)
float P_Cl = 5.0f; // Cl- permeability
float membrane_potential() const {
float num = P_Na * NA_OUT + P_K * K_OUT + P_Cl * CL_IN;
float den = P_Na * NA_IN + P_K * K_IN + P_Cl * CL_OUT;
return RT_F * std::log(num / den) * 1000.0f; // mV
}Exact original notation
V_m = (RT/F) * ln((P_Na[Na]_o + P_K[K]_o + P_Cl[Cl]_i) / (P_Na[Na]_i + P_K[K]_i + P_Cl[Cl]_o))