# Homology in Electromagnetic Boundary Value Problems

- Matti Pellikka
^{1}Email author, - Saku Suuriniemi
^{1}and - Lauri Kettunen
^{1}

**2010**:381953

**DOI: **10.1155/2010/381953

© Matti Pellikka et al. 2010

**Received: **4 March 2010

**Accepted: **14 July 2010

**Published: **1 August 2010

## Abstract

We discuss how homology computation can be exploited in computational electromagnetism. We represent various cellular mesh reduction techniques, which enable the computation of generators of homology spaces in an acceptable time. Furthermore, we show how the generators can be used for setting up and analysis of an electromagnetic boundary value problem. The aim is to provide a rationale for homology computation in electromagnetic modeling software.

## 1. Introduction

Setting up a well-posed electromagnetic boundary value problem encompasses setting up constraints that are related to the problem domain: the boundary conditions, field sources, and material parameters. These constraints usually surreptitiously involve the topology of the field problem domain. The division of the domain boundary to be governed by different boundary conditions, imposed source fields or circuit quantities, the division of the domain to conducting and nonconducting subdomains, and the use of field potentials bring up topological aspects that cannot be overlooked when defining the boundary value problem [1–6].

Failure to provide the above information in a consistent manner often leads to an over- or underdetermined system, and worse than that, the user as well as the software might be clueless where the problem lies. In this light, an automated, fast and definite procedure to find out the keystones of problem topology would save human effort and supersede problem-specific methods and heuristics in EM modeling software.

The tools of homology, capturing the topological nature of Maxwell's equations, can provide what is needed. Therefore, the efficient computation of absolute and relative homology groups has been under active study in computational electromagnetics community during recent years [7, 8]. The absolute homology links to topologically complicated boundary value problem domain, while the relative homology is needed when the boundary values are imposed for the unknown fields, or the boundary value problem is coupled to external systems.

In this paper, we represent a succession of algorithms that, when given a cellular mesh, will lead to computation of generators of homology groups in an acceptable time and memory, establishing the viability of homology computation as an integral part of an electromagnetic modeling software. We also discuss how the information provided by homology computation can be exploited.

## 2. Homology

The study of homology is sewed around the concept of *boundary* of a *chain*, which is an intrinsic part of Maxwell's integral equations and Stokes' theorem. We define a *boundary operator* on chains, which maps chains to their boundary chains. A chain with zero boundary is called a *cycle*, and the boundary of the boundary of any chain is empty. Therefore, all boundaries are cycles. However, the converse is not true, there can be cycles that are not boundaries. This makes a dramatic difference in the integration of *closed fields* over cycles. By Stokes' theorem, the integrals of closed fields vanish over boundaries, but not necessarily over cycles. Therefore, if two cycles differ only by a boundary, integrals of closed fields over them are equal, and they can be considered equivalent in this sense. The *homology spaces*(they are generalizable into *moduli*, but we restrict to spaces with coefficient field of
or
, which are sufficient to our application) of a *chain complex* provide reliable means to classify cycles depending on their contribution to the integrals of closed fields. The elements of homology spaces are thus *cosets* of cycles.

To algebraize the concepts of boundary and chain, we form a finitely generated chain complex
based on a cellular mesh
of the problem domain
. The cellular mesh
is an instance of the *regular cell complex*, a finite element mesh for example. The domain
is taken to be an *orientable manifold with boundary*. Now, the finite spaces of
-chains constitute a chain complex (Chain complex:
for each
). under the boundary operator. It is represented by an incidence matrix
, one for each dimension
. If we chose to disregard part of the chains that lie in a subdomain
, covered by cell subcomplex
, we get so-called *relative chain complex*
[5, 7]. (In a case boundary values of the unknown field are imposed
, we are not interested about the field integrals there.) This is done by forming an inclusion map
and quotienting to get
. In boundary value problem, the quotient can be formed by dropping the rows and columns from
corresponding to elementary
-chains that lie in
(As there are no boundary conditions concerning a multiplicity of a boundary, this is a practical choice of representatives for the relative chains of
.) If
is empty, we call the chain complex *absolute*. Our discussion applies to absolute homology as well. Also, the distinction between the domains
,
and the FE meshes
,
is disregarded, and
and
are used throughout. (Chain space
is finite dimensional whereas
is not, while
.)

### 2.1. Decomposition of Chains and Cohomology

That is, a nonzero relative chain is a relative boundary of some
chain, that it belongs to an equivalence class of chains that are neither boundaries of
relative chains and do not have a relative boundary in the chain space
, or it is a relative chain that has a nonzero relative boundary. Spaces
and
constitute a space of
-chains whose boundaries are empty, the relative
-*cycles*
.

It turns out that the *relative homology spaces, moduli* in general,
are interesting when posing an electromagnetic boundary value problem. (Restriction to space disregards *torsion*, which may occur in relative homology of orientable manifolds [7]. Our implementation uses integer computations to detect it.)They are isomorphic with *cohomology spaces*
of the (relative) *cochains*
. Cohomology is constructed on the *exterior derivative,* in our context of the de Rham cohomology, d in the similar manner homology concerns the boundary operator [1, 9]. (In general, this operator is called *coboundary operator*.) Cochains can be used to model the electromagnetic fields, and the integration of fields can be regarded as a bilinear mapping
of chains and cochains [1, 9]. The subdomain
is typically a region where a boundary condition is imposed upon an unknown field.

*closed*if , and

*exact*if holds. By de Rham's theorem, a field is exact if and only if

Fields that are closed but fail to be exact belong to the cohomology class
. Now, such fields can only exist if the homology space
contains nonzero elements. Otherwise by (2.2) and Stokes' theorem, all closed fields are also exact. This is *de Rham isomorphism* between homology and cohomology:
[9]. Therefore, computation of the relative homology of the boundary value problem domain gives us full understanding of how the boundary conditions fix the cohomology classes of the unknown fields, what is left to be determined because of tunnels or voids in the domain.

### 2.2. Some Properties and Examples of Homology Spaces

Here and are an inclusion and a projection induced by the corresponding mappings of chain spaces [5, 7]. That is, all the elements of can be decomposed into such nonunique parts that either have a nonzero preimage in or image in . This twofold structure of emerges when the domain contains tunnels or voids, where field sources might be present in electromagnetic boundary value problem. Such sources can be taken into account with the aid of generators of , which have a counterpart in .

Example 2.1.

These are so-called duality theorems, actually, compositions of the Lefschetz and de Rham duality theorems [1, 9], (It is crucial that the coefficient fields are the same on the homology and cohomology side.), which turn out to be useful together with the isomorphism between chains and cochains when considering dual formulations of an electromagnetic boundary value problem.

Example 2.2.

## 3. Computation

From the data structure representing a cellular mesh, that is a regular cell complex, we can deduce the incidence matrices representing the boundary operators. The matrix contains the information about the boundary 1-cells of -cells. If a 1-cell is on the boundary of a -cell, the corresponding incidence index is either 1 or −1, depending whether their orientations match or not [5, 7]. Otherwise the incidence index is 0. The boundary operator matrices and knowledge about the cells belonging to and hold all the information we need.

The computation of the
: th homology space is about finding the quotient space
. In other words, the *p* : th relative homology-space is
. The computation of a basis of this quotient space using the bases for
and
can be done with integer matrix decompositions of the boundary operator matrices, as discussed in [7, 8]. The decompositions are called Hermite normal form and Smith normal form. The problem is divided into three parts: finding bases for
and
, finding an inclusion map
, and finding a basis for quotient
.

Unfortunately, the computation of the relevant integer matrix decompositions has worse than upper bound for computational time complexity, where is the number of -cells in the complex [10]. This is unacceptable, as finite element solution of a boundary value problem is a lot cheaper. However, the number of generators of is practically always substantially smaller than , which suggests that we need to look for means to reduce the size of the bases of -chain spaces without altering the relative homology spaces. Only after that, the integer matrix decompositions of the reduced boundary operator matrices are used to compute the generators of homology spaces.

### 3.1. Problem Size Reduction

Homology spaces are topological invariants and they are isomorphic under *weak homotopy equivalences* [7, 11, 12]. Those properties provide that homeomorphisms and homotopy invariant mappings between topological spaces also preserve the homology spaces. Therefore, it is possible to apply certain homotopical operations to the problem domain
, which keep the homology spaces
invariant. When the domain
is covered by a regular cell complex
, two operations of this kind can easily be exploited [7, 13] as follows.

(i) First is removing a cell that bounds only one cell, together with the cell it bounds. This makes a dent in the domain but not any holes. The corresponding homotopy invariant mapping of the underlying space
, is called deformation retraction [12]. In [13], this is referred to as *exterior face collapsing*.

(ii) Second is combining neighboring
-cells that share on their boundary a common
1-cell that is not bounding any other
-cells. This mapping leaves
intact. It only alters the chain complex
, which still covers the same domain. Therefore, the topology of
doesnot change. In [13], this is referred to as *interior face reduction*.

The aim is to perform and implement these two operations in such manner that as many cells as possible get removed with as little computational effort as possible. We have avoided nonlocal reduction methods in order to avoid algebraic computations until the sizes of the bases of -chain spaces are modest. The reason we split the reduction techniques in [13] in two separate algorithms is that the former alone is found more computationally efficient, and one should only after that resort to the latter.

#### 3.1.1. Reduction of Cells

If a
-cell
has a boundary
1-cell
that does not bound any other
-cell, both of these cells can be removed from the cell complex without altering the relative homology spaces
[7, 13]. These cell pairs
satisfying the above condition are called *elementary reduction pairs*. Let
be the number of
-cells in the cell complex
.

An estimate for the computational complexity Algorithm 1 is in our interest. The order in which the cells are removed affects the efficiency of the algorithm, which ultimately depends on the index numbering of the cells. It is possible to construct examples where the repeat-until-loop must be ran times, resulting to at least quadratic worst case computational complexity. However, for a typical manifold of a boundary value problem, the loop runs only a couple of times. That gives us more promising estimate when the cell complex is implemented as a binary search tree and the cells carry the information about their boundary cells. The computational complexity is then essentially due to the linear-time for-loop and the logarithmic-time operation of removing items from a binary search tree. This estimate is .

**Algorithm 1:**
-Reduce.

cell complex

**Repeat**

** for all**
−1-cells
**do**

** if**
is on the boundary of exactly one
-cell
**and**

(
**or**
) **then**

** end if**

**end for**

**until** no cell has been removed

The removal of a - and a 1-cell corresponds to the removal of a row and a column from the matrix of and the removal of a row from the matrix of . The matrix of does not change as the removed -cell cannot be on the boundary of any +1-cell. In such case, no 1-cell can be found that satisfies the if-clause in the algorithm. The algorithm can be applied to the cell complex in succession from the dimension of the cell complex down to . Note though, that the matrix operations are not definitely the most efficient way of implementation.

The number of pairs the algorithm is able to remove from the cell complex ranges from zero to all of them. Usually one successful removal triggers an avalanche of removals. Therefore, the cases where no cells can be removed are the most dramatic, and we enumerate the three possible cases (Figure 3) for each connected component of the problem domain when is equal to the dimension of the cell complex:

(1) , : elementary reduction pairs can be found. There exist 1-cells in that bound only one -cell of ;

(2) : no elementary reduction pairs can be found. A manifold without a boundary: there can be no 1-cells bounding only one -cell, otherwise they would belong to the boundary;

(3) : no elementary reduction pairs can be found. This is similar to the first case, but all the 1-cells in possible elementary reduction pair candidates for removal belong to .

In the last two cases no
1-cells can be found that satisfy the if-clause in the n-Reduce algorithm. The inability to remove any pairs
implies that no lower dimensional pairs can be removed either (true for cell complexes whose underlying space is a manifold.) It seems that
-Reduce algorithm is toothless in many situations, but fortunately we can resort to an approach derived from the *Coreduction homology algorithm* [14].

#### 3.1.2. The Reduce-Omit Algorithm

Coreduction, as opposed to reduction, is the procedure of removing
-cell and
1-cell pairs
when the
-cell
has only one
1-cell
on its boundary. This pair
is called an *elementary coreduction pair*. As no such pairs can be found from a complete cellular mesh, the algorithm is started by arbitrarily removing a single
-cell, leaving pairs
which satisfy the condition. The algorithm goes on by removing one
-cell each time there are no elementary coreduction pairs
left, while there are still
-cells left. The number of arbitrary removals needed to be done in order to banish all
-cells equals the Betti number
, the number of connected components of the domain [14].

The
-cell removal is justified by treating the cell complex as the *reduced cell complex*(constituting together with the *augmentation map*
an *augmented chain complex* [11].), where there is one additional −
-cell in each connected component of
. Thus, the removal of
-cell is interpreted as the removal of the coreduction pair
. For the *reduced homology*(homology for the augmented chain complex, an example of an *extraordinary homology theory*[11]).
holds [14]. For the reduced cell complex
holds for each connected component, and
holds for all
[11]. The information lost about
due to computing the reduced homology instead can be recovered by storing the arbitrarily removed
-cells: they are the generators of
.

The algebraic dual of a cellular mesh is a mesh where the roles of the cells in the boundary relation of cells have been interchanged. We say is on the coboundary of cell , if is on the boundary of . So in the dual mesh, boundary cells of a cell become coboundary cells and vice versa. Also the dimensions of the cells get flipped over: if the dimension of the manifold is , the dual cell of a -cell is an − -cell. For the dual mesh, the boundary operator matrices are for each , that is, the transposes of the boundary operators of the primal mesh [5].

Coreduction is a dual algorithm to reduction in the sense that, instead of checking whether a
1-cell is on the boundary of a single
-cell only, it checks whether a
-cell is on the coboundary of a single
1-cell only. *So the Coreduction can be interpreted as a reduction algorithm for the dual mesh in terms of primal mesh cells*. Due to the isomorphism between primal and dual cells, the coreductions can be regarded as weak homotopy equivalences.

A dual version of the launch of the Coreduction can be used to devise an extension to
-Reduce algorithm, but *only* in the case
equals
: Applying the arbitrary removal to
-cells from the cell complex each time it notices no elementary reduction pairs
could be found in the previous run, yet there still are
-cells left. The three cases enumerated earlier tell us that this is the case only when
is either empty or a subset of
. The
-Reduce algorithm detects this nonexistence of elementary reduction pairs in linear time. Similarly to the Coreduction, the number of arbitrary removals needed to banish all the
-cells from the cell complex tells us the dimension of
, the Betti number
. By duality theorem
,
is equal to the number of connected components
of
, for which either
or
holds.

Therefore, each arbitrary removal of a -cell leads to a removal of all the -cells in the given connected component of and the removed -cells together with the "trigger" -cell constitute a generator of . This procedure of course leaves the -generators out of the final algebraic problem and without orientation, but they can be recovered afterwards. The operation also clearly alters the topology of the domain, but in a controlled fashion. It is known exactly how many and which -generators were omitted: one for each connected component of , for which either or holds. We call Algorithm 2 Reduce-Omit.

**Algorithm 2:** Reduce-Omit.

cell complex

dimension of the cell complex

**for**
=
to 1 **do**

-Reduce ( )

**end for**

**while** cell complex
has
-cells
such that
**do**

choose -cell such that

**for**
to 1 **do**

-Reduce ( , )

**end for**

store and -cells removed by -Reduce ( , ) in previous loop.

**end while**

This strategy cannot be applied further down in the dimension , as there is no guarantee that the -generators have separate supports. Therefore, the arbitrary removal of a -cell could lead to a removal of such set of -cells, from which no representative of the generator of can be constructed. The dimension was exceptional, as all the -generators had separate supports, and therefore all the removed -cells constituted one -generator. For this reason, it seems that the power of the Coreduction algorithm in Betti number computations does not carry over to homology generator computation.

#### 3.1.3. Combining Cells

If a 1-cell resides on the boundary of exactly two -cells, it is possible to combine these two -cells to form single -cell and remove the 1-cell from the cell complex without altering the covered domain . [7, 13].

Algorithm 3 has worst-case computational complexity of , where is the number of -cells in the cell complex. This is due to the fact that eventually most of the 1-cells get enqueued in . Another option would be a faster version without a queue, but experience on test runs suggests that the end-state of such algorithm will leave more cells in the cell complex. This trade-off gets worse as the size of the problem is increased, as one needs to face the algebraic decomposition in the end. Furthermore, accessing the boundary information of a cell is a constant-time operation, if memory is sacrificed to carry this information. The check whether a queue already contains an element, can be done in logarithmic time by maintaining a binary search tree of the elements in the queue. Again, the end-state of the algorithm ultimately depends on the index numbering of the mesh vertices.

**Algorithm 3:**
-Combine.

cell complex

empty queue of −1-cells

**for all**
-cells
**do**

enqueue boundary −1-cells of into

**while**
is not empty **do**

dequeue from

**If **
is on the boundary of exactly two
-cells
,
**and**

(
,
,
**or**
,
,
**then**

, the sign chosen such that the orientations match

enqueue boundary −1-cells of not already in to

**end if**

**end while**

**end for**

The combining of two -cells and removal of a 1-cell correspond to an addition row-operation of two rows followed by removal of a row and a column in the matrix of , an addition column operation of two columns followed by removal of a column in the matrix of and a removal of a row in the matrix of . Again, matrix operations are not an efficient way to reduce the mesh.

### 3.2. General Procedure for Homology Computation

Let us now propose a general procedure to find the generators of homology spaces for all . Let be the dimension of the chain complex.

(1) Run Reduce-Omit.

(2) Run -Combine followed by -Reduce ( , ) for each .

(3) Find the generators of using the reduced boundary operator matrices for each by HNF and SNF.

(4) Recover the possible generators of from the cells stored by Reduce-Omit (optional).

An implementation of this procedure is available in the open source finite element pre- and postprocessor Gmsh [15].

#### 3.2.1. Performance Discussion

The total computational complexity of the procedure above quite plausibly depends on the sizes and the ranks of the homology spaces, along with the index numbering of the mesh. Therefore, it is hard to give any definite estimates other than the complexities for individual algorithms in it. However, the upper and lower bounds can be given.

The ultimate upper bound is the computational complexity bound of the Smith normal form decomposition applied to the nonreduced problem [10]. However, it is highly unlikely that such situation will ever occur in practice with finite element mesh and homology groups without torsion. The worst-case end-states of -Reduce and -Combine are extremely difficult to discover, as they are homotopy invariances, and homotopy groups are known to be computationally challenging. In case the ranks of the homology spaces are zero for all , the procedure has the computational complexity of -Reduce.

In cases where -Reduce is unable to ignite, the use of Reduce-Omit significantly increases the efficiency of this procedure, as it eliminates the need to give large inputs to -Combine. In case only the ranks of the homology spaces are of interest, the Coreduction homology algorithm can be applied [14]. It has the superior computational complexity of , where is the total number of cells in the cell complex.

#### 3.2.2. A Strategy for Thick-Cuts

Coreduction was found to be a powerful tool to compute the Betti numbers of a cellular mesh, but the answer to whether it is suitable for computation of the generators of homology spaces, seems to be unfortunate. When
holds, the supports of the generators may overlap, because the recovery of the orientations of the generators is *complexity theoretically intractable* in general [7]. However, a modified algorithm can be applied to compute the generators, but in no less computational complexity than the reduction algorithm can.

One can apply Coreduction to the cellular mesh so that only
-cells are arbitrarily removed in a similar but dual manner as in the Reduce-Omit algorithm. Then use straightforward dual versions of
-Combine and
-Reduce. Replace "boundary" with "coboundary" and "
1-cell" with "
+1-cell" in Algorithms 3 and 1. After that, the homology computation with the reduced and *transposed* boundary operator matrices will find out the dual generators of the homology spaces, but in terms of primal cells. An example of this is so-called thick-cut, which we shall discuss more later.

Example 3.1.

## 4. Uses

In this section we motivate the interest of computational electromagnetics community in homology computation. The purpose is to show its benefits in an electromagnetic modeling software.

Homology often relates to the electromagnetic phenomena outside the domain , when we want to couple them with the electromagnetic fields defined on the domain. In contrast, modeling decisions are also made to barricade certain kinds of coupling with the outside world. Nevertheless, the interface is always present, and its homological character is an intrinsic part of an electromagnetic boundary value problem.

Before the understanding of the role of homology and cohomology in electromagnetic modeling, case-specific and limited solutions have been used as substitutes. The genuine use of homology can offer a generally applicable and systematic framework for electromagnetic modeling and computation.

### 4.1. Setting up an Electromagnetic Boundary Value Problem

Setting up an electromagnetic boundary value problem with unique solution involves a variety of questions that, in general, are about the sources of the electromagnetic fields modeled. How does one set the field sources in together with the boundary conditions consistently? What does imposing a voltage between terminals actually mean? How does one impose a net current through a conducting domain that has terminals on the domain boundary ? Given multiple terminals, how many and which voltages/currents does one need to impose in order to get a unique solution? When is a field potential sufficient to describe alone the unknown field in electromagnetic boundary value problem?

In simple problems, the above questions can be answered with reasoning based on knowledge about Maxwell's integral equations and circuit theory. But what if the problem at hand was so complex that simple reasoning would not help or if we wanted to automate the problem posing and validation in order to save human effort. Of course, the software cannot tell what the user wants, but it can help the user to do what he wants as soon as he tells it.

With the aid of homology computation, the software's answer to all of the above questions would be something like "Impose of these integrals of these field quantities over these generators of homology spaces in order to get a unique solution." Next we will present some tangible examples.

### 4.2. Cuts for Scalar Potential

The use of scalar potential where possible is preferable in field computation, as it reduces the size of the system matrix: there are far less nodes than edges in a typical mesh. Let a closed field be the field of interest. Due to de Rham's theorem, field can be exhaustively represented with a scalar potential such that holds, if and only if holds for all [9]. That is, the circulation of must vanish on all closed chains.

Whether this holds for all closed chains depends on the homology of the problem domain. It holds by Stokes' theorem for all chains, that are boundaries, but not all cycles are necessarily boundaries. What is left to be determined are the integrals over nonbounding cycles, values , , that is, the field circulations around the generators of the homology space , which is nonempty when the problem domain contains tunnels. However, this fails for a scalar potential alone, as . Therefore, the field is decomposed into two parts, , where satisfies , and . A systematic approach to fix these circulations for and thereby for , is to produce so-called thick-cuts, where the support of entirely lies. This will guarantee sparse system matrix, and the problem is computationally cheap to solve.

There is a multiplicity of methods for finding the thick-cuts. They often mix in homotopy, or rely on some strict assumptions about the domain . However, the cut surfaces are actually the corresponding duals for the generators of , elements of , reliably computable with our methods. The thick-cuts are the dual 1-chains of the 2-chain generators of .

Example 4.1.

Example 4.2.

### 4.3. Detection of Contradicting Source Quantities and Boundary Conditions

Field sources inside the problem domain and the boundary conditions on domain boundary are often interrelated: the user can set source quantities and boundary conditions in such a fashion that Maxwell's equations cannot hold in the problem domain and a solution is unattainable. Typically, the only symptom is the linear solver's failure to converge. In such cases, a simple sanity check can be made using homology computation before the solver is launched, to inform the user about possible clashes. For a more detailed discussion, see [16].

Example 4.3.

Consider a magnetostatic problem where the domain is a current-carrying toroid. The problem is governed by the equations and . The source term is set inside the domain, and the boundary conditions and are set on nonoverlapping regions , which cover the whole domain boundary. Now, the magnetostatic equations require that

where and are representatives of the generators of the homology spaces, readily computable with our methods. If the space is not empty and the user has for example, set on and nonzero net current through , then a clash will occur.

where is the field source, set in the domain , and is the unknown field, subject to a boundary condition on . A clash will occur, if for some .

### 4.4. Setting Up Coupled Circuit-Field Problems

That is, no magnetic or electric flux passes through the boundary , and current can only pass through the terminals . By on we are guaranteed to have scalar potential there. Terminals must be equipotential surfaces to be eligible nodes of the circuit. In order to get an unique solution for the field problem, one needs to set a number of voltages between the terminals and/or currents through them. These constraints are either the state variables of the circuit problem, or preset variables [17].

The generators of the relative homology spaces can be used to interpret the coupling through the terminals on the field problem side. Imposing field integrals along the generators corresponds to providing enough information to construct an impedance matrix of the field problem. We will represent two examples where this is intuitively clear. However, homology computation can bring this "intuition" to the computer, and aid the human intuition in more complex problems. It can tell exactly how many "nonlocal" constraints are needed, and the visualizations of the generators help to understand their meaning.

Example 4.4.

Consider a DC resistor model in Figure 2 with conducting region , two terminals on and an insulating surface . By intuition and experience, one can tell that a unique solution is found by imposing a voltage difference between the terminals. In terms of homology, that is, the integral of electric field along the single generator of : . This reveals that we are actually interested in the EMF between the terminals, and the familiar scalar potential is just one way to impose it. This widens the understanding of the situation beyond the cases where the existence of a scalar potential can be guaranteed everywhere in . However, in coupled field-circuit problems, the scalar potential must exist on the surface .

Alternatively, instead of the voltage between the terminals, one can set the net current through the resistor. Again, in the language of homology, this is the integral of current density over the single generator of , which is the dual generator of . So the user needs to set . This together with guarantees that will hold. If neither or both the voltage and the net current are set, one is left with an under/over-determined system with no unique solution [2], about which homology-aware software is able to inform the user.

Example 4.5.

Consider a general problem with the full set of Maxwell's equations. Let the domain have four terminals on , as in Figure 8, and it may consist of conducting and nonconducting regions. Not all terminals are necessarily galvanically connected to each other. Now we can find three generators of and , respectively. Imposing voltages between the terminals on corresponds to imposing EMFs along the generators of .

More interestingly, imposing integral of over generators of corresponds to imposing currents through terminals, as no displacement current escapes from and the continuity equation must hold for all volumes inside . Conversely, imposing currents through terminals may impose displacement currents in nonconducting parts of the domain , as well as currents in conducting parts. Homology-aware software would be able to help the user to perceive what has been imposed. In total, three EMFs or fluxes of must be imposed to get an unique solution to the problem.

### 4.5. Multiformulational Field Problem

In many problems, it is possible to use computationally more efficient formulations in some parts the computational domain . For example, the conducting and nonconducting parts of the domain can be treated separately. However, the price for the computational efficiency is the increased effort to set up the problem, as the coupling between the subdomains must be taken into account.

Example 4.6.

Let the domain consist of a conducting subdomain and nonconducting subdomain . In , we can either have an imposed time-varying source current, or it can be coupled to an external circuit through terminals on , as described in previous section. However, let have tunnels, through which the conducting domain extends.

Now, in the air region , we seek for the solution of the magnetic field only, for which holds. We are able to use a scalar potential formulation with the thick-cut technique, with expression . But what should be the total currents through the holes in region , fixing the circulations ?

which are also the independent currents of the coupled problem, as .

## 5. Conclusions

A compilation of mesh reduction methods was presented, leading to a general procedure for practical homology computation. The procedure was implemented within this work, and the benefits of homology computation to electromagnetic modeling were discussed. It was suggested that the homology computation, when efficiently implemented, can be a useful preprocessing aid in electromagnetic modeling software. It can be used as a problem posing companion as well as a guardian of the solver, reducing the human effort put to the problem.

Many engineering problems, solved with methods of computational electromagnetism, fall into predefined problem categories, for which templates are readily available in the software. This is helpful for the engineer, but it also narrows down the class of problems a software is able to solve. A minor variant of a commonplace problem can make it unsolvable because of some needless but guiding restriction within the software. Homology computation can help the software designer to give freer hands to the user without reducing the software's usability.

## Authors’ Affiliations

## References

- Kotiuga PR:
*Hodge decompositions and computational electromagnetics, Ph.D. thesis*. Electrical and Computer Engineering, McGill University, Montreal, Canada; 1984.Google Scholar - Bossavit A:
**Most general "non-local" boundary conditions for the Maxwell equation in a bounded region.***COMPEL*2000,**19**(2):239-245.MathSciNetMATHGoogle Scholar - Kettunen L:
**Fields and circuits in computational electromagnetism.***IEEE Transactions on Magnetics*2001,**37**(5):3393-3396. 10.1109/20.952621View ArticleGoogle Scholar - Suuriniemi S, Tarhasaari T, Kettunen L:
**Generalization of the spanning-tree technique.***IEEE Transactions on Magnetics*2002,**38**(2):525-528. 10.1109/20.996138View ArticleGoogle Scholar - Kangas J:
*Algebraic decompositions in analysis of quasistatic electromagnetic problems, Ph.D. thesis*. Department of Electrical Engineering, Tampere University of Technology, Tampere, Finland; 2007.Google Scholar - Specogna R, Suuriniemi S, Trevisan F:
**Geometric**-**approach to solve eddy currents coupled to electric circuits.***International Journal for Numerical Methods in Engineering*2008,**74**(1):101-115. 10.1002/nme.2155MathSciNetView ArticleMATHGoogle Scholar - Suuriniemi S:
*Homological computations in electromagnetic modeling, Ph.D. thesis*. Department of Electrical Engineering, Tampere University of Technology, Tampere, Finland; 2004.Google Scholar - Kaczynski T, Mischaikow K, Mrozek M:
*Computational Homology, Applied Mathematical Sciences*.*Volume 157*. Springer, New York, NY, USA; 2004:xviii+480.MATHGoogle Scholar - Gross PW, Kotiuga PR:
*Electromagnetic Theory and Computation: A Topological Approach, Mathematical Sciences Research Institute Publications*.*Volume 48*. Cambridge University Press, Cambridge, Mass, USA; 2004:x+278.View ArticleMATHGoogle Scholar - Yap CK:
*Fundamental Problems of Algorithmic Algebra*. Oxford University Press, New York, NY, USA; 2000:xvi+511.MATHGoogle Scholar - Munkres JR:
*Elements of Algebraic Topology*. Perseus Books, Cambridge, Mass, USA; 1984:ix+454.MATHGoogle Scholar - Hatcher A:
*Algebraic Topology*. Cambridge University Press, Cambridge, Mass, USA; 2002:xii+544.MATHGoogle Scholar - Kaczyński T, Mrozek M, Ślusarek M:
**Homology computation by reduction of chain complexes.***Computers & Mathematics with Applications*1998,**35**(4):59-70. 10.1016/S0898-1221(97)00289-7MathSciNetView ArticleMATHGoogle Scholar - Mrozek M, Batko B:
**Coreduction homology algorithm.***Discrete and Computational Geometry*2000,**41:**96-118.MathSciNetView ArticleMATHGoogle Scholar - Geuzaine C, Remacle J-F:
**Gmsh: a 3-D finite element mesh generator with built-in pre- and post-processing facilities.***International Journal for Numerical Methods in Engineering*2009,**79**(11):1309-1331. 10.1002/nme.2579MathSciNetView ArticleMATHGoogle Scholar - Suuriniemi S, Kangas J, Kettunen L:
**Formalization of contradicting source quantities and boundary conditions in quasi-statics.***IEEE Transactions on Magnetics*2007,**43**(4):1253-1256.View ArticleGoogle Scholar - Suuriniemi S, Kangas J, Kettunen L, Tarhasaari T:
**State variables for coupled circuit-field problems.***IEEE Transactions on Magnetics*2004,**40**(2):949-952. 10.1109/TMAG.2004.824771View ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.