SFEMaNS  version 4.1 (work in progress)
Reference documentation for SFEMaNS
 All Classes Files Functions Variables Groups Pages
The function Phiexact

It is used to define the boundary condition \(\phi_\text{bdy}\). It can also be used by the function init_maxwell so initial conditions match the boundary conditions.

This function defines boundary conditions for one given Fourier mode, one given component (cosine or sine) on a number of nodes, denoted nb_node, of the finite element mesh. We denote by phi_mesh the finite element mesh used to approximate the scalar potential.

Inputs and outputs

The inputs of this function are the following:

  1. TYPE is the component of the source term that is computed (cosine or sine). It is an integer between one and two.
  2. rr is a real valued tabular that contains two columns with dimensions (2,nb_node). The tabular rr(1,:) contains the radial cylindrical coordinate of each nodes considered. Respectively, rr(2,:) contains the vertical coordinates of these nodes. We note that the integer nb_node is generally equal to the total number of node phi_mesh%np or the number of nodes where Dirichlet boundary conditions are applied.
  3. m is the Fourier mode \(m\) considered. It is an integer.
  4. mu_phi is the magnetic permeability in the insulating domain.
  5. t is the time at which this term is computed. It is a real number.

The output of this function is a real valued tabular vv of dimension SIZE(rr,2).

Exemple

Here is an exemple where we set \(\phi_\text{bdy}= rz\).

The corresponding code lines are written as follows.

IF (TYPE==1.AND.m==0) THEN
vv = rr(1,:)*rr(2,:)
ELSE
vv = 0.d0
END IF
RETURN

Remark: The magnetic field has a zero divergence so \(\GRAD \phi_\text{bdy}\) has to satisfy the same condition.

We refer to the sections Examples with manufactured solutions and Examples on physical problems for more examples.