Potential Function on an Electromagnetic Plate.
The Problem.
We are solving for the potential function, u, on an
electromagnetic plate with 2 holes. The value of the potential function on the
outer boundary is 0; its value around one hole is -2000 and its value
around the other hole is 2000. We can think of the potential
function as the level of energy at a point.
The difference in the values of the potential function from
one point in the domain to another implies how much work it takes
for an electron to move from one point to the other. If the value
increases, positive work must be done, if it is negative, the electron
gains energy as it is pushed in that direction.
Since grad u = (ux, uy),
this means that at each point (x,y),  grad u gives the
magnitude and direction of the push acting on the electron.
-
ux =
magnitude of the push acting on the electron in the x direction, i.e., the x component of the electric force field
-
uy =
magnitude of the push acting on the electron in the y direction,
i.e., the y component of the electric force field
The pde equation is given by uxx + uyy = 0.
We will generate a uniform triangular mesh, and we
select the bi-linear FEM discretizer with the Jacobi CG iterative linear system solver.
We want to store the solution u and its derivatives ux and uy.
Use PDELab to ...
Why use PDELab?
In this case study, we use PDELab's finite element methods to solve a 2D electromagnetism problem.
PDELab's bi-linear FEM discretizes a linear elliptic partial differential equation on an
arbitrary 2-D domain for which a triangular or quadrilaterl finite element mesh can be generated.
The system of linear equations produced by bi-linear FEM can be solved using any of the
PDELab/ITPACK linear system solvers.
PDELab provides the following editors to assist in the process of specifying and solving the problem :
- a Framework Editor
where users specify the Laplace equation in conventional mathematical form, and
where a PDELab language specification of the problem is generated and placed in the user session
- a 2D Geometry Editor that allows users to construct general domains using a CAD-like tool
- a Boundary Conditions Editor for assigning conditions to the domain boundary
- several Mesh Generators that automatically generate uniform or
adaptive meshes according to user-specified parameters
- an Algorithm Editor for selecting the linear system solver and
specifying its parameters
- the language processor which writes the main driver program,
computes the memory requirements and calls the appropriate PDELab functions
- the ExecuteTool for processing, compiling, and executing the PDELab
language description of the problem generated by the language processor
- the OutputTool environment where users can visualize the output as contour graphs,
flow graphs, animations, etc.
The purpose of this case study is to demonstrate how easily PDELab
solves interesting problems.
Define the Problem
Step 1:When PDELab top level window appears,
select 2-D and
FEM
and click on
New File.
The PDELab 2-D Finite Element Method Session appears.
The Session toolkit is to the right of the Session window.
Specify the Solution
Execute the Problem
Step 13: We are now ready to enter the ExecuteTool environment, where the
PDELab language program will be processed. A fortran main program will be generated
from the .e file. It will be compiled and linked with the PDELab module libraries and
the standard PDELab I/O libraries. Click on the
ExecuteTool button in the Session toolkit.
Step 14: The PDELab .e file is loaded
automatically.
Click on the Run button
The trace of the process for compiling and linking the PDELab executable appears
in the trace window. When the compiling and
linking process is complete, the executable program is run and the solution and
trance files are generated and placed in your user directory.
Click on Quit to exit the ExecuteTool.
Visualize the Solution