Skip to content

Current flow (v-formulation)

In the case of a non-zero constant current flow Ampere-Maxwell law states, that

×H=J+Dt.\begin{align} \nabla \times \boldsymbol{H} = \boldsymbol{J} + \frac{\partial \boldsymbol{D}}{\partial t}. \end{align}

Taking the divergence of both sides we get

(×H)=(J+Dt)\begin{align} \nabla \cdot (\nabla \times \boldsymbol{H}) &= \nabla \cdot (\boldsymbol{J} + \frac{\partial \boldsymbol{D}}{\partial t}) \end{align}

and

0=(J+Dt),\begin{align} 0 &= \nabla \cdot (\boldsymbol{J} + \frac{\partial \boldsymbol{D}}{\partial t}), \end{align}

since the divergence of a curl is zero.

Under the assumption of constant current flow (or approximating a slowly varying current), the time derivative of the electric displacement field Dt\frac{\partial \boldsymbol{D}}{\partial t} equals zero.

J=0\begin{align} \nabla \cdot \boldsymbol{J} = 0 \end{align}

This indicates that the current flow is non-divergent. We can write a current density using Ohm’s law in differential form as

J=σE,\begin{align} \boldsymbol{J} &= \sigma \boldsymbol{E}, \end{align}

where σ\sigma is the conductivity of the material.

Thus we have

(σE)=0(σv)=0(σv)=0\begin{align} \nabla \cdot (\sigma \boldsymbol{E}) &= 0 \\[5pt] \nabla \cdot (- \sigma \nabla v) &= 0 \\[5pt] \nabla \cdot (\sigma \nabla v) &= 0 \\[5pt] \end{align}

resulting in Laplace’s equation.

The partial differential equation is multiplied by the test function vv^{\prime} and integrated over the whole domain Ω\Omega.

Ω  ((σv))  v  dΩ=0\begin{align} \int_{\Omega}\; (\nabla \cdot (\sigma \nabla v))\; v^{\prime}\; d \Omega = 0 \end{align}

Applying the Leibniz rule for nabla operator we get

Ω  (v  σv)  dΩ+Ω  (vσv)  dΩ=0\begin{align} \int_{\Omega}\; \nabla \cdot (v^{\prime}\; \sigma \nabla v)\; d \Omega + \int_{\Omega}\; -(\nabla v^{\prime} \cdot \sigma \nabla v)\; d \Omega = 0 \end{align}

For the first term we can use the Divergence theorem

Γ  (v  σv)n  dΓ+Ω  (vσv)  dΩ=0\begin{align} \int_{\Gamma}\; (v^{\prime}\; \sigma \nabla v) \cdot \boldsymbol{n}\; d \Gamma + \int_{\Omega}\; -(\nabla v^{\prime} \cdot \sigma \nabla v)\; d \Omega = 0 \end{align}

Rearranging the terms and using relation E=v\boldsymbol{E} = - \nabla v we obtain

Ω  (σvv)  dΩ+Γ  σEn  v  dΓ=0\begin{align} \int_{\Omega}\; (-\sigma \nabla v \cdot \nabla v^{\prime})\; d \Omega + \int_{\Gamma}\; -\sigma \boldsymbol{E} \cdot \boldsymbol{n}\; v^{\prime}\; d \Gamma = 0 \end{align}

Usign relation J=σE\boldsymbol{J} = \sigma \boldsymbol{E} on the Neumann term results in

Ω  (σvv)  dΩ+Γ  (Jn)  v  dΓ=0\begin{align} \int_{\Omega}\; (-\sigma \nabla v \cdot \nabla v^{\prime})\; d \Omega + \int_{\Gamma}\; (-\boldsymbol{J} \cdot \boldsymbol{n})\; v^{\prime}\; d \Gamma = 0 \end{align}

Applies a fixed value to the electric scalar potential vv. Use this when you need to fix the electric potential at a node or within a region. This can be used to drive a potential difference between two capacitor plates.

How to use:

Provide a electric potential value in point or region in Volts

Example:

v=100v = 100 applies a electric scalar potential of 100V100\:V to the specified region.

Unit: Electric potential in Volts (V)

Applies a current density vector J\boldsymbol{J} as a source term to a region. Used to model externally driven current distributions, such as in coils, where the current is prescribed rather than solved for. Can be specified as a constant vector or a spatially varying field.

How to use:

You can use either the matrix editor or the expression editor.

With the matrix editor, you must provide a 3×1 matrix for a 3D problem (2×1 for 2D, etc.). Add current density vector values for each dimension.

In the expression editor, you can write the direct expression for this 3D case:

Example: [1000; 5000; 0]

Both styles are equivalent and drive a current density of Jx=1000AmregdimJ_x = 1000\:\frac{A}{m^regdim}, Jy=5000AmregdimJ_y = 5000\:\frac{A}{m^regdim} and Jz=0AmregdimJ_z = 0\:\frac{A}{m^regdim} to specified node or a region.

Unit: The unit of Current density is Ampere/m^regdim. The regdim is the dimension of the target region. If the target region is the surface then the unit is Ampere/m^2.

Applies a lumped voltage VV or current II to a specific node or region. Unlike the Lump V/I Cut, this interaction does not require a cut surface and is used for simpler geometries where the domain is already simply connected. Commonly used to define electrode potentials or inject current into a conducting region.

How to use:

Specify the target curve. From Actuation mode, select either voltage, current or circuit coupling. Fill in the value.

Example: I=100I = 100 applies 100 Amperes to the curve.

Unit: Voltage in Volts (V) or current in Amperes (A)

Applies a lumped voltage VV or current II through a cut surface in the domain. In the electric potential formulation, cuts are required to make the domain simply connected, ensuring a unique solution for v. This interaction is used to drive current or voltage through conducting regions such as coils, without explicitly resolving the detailed field distribution inside the conductor.

How to use:

Specify the target curve. It has to closed boundary of some surface. From Actuation mode, select either voltage, current or circuit coupling. Fill in the value.

Example: I=100I = 100 applies 100 Amperes through the cut surface.

Following example is showing Lump I/V cut from Magnetism-φ\varphi physics. They have very similar working principles Lump I/V Cut in Induction motor

Unit: Current in Amperes (A) or voltage in Volts (V)

Imposes periodic boundary conditions on the electric potential vv between two boundaries. Reduces the computational domain size for geometrically symmetric or antisymmetric problems, avoiding the need to model the full geometry.

Example:

Periodicity is similar in every physics section. This example is from φ\varphi-formulation, but workflows are identical:

The periodicity of an electric motor allows modeling only a fraction of the full geometry, such as one pole pair or one quarter, while still capturing the complete field behavior.

Periodicity in electric motor