ElectricCurrentPDEComponent[vars,pars]
yields an electric current PDE term with variables vars and parameters pars.
ElectricCurrentPDEComponent
ElectricCurrentPDEComponent[vars,pars]
yields an electric current PDE term with variables vars and parameters pars.
Details
- ElectricCurrentPDEComponent is typically used to generate an electric current continuity equation with model variables vars and model parameters pars.
- ElectricCurrentPDEComponent returns a sum of differential operators to be used as a part of partial differential equations:
- ElectricCurrentPDEComponent creates PDE components for stationary, frequency and parametric analysis.
- ElectricCurrentPDEComponent models electric fields produced by direct or alternating currents in conductive materials when magnetic and inductive effects are negligible.
- The results of ElectricCurrentPDEComponent can be use to compute current density magnitude values. »
- ElectricCurrentPDEComponent models stationary or harmonic electric fields with the electric scalar potential
[
] as dependent variable and independent variables
[
]. - Stationary variables vars are vars={V[x1,…,xn],{x1,…,xn}}.
- Time-dependent variables vars are vars={V[t,x1,…,xn],t,{x1,…,xn}}.
- Frequency-dependent variables vars are vars={V[x1,…,xn],ω,{x1,…,xn}}.
- The current continuity equation is
with volume charge density
[
], time variable
[
] and current density vector
[
]. - The constitutional material model equation, known as Ohm's law, is
where
[
] is the electrical conductivity and
[
] the electric field with
. - ElectricCurrentPDEComponent provides a stationary electric current model where
[
] is an externally generated current density vector and
[
] a current source: - ElectricCurrentPDEComponent provides a time domain model with time variable
[
], vacuum permittivity
[
] and relative permittivity
[
]: - ElectricCurrentPDEComponent provides a frequency domain model with vacuum permittivity
[
], polarization vector
[
], angular frequency
[
] and the imaginary unit
: - For linear materials, the frequency domain model simplifies to:
is the unitless relative permittivity.
can be isotropic, orthotropic or anisotropic.- The implicit default boundary condition for the electric current model is a 0 ElectricCurrentDensityValue.
- The units of the electric current model terms are in [
]. - The following parameters pars can be given:
-
parameter default symbol "CrossSectionalArea" 1
, cross-sectional area in [
] "CurrentSource" 0
, current source in [
]"ElectricalConductivity" 1
, electrical conductivity in [
]"ExternalCurrentSource" {0,…}
, external current density vector in [
]"Material" - none "RegionSymmetry" None 
"Thickness" 1
, thickness in [
] - If a "Material" is specified, material constants are extracted from the material data; otherwise, relevant material parameters need to be specified.
- Additional parameters can be specified for the frequency domain models:
-
parameter default symbol "Polarization" {0,…}
, polarization vector in [
]"RelativePermittivity" 1
, unitless relative permittivity"RemanentPolarization" {0,…}
, remanent polarization vector in [
]"VacuumPermittivity" 
, vacuum permittivity in [
] - All parameters may depend on the spacial variable
and dependent variable
. - The number of independent variables
determines the dimensions of
,
and
, and the length of vectors
,
and
. - A possible choice for the parameter "RegionSymmetry" is "Axisymmetric".
- "Axisymmetric" region symmetry represents a truncated cylindrical coordinate system where the cylindrical coordinates are reduced by removing the angle variable as follows:
-
dimension reduction e.g. stationary equation 1D 

2D 

- In 1D, when a "CrossSectionalArea"
is specified, the ElectricCurrentPDEComponent equation is given as: - In 2D, when a "Thickness"
is specified, the ElectricCurrentPDEComponent equation is given as: - In a 1D axisymmetric case, when a "Thickness"
is specified, the ElectricCurrentPDEComponent equation is given as: - The input specification for the parameters is exactly the same as for their corresponding operator terms.
- If no parameters are specified, the default electric current PDE is:
- If the ElectricCurrentPDEComponent depends on parameters
that are specified in the association pars as …,keypi…,pivi,…, the parameters
are replaced with
.
Examples
open all close allBasic Examples (4)
Define an stationary current PDE model:
ElectricCurrentPDEComponent[{V[x, y], {x, y}}, Entity["Element", "Copper"]]Define a symbolic time-dependent current PDE model:
ElectricCurrentPDEComponent[{V[t, x, y], t, {x, y}}, <|"ElectricalConductivity" -> σ, "RelativePermittivity" -> Subscript[ϵ, 𝓇], "VacuumPermittivity" -> Subscript[ϵ, 0], "Thickness" -> d|>]Define a symbolic frequency current PDE model:
ElectricCurrentPDEComponent[{V[x, y], ω, {x, y}}, <|"ElectricalConductivity" -> σ, "RelativePermittivity" -> Subscript[ϵ, 𝓇], "VacuumPermittivity" -> Subscript[ϵ, 0], "Thickness" -> d|>]Solve for the electric scalar potential in a constricted rectangular plate with an electrical conductivity of
:
Vfun = NDSolveValue[{ElectricCurrentPDEComponent[{V[x, y], {x, y}}, <|"ElectricalConductivity" -> 6*^7|>] == 0, ElectricPotentialCondition[y == -2, {V[x, y], {x, y}}, <|"ElectricPotential" -> 0|>], ElectricPotentialCondition[y == 2, {V[x, y], {x, y}}, <|"ElectricPotential" -> 1|>]}, V, {x, y}∈RegionUnion[Rectangle[{-1, -2}, {1, -0.3}], Rectangle[{-1, 0.3}, {1, 2}], Rectangle[{-0.3, -0.3}, {0.3, 0.3}]]];Compute the current density vector:
Jfield = -6*^7 * Grad[Vfun[x, y], {x, y}];Visualize the current density vector:
VectorPlot[Jfield, {x, y}∈RegionUnion[Rectangle[{-1, -2}, {1, -0.3}], Rectangle[{-1, 0.3}, {1, 2}], Rectangle[{-0.3, -0.3}, {0.3, 0.3}]], AspectRatio -> Automatic]Scope (8)
Define a symbolic stationary current PDE:
ElectricCurrentPDEComponent[{V[x, y], {x, y}}, <|"ElectricalConductivity" -> σ, "ExternalCurrentSource" -> {Jex[x, y], Jey[x, y]}, "CurrentSource" -> Subscript[Q, v], "Thickness" -> d|>]Define a stationary current PDE model for a specific material:
ElectricCurrentPDEComponent[{V[X, y], {x, y}}, <|"Material" -> Entity["Element", "Gold"]|>]Specify an stationary current PDE with an electrical conductivity of
in units of [
] and an external current density of
in units of [
]:
ElectricCurrentPDEComponent[{V[x, y], {x, y}}, <|"ElectricalConductivity" -> Quantity[4.5*^7, "Siemens"/"Meters"], "ExternalCurrentSource" -> {Quantity[10, "Amperes"/"Meters"^2], 0}|>]Activate a stationary current PDE model for a specific material:
Activate[ElectricCurrentPDEComponent[{V[X, y], {x, y}}, <|"Material" -> Entity["Element", "Gold"]|>]]Define a symbolic stationary current PDE with electrical conductivity
an external current, a current source and a thickness:
ElectricCurrentPDEComponent[{V[x, y], {x, y}}, <|"ElectricalConductivity" -> σ, "ExternalCurrentSource" -> {Jex[x, y], Jey[x, y]}, "CurrentSource" -> Subscript[Q, v], "Thickness" -> d|>]Define a symbolic 2D axisymmetric stationary current PDE:
ElectricCurrentPDEComponent[{V[r, z], {r, z}}, <|"ElectricalConductivity" -> σ, "ExternalCurrentSource" -> {Jer[r, z], Jez[r, z]}, "CurrentSource" -> Subscript[Q, v], "RegionSymmetry" -> "Axisymmetric"|>]Define a 3D frequency current PDE model:
ElectricCurrentPDEComponent[{V[x, y, z], ω, {x, y, z}}, <|"ElectricalConductivity" -> 4.5*^7, "RelativePermittivity" -> IdentityMatrix[3]|>]Define a 3D time-dependent current PDE model:
ElectricCurrentPDEComponent[{V[t, x, y, z], t, {x, y, z}}, <|"ElectricalConductivity" -> 4.5*^7|>]Applications (5)
2D Stationary Analysis (1)
Solve for the electric scalar potential in a 3-bar electric switch with an electrical conductivity of
:
Vfun = NDSolveValue[{ElectricCurrentPDEComponent[{V[x, y], {x, y}}, <|"ElectricalConductivity" -> 6*^7|>] == 0, ElectricPotentialCondition[y == -7.5, {V[x, y], {x, y}}, <|"ElectricPotential" -> 0|>], ElectricPotentialCondition[y == 7.5, {V[x, y], {x, y}}, <|"ElectricPotential" -> 5|>]}, V, {x, y}∈RegionUnion[Rectangle[{0, 2.5}, {10, 7.5}], Rectangle[{9, -2.5}, {10 + 9, 2.5}], Rectangle[{0, -7.5}, {10, -2.5}]]];Compute the current density vector:
Jfield = -6*^7 * Grad[Vfun[x, y], {x, y}];Visualize the current density vector:
VectorPlot[Jfield, {x, y}∈RegionUnion[Rectangle[{0, 2.5}, {10, 7.5}], Rectangle[{9, -2.5}, {10 + 9, 2.5}], Rectangle[{0, -7.5}, {10, -2.5}]], AspectRatio -> Automatic]3D Stationary Analysis (3)
Model a copper wire that is excited with a direct current (DC) of
[
] with a current density boundary condition at the upper boundary and with a zero electric potential condition at the lower boundary.
Set up the stationary current PDE model variables
and
:
vars = {V[x, y, z], {x, y, z}};
pars = <|"Material" -> Entity["Element", "Copper"]|>;op = ElectricCurrentPDEComponent[vars, pars];Specify ground potential at the lower boundary:
Subscript[Γ, ground] = ElectricPotentialCondition[z == 0, vars, pars, <|"ElectricPotential" -> 0|>];Specify an inward current flow at the upper boundary:
Subscript[Γ, source] = ElectricCurrentDensityValue[z == 0.01, vars, pars, <|"Current" -> 1|>];Ω = Cylinder[{{0, 0, 0}, {0, 0, 0.01}}, 0.0005];Vfun = NDSolveValue[{op == Subscript[Γ, source], Subscript[Γ, ground]}, V, {x, y, z}∈Ω]Visualize the electric potential:
Show[Graphics3D[{Opacity[0.2], Ω}, Boxed -> False],
SliceDensityPlot3D[Vfun[x, y, z], {x, y, z}∈Ω, ...]]Model a tungsten wire with a potential difference of
[
]. Set up the stationary current PDE model variables
and
:
vars = {V[x, y, z], {x, y, z}};
pars = <|"Material" -> Entity["Element", "Tungsten"]|>;Set up the stationary current PDE:
op = ElectricCurrentPDEComponent[vars, pars];The radius of the tungsten wire is
[
] and the geometric shape of the wire is s-shaped. Specify the parameters of the geometry:
L = 0.05;
r = 0.0025;
R = 0.0075;Ω = \!\(\*Graphics3DBox[«5»]\);An electric potential boundary condition of
[
] is applied at the left end boundary and a zero electric potential condition is applied at the right end boundary. A tolerance 0f
is applied at both ends to account for numerical errors in the discretized domain.
Set the electric potential boundary conditions at both ends of the wire:
Subscript[Γ, potential] = {ElectricPotentialCondition[Abs[x] ≤ 0.01r && y^2 + z^2 ≤ r^2, vars, pars, <|"ElectricPotential" -> 0.2|>], ElectricPotentialCondition[Abs[y + r] ≤ 0.01r && (x - (L + 2R + r))^2 + z^2 ≤ r^2, vars, pars]};Vfun = NDSolveValue[{op == 0, Subscript[Γ, potential]}, V, {x, y, z}∈Ω]Compute the current density vector:
Jfield = -QuantityMagnitude[pars["Material"]["ElectricalConductivity"]] * Grad[Vfun[x, y, z], {x, y, z}];Visualize the current density magnitude:
SliceDensityPlot3D[Sqrt[Total[Jfield ^ 2]], {{"XStackedPlanes", 10}, {"YStackedPlanes", 12}, {"ZStackedPlanes", 3}}, {x, y, z}∈Ω, ...]Model a copper spiral inductor that is excited with a current density normal to the left boundary and has a zero electric potential boundary condition at the right boundary.
Define the spiral inductor geometry:
Ω = RegionUnion[Cuboid[{0, 0, 0}, {2, 1, 1}], Cuboid[{1, 1, 0}, {2, 8, 1}], Cuboid[{2, 7, 0}, {8, 8, 1}], Cuboid[{7, 7, 0}, {8, 0, 1}], Cuboid[{7, 0, 0}, {3, 1, 1}], Cuboid[{3, 1, 0}, {4, 6, 1}], Cuboid[{4, 6, 0}, {6, 5, 1}], Cuboid[{6, 5, 0}, {5, 2, 1}], Cuboid[{5, 2, 1}, {6, 3, 1.2}], Cuboid[{5, 2, 1.2}, {10, 3, 2.2}]]Set up the stationary current PDE model variables
and
:
vars = {V[x, y, z], {x, y, z}};
pars = <|"Material" -> Entity["Element", "Copper"]|>;Specify an inward current flow on the left boundary:
Subscript[Γ, source] = ElectricCurrentDensityValue[x == 0, vars, pars, <|"NormalCurrentDensity" -> 10|>];Subscript[Γ, ground] = ElectricPotentialCondition[x == 10, vars, pars];Vfun = NDSolveValue[{ElectricCurrentPDEComponent[vars, pars] == Subscript[Γ, source], Subscript[Γ, ground]}, V, {x, y, z}∈Ω]Compute the current density vector:
Jfield = -QuantityMagnitude[pars["Material"]["ElectricalConductivity"]] * Grad[Vfun[x, y, z], {x, y, z}];Visualize the current density magnitude:
SliceDensityPlot3D[Sqrt[Total[Jfield ^ 2]], {{"XStackedPlanes", 10}, {"YStackedPlanes", 10}, {"ZStackedPlanes", 5}}, {x, y, z}∈Ω, ...]Frequency Analysis (1)
Model a dielectric material of a cylindrical capacitor that is excited with an alternating current (AC) of
[
], with a current density boundary condition at the upper electrode, and with a zero electric potential boundary condition at the lower boundary.
Set up the frequency current PDE model variables
:
vars = {V[x, y, z], ω, {x, y, z}};Define the frequency and the period:
f0 = 60;
T0 = 1 / f0;r0 = 0.01;
h = 0.001;
Ω = Cylinder[{{0, 0, 0}, {0, 0, h}}, r0];Specify an electrical conductivity
and a relative permittivity
:
pars = <|"ElectricalConductivity" -> 1*^-8, "RelativePermittivity" -> 2|>;Specify the ground potential at the lower boundary:
Subscript[Γ, ground] = ElectricPotentialCondition[z == 0, vars, pars];Specify an inward current flow at the upper boundary:
Subscript[Γ, current] = ElectricCurrentDensityValue[z == h, vars, pars, <|"Current" -> 1*^-7|>];op = ElectricCurrentPDEComponent[vars, pars];Solve the harmonic PDE for
[
]:
Vfun = NDSolveValue[{(op /. {ω -> 2 Pi f0}) == Subscript[Γ, current], Subscript[Γ, ground]}, V, {x, y, z}∈Ω]Transform the voltage at the upper boundary to the time domain:
Vlist = Table[{t, Re[Vfun[0, 0, h] * Exp[I ω t] /. {ω -> 2 Pi f0}]}, {t, 0, 3 * T0, T0 / 100}];Visualize the voltage at the upper plate of the capacitor:
ListLinePlot[Vlist]Possible Issues (2)
For a symbolic computation, the "ElectricalConductivity", "VacuumPermittivity" or "RelativePermittivity" parameters should be given as a matrix:
ElectricCurrentPDEComponent[{V[x, y], ω, {x, y}}, <|"ElectricalConductivity" -> σ * IdentityMatrix[2], "VacuumPermittivity" -> Subscript[ϵ, 0], "RelativePermittivity" -> {{Subscript[ϵ, r11], 0}, {0, Subscript[ϵ, r12]}}|>]//ActivateFor numeric values, the "ElectricalConductivity", "VacuumPermittivity" or "RelativePermittivity" parameter is automatically converted to a matrix of proper dimensions:
ElectricCurrentPDEComponent[{V[x, y], {x, y}}, <|"ElectricalConductivity" -> 10|>]This automatic conversion is not possible for symbolic input:
ElectricCurrentPDEComponent[{V[x], {x}}, <|"ElectricalConductivity" -> σ|>]Not providing the properly dimensioned matrix will result in an error:
%//ActivateFor frequency domain models, material parameters are not available when "Material" is specified:
ElectricCurrentPDEComponent[{V[x, y], ω, {x, y}}, <|"Material" -> Entity["Element", "Copper"]|>]Tech Notes
Related Guides
Text
Wolfram Research (2024), ElectricCurrentPDEComponent, Wolfram Language function, https://reference.wolfram.com/language/ref/ElectricCurrentPDEComponent.html (updated 2025).
CMS
Wolfram Language. 2024. "ElectricCurrentPDEComponent." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/ElectricCurrentPDEComponent.html.
APA
Wolfram Language. (2024). ElectricCurrentPDEComponent. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ElectricCurrentPDEComponent.html
BibTeX
@misc{reference.wolfram_2026_electriccurrentpdecomponent, author="Wolfram Research", title="{ElectricCurrentPDEComponent}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ElectricCurrentPDEComponent.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_electriccurrentpdecomponent, organization={Wolfram Research}, title={ElectricCurrentPDEComponent}, year={2025}, url={https://reference.wolfram.com/language/ref/ElectricCurrentPDEComponent.html}, note=[Accessed: 12-June-2026]}