Open Access

Homology in Electromagnetic Boundary Value Problems

Boundary Value Problems20102010:381953

DOI: 10.1155/2010/381953

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 [16].

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq1_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq2_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq3_HTML.gif based on a cellular mesh https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq4_HTML.gif of the problem domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq5_HTML.gif . The cellular mesh https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq6_HTML.gif is an instance of the regular cell complex, a finite element mesh for example. The domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq7_HTML.gif is taken to be an orientable manifold with boundary. Now, the finite spaces of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq8_HTML.gif -chains constitute a chain complex (Chain complex: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq9_HTML.gif for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq10_HTML.gif ). under the boundary operator. It is represented by an incidence matrix https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq11_HTML.gif , one for each dimension https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq12_HTML.gif . If we chose to disregard part of the chains that lie in a subdomain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq13_HTML.gif , covered by cell subcomplex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq14_HTML.gif , we get so-called relative chain complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq15_HTML.gif [5, 7]. (In a case boundary values of the unknown field are imposed https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq16_HTML.gif , we are not interested about the field integrals there.) This is done by forming an inclusion map https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq17_HTML.gif and quotienting to get https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq18_HTML.gif . In boundary value problem, the quotient can be formed by dropping the rows and columns from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq19_HTML.gif corresponding to elementary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq20_HTML.gif -chains that lie in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq21_HTML.gif (As there are no boundary conditions concerning a multiplicity of a boundary, this is a practical choice of representatives for the relative chains of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq22_HTML.gif .) If https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq23_HTML.gif is empty, we call the chain complex absolute. Our discussion applies to absolute homology as well. Also, the distinction between the domains https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq24_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq25_HTML.gif and the FE meshes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq26_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq27_HTML.gif is disregarded, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq28_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq29_HTML.gif are used throughout. (Chain space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq30_HTML.gif is finite dimensional whereas https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq31_HTML.gif is not, while https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq32_HTML.gif .)

2.1. Decomposition of Chains and Cohomology

It holds that for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq33_HTML.gif , the relative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq34_HTML.gif -chain space has the nonunique decomposition [5]
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ1_HTML.gif
(2.1)

That is, a nonzero relative chain is a relative boundary of some https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq35_HTML.gif chain, that it belongs to an equivalence class of chains that are neither boundaries of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq36_HTML.gif relative chains and do not have a relative boundary in the chain space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq37_HTML.gif , or it is a relative chain that has a nonzero relative boundary. Spaces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq38_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq39_HTML.gif constitute a space of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq40_HTML.gif -chains whose boundaries are empty, the relative https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq41_HTML.gif -cycles https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq42_HTML.gif .

It turns out that the relative homology spaces, moduli in general, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq43_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq44_HTML.gif of the (relative) cochains https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq45_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq46_HTML.gif of chains and cochains [1, 9]. The subdomain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq47_HTML.gif is typically a region where a boundary condition is imposed upon an unknown field.

Cohomology and homology are related by de Rham's theorem. A field https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq48_HTML.gif is closed if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq49_HTML.gif , and exact if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq50_HTML.gif holds. By de Rham's theorem, a field https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq51_HTML.gif is exact if and only if
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ2_HTML.gif
(2.2)

Fields that are closed but fail to be exact belong to the cohomology class https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq52_HTML.gif . Now, such fields can only exist if the homology space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq53_HTML.gif 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: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq54_HTML.gif [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

The relation between absolute and relative homology spaces can be summarized with the exact sequence of homology spaces [1]:
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ3_HTML.gif
(2.3)

Here https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq55_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq56_HTML.gif are an inclusion and a projection induced by the corresponding mappings of chain spaces [5, 7]. That is, all the elements of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq57_HTML.gif can be decomposed into such nonunique parts that either have a nonzero preimage in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq58_HTML.gif or image in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq59_HTML.gif . This twofold structure of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq60_HTML.gif emerges when the domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq61_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq62_HTML.gif , which have a counterpart in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq63_HTML.gif .

Example 2.1.

A toroid https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq64_HTML.gif where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq65_HTML.gif consists of the two shaded walls in is shown Figure 1. 1-chain cosets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq66_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq67_HTML.gif generate https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq68_HTML.gif . Generator https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq69_HTML.gif has a nonzero preimage in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq70_HTML.gif , while generator https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq71_HTML.gif has image in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq72_HTML.gif : https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq73_HTML.gif .
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig1_HTML.jpg
Figure 1

Two representatives of generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq74_HTML.gif . One generator has a nonzero preimage in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq75_HTML.gif , while the other has image in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq76_HTML.gif .

Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq77_HTML.gif be an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq78_HTML.gif -dimensional manifold. Then there exists an isomorphism [1, 9]
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ4_HTML.gif
(2.4)
If the boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq79_HTML.gif is divided into two complementary nonoverlapping parts https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq80_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq81_HTML.gif , there exists an isomorphism [1, 9]
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ5_HTML.gif
(2.5)

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.

Dual generators of a bar https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq82_HTML.gif in are shown Figure 2. https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq83_HTML.gif consists of the opposite shaded ends of the tube, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq84_HTML.gif consists of the jacket. 1-chain coset https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq85_HTML.gif generates https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq86_HTML.gif , while 2-chain coset https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq87_HTML.gif generates the dual space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq88_HTML.gif .
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig2_HTML.jpg
Figure 2

Representatives of dual generators.

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq89_HTML.gif matrix contains the information about the boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq90_HTML.gif 1-cells of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq91_HTML.gif -cells. If a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq92_HTML.gif 1-cell is on the boundary of a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq93_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq94_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq95_HTML.gif hold all the information we need.

The computation of the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq96_HTML.gif  : th homology space is about finding the quotient space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq97_HTML.gif . In other words, the p : th relative homology-space is https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq98_HTML.gif . The computation of a basis of this quotient space using the bases for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq99_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq100_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq101_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq102_HTML.gif , finding an inclusion map https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq103_HTML.gif , and finding a basis for quotient https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq104_HTML.gif .

Unfortunately, the computation of the relevant integer matrix decompositions has worse than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq105_HTML.gif upper bound for computational time complexity, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq106_HTML.gif is the number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq107_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq108_HTML.gif is practically always substantially smaller than https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq109_HTML.gif , which suggests that we need to look for means to reduce the size of the bases of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq110_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq111_HTML.gif , which keep the homology spaces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq112_HTML.gif invariant. When the domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq113_HTML.gif is covered by a regular cell complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq114_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq115_HTML.gif , is called deformation retraction [12]. In [13], this is referred to as exterior face collapsing.

(ii) Second is combining neighboring https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq116_HTML.gif -cells that share on their boundary a common https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq117_HTML.gif 1-cell that is not bounding any other https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq118_HTML.gif -cells. This mapping leaves https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq119_HTML.gif intact. It only alters the chain complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq120_HTML.gif , which still covers the same domain. Therefore, the topology of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq121_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq122_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq123_HTML.gif -cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq124_HTML.gif has a boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq125_HTML.gif 1-cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq126_HTML.gif that does not bound any other https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq127_HTML.gif -cell, both of these cells can be removed from the cell complex without altering the relative homology spaces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq128_HTML.gif [7, 13]. These cell pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq129_HTML.gif satisfying the above condition are called elementary reduction pairs. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq130_HTML.gif be the number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq131_HTML.gif -cells in the cell complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq132_HTML.gif .

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq133_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq134_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq135_HTML.gif .

Algorithm 1: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq136_HTML.gif -Reduce.

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq137_HTML.gif cell complex

Repeat

 for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq138_HTML.gif −1-cells https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq139_HTML.gif   do

  if   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq140_HTML.gif is on the boundary of exactly one https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq141_HTML.gif -cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq142_HTML.gif   and

    ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq143_HTML.gif   or   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq144_HTML.gif ) then

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq145_HTML.gif

  end if

end for

until no cell has been removed

The removal of a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq146_HTML.gif - and a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq147_HTML.gif 1-cell corresponds to the removal of a row and a column from the matrix of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq148_HTML.gif and the removal of a row from the matrix of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq149_HTML.gif . The matrix of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq150_HTML.gif does not change as the removed https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq151_HTML.gif -cell cannot be on the boundary of any https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq152_HTML.gif +1-cell. In such case, no https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq153_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq154_HTML.gif of the cell complex down to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq155_HTML.gif . Note though, that the matrix operations are not definitely the most efficient way of implementation.

The number of pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq156_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq157_HTML.gif of the problem domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq158_HTML.gif when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq159_HTML.gif is equal to the dimension https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq160_HTML.gif of the cell complex:

(1) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq162_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq163_HTML.gif : elementary reduction pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq164_HTML.gif can be found. There exist https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq165_HTML.gif 1-cells in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq166_HTML.gif that bound only one https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq167_HTML.gif -cell of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq168_HTML.gif ;

(2) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq170_HTML.gif : no elementary reduction pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq171_HTML.gif can be found. A manifold without a boundary: there can be no https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq172_HTML.gif 1-cells bounding only one https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq173_HTML.gif -cell, otherwise they would belong to the boundary;

(3) https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq175_HTML.gif : no elementary reduction pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq176_HTML.gif can be found. This is similar to the first case, but all the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq177_HTML.gif 1-cells in possible elementary reduction pair candidates for removal belong to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq178_HTML.gif .

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig3_HTML.jpg
Figure 3

Three manifolds: a 3-dimensional tube , the surface of a toroid ( ), and a solid ( ), where consists of the shaded regions. Reduction is able to reduce cells from cell complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq185_HTML.gif , but not from complexes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq186_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq187_HTML.gif .

In the last two cases no https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq188_HTML.gif 1-cells can be found that satisfy the if-clause in the n-Reduce algorithm. The inability to remove any pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq189_HTML.gif implies that no lower dimensional pairs can be removed either (true for cell complexes whose underlying space is a manifold.) It seems that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq190_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq191_HTML.gif -cell and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq192_HTML.gif 1-cell pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq193_HTML.gif when the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq194_HTML.gif -cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq195_HTML.gif has only one https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq196_HTML.gif 1-cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq197_HTML.gif on its boundary. This pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq198_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq199_HTML.gif -cell, leaving pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq200_HTML.gif which satisfy the condition. The algorithm goes on by removing one https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq201_HTML.gif -cell each time there are no elementary coreduction pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq202_HTML.gif left, while there are still https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq203_HTML.gif -cells left. The number of arbitrary removals needed to be done in order to banish all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq204_HTML.gif -cells equals the Betti number https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq205_HTML.gif , the number of connected components of the domain [14].

The https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq206_HTML.gif -cell removal is justified by treating the cell complex as the reduced cell complex(constituting together with the augmentation map https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq207_HTML.gif an augmented chain complex [11].), where there is one additional − https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq208_HTML.gif -cell in each connected component of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq209_HTML.gif . Thus, the removal of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq210_HTML.gif -cell is interpreted as the removal of the coreduction pair https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq211_HTML.gif . For the reduced homology(homology for the augmented chain complex, an example of an extraordinary homology theory[11]). https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq212_HTML.gif holds [14]. For the reduced cell complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq213_HTML.gif holds for each connected component, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq214_HTML.gif holds for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq215_HTML.gif [11]. The information lost about https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq216_HTML.gif due to computing the reduced homology instead can be recovered by storing the arbitrarily removed https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq217_HTML.gif -cells: they are the generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq218_HTML.gif .

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq219_HTML.gif is on the coboundary of cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq220_HTML.gif , if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq221_HTML.gif is on the boundary of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq222_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq223_HTML.gif , the dual cell of a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq224_HTML.gif -cell is an https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq225_HTML.gif https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq226_HTML.gif -cell. For the dual mesh, the boundary operator matrices are https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq227_HTML.gif for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq228_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq229_HTML.gif 1-cell is on the boundary of a single https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq230_HTML.gif -cell only, it checks whether a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq231_HTML.gif -cell is on the coboundary of a single https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq232_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq233_HTML.gif -Reduce algorithm, but only in the case https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq234_HTML.gif equals https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq235_HTML.gif : Applying the arbitrary removal to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq236_HTML.gif -cells from the cell complex each time it notices no elementary reduction pairs https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq237_HTML.gif could be found in the previous run, yet there still are https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq238_HTML.gif -cells left. The three cases enumerated earlier tell us that this is the case only when https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq239_HTML.gif is either empty or a subset of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq240_HTML.gif . The https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq241_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq242_HTML.gif -cells from the cell complex tells us the dimension of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq243_HTML.gif , the Betti number https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq244_HTML.gif . By duality theorem https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq245_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq246_HTML.gif is equal to the number of connected components https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq247_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq248_HTML.gif , for which either https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq249_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq250_HTML.gif holds.

Therefore, each arbitrary removal of a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq251_HTML.gif -cell leads to a removal of all the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq252_HTML.gif -cells in the given connected component of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq253_HTML.gif and the removed https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq254_HTML.gif -cells together with the "trigger" https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq255_HTML.gif -cell constitute a generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq256_HTML.gif . This procedure of course leaves the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq257_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq258_HTML.gif -generators were omitted: one for each connected component https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq259_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq260_HTML.gif , for which either https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq261_HTML.gif or https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq262_HTML.gif holds. We call Algorithm 2 Reduce-Omit.

Algorithm 2: Reduce-Omit.

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq263_HTML.gif cell complex

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq264_HTML.gif dimension of the cell complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq265_HTML.gif

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq266_HTML.gif

for   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq267_HTML.gif = https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq268_HTML.gif to 1 do

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq269_HTML.gif -Reduce ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq270_HTML.gif )

end for

while cell complex https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq271_HTML.gif has https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq272_HTML.gif -cells https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq273_HTML.gif such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq274_HTML.gif   do

 choose https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq275_HTML.gif -cell https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq276_HTML.gif such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq277_HTML.gif

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq278_HTML.gif

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq279_HTML.gif

for   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq280_HTML.gif to 1  do

   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq281_HTML.gif -Reduce ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq282_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq283_HTML.gif )

end for

 store https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq284_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq285_HTML.gif -cells removed by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq286_HTML.gif -Reduce ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq287_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq288_HTML.gif ) in previous loop.

end while

This strategy cannot be applied further down in the dimension https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq289_HTML.gif , as there is no guarantee that the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq290_HTML.gif -generators have separate supports. Therefore, the arbitrary removal of a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq291_HTML.gif -cell could lead to a removal of such set of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq292_HTML.gif -cells, from which no representative of the generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq293_HTML.gif can be constructed. The dimension https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq294_HTML.gif was exceptional, as all the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq295_HTML.gif -generators had separate supports, and therefore all the removed https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq296_HTML.gif -cells constituted one https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq297_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq298_HTML.gif 1-cell resides on the boundary of exactly two https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq299_HTML.gif -cells, it is possible to combine these two https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq300_HTML.gif -cells to form single https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq301_HTML.gif -cell and remove the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq302_HTML.gif 1-cell from the cell complex without altering the covered domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq303_HTML.gif . [7, 13].

Algorithm 3 has worst-case computational complexity of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq304_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq305_HTML.gif is the number of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq306_HTML.gif -cells in the cell complex. This is due to the fact that eventually most of the https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq307_HTML.gif 1-cells get enqueued in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq308_HTML.gif . 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: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq309_HTML.gif -Combine.

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq310_HTML.gif cell complex

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq311_HTML.gif empty queue of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq312_HTML.gif −1-cells

for all   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq313_HTML.gif -cells https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq314_HTML.gif   do

 enqueue boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq315_HTML.gif −1-cells of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq316_HTML.gif into https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq317_HTML.gif

while   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq318_HTML.gif is not empty do

  dequeue https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq319_HTML.gif from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq320_HTML.gif

  If   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq321_HTML.gif is on the boundary of exactly two https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq322_HTML.gif -cells https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq323_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq324_HTML.gif   and

    ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq325_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq326_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq327_HTML.gif   or   https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq328_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq329_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq330_HTML.gif   then

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq331_HTML.gif

    https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq332_HTML.gif , the sign chosen such that the orientations match

   enqueue boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq333_HTML.gif −1-cells of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq334_HTML.gif not already in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq335_HTML.gif to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq336_HTML.gif

  end if

end while

end for

The combining of two https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq337_HTML.gif -cells and removal of a https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq338_HTML.gif 1-cell correspond to an addition row-operation of two rows followed by removal of a row and a column in the matrix of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq339_HTML.gif , an addition column operation of two columns followed by removal of a column in the matrix of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq340_HTML.gif and a removal of a row in the matrix of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq341_HTML.gif . Again, matrix operations are not an efficient way to reduce the mesh.

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq342_HTML.gif -Combine can be run for each dimension of the cell complex, starting from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq343_HTML.gif down to 1. In addition, after each run of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq344_HTML.gif -Combine, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq345_HTML.gif -Reduce ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq346_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq347_HTML.gif ) can be run to get rid of "loose tails" that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq348_HTML.gif -Combine leaves behind; see Figure 4.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig4_HTML.jpg
Figure 4

A mesh of a square with a hole after cell combining. Loose tails are left behind, which can be removed with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq349_HTML.gif -Reduce algorithm.

3.2. General Procedure for Homology Computation

Let us now propose a general procedure to find the generators of homology spaces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq350_HTML.gif for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq351_HTML.gif . Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq352_HTML.gif be the dimension of the chain complex.

(1) Run Reduce-Omit.

(2) Run https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq355_HTML.gif -Combine followed by https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq356_HTML.gif -Reduce ( https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq357_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq358_HTML.gif ) for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq359_HTML.gif .

(3) Find the generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq361_HTML.gif using the reduced boundary operator matrices https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq362_HTML.gif for each https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq363_HTML.gif by HNF and SNF.

(4) Recover the possible generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq365_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq366_HTML.gif -Reduce and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq367_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq368_HTML.gif , the procedure has the computational complexity of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq369_HTML.gif -Reduce.

In cases where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq370_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq371_HTML.gif -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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq372_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq373_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq374_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq375_HTML.gif -cells are arbitrarily removed in a similar but dual manner as in the Reduce-Omit algorithm. Then use straightforward dual versions of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq376_HTML.gif -Combine and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq377_HTML.gif -Reduce. Replace "boundary" with "coboundary" and " https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq378_HTML.gif 1-cell" with " https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq379_HTML.gif +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.

The established method for finding the generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq380_HTML.gif is to apply Reduce-Omit and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq381_HTML.gif -Combine to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq382_HTML.gif and then compute the decompositions of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq383_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq384_HTML.gif . Alternatively, one can apply this modified coreduction technique to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq385_HTML.gif , as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq386_HTML.gif holds. Then compute the decompositions of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq387_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq388_HTML.gif to find the same generators, but represented by the primal mesh cells; see Figure 5.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig5_HTML.jpg
Figure 5

(a): A representative of the generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq389_HTML.gif of a toroid. (b): A representative of the same generator but in terms of primal mesh cells, so-called thick-cut, computed by applying coreduction to https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq390_HTML.gif .

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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq391_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq392_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq393_HTML.gif ? 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq394_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq395_HTML.gif be the field of interest. Due to de Rham's theorem, field https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq396_HTML.gif can be exhaustively represented with a scalar potential https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq397_HTML.gif such that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq398_HTML.gif holds, if and only if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq399_HTML.gif holds for all https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq400_HTML.gif [9]. That is, the circulation of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq401_HTML.gif must vanish on all closed chains.

Whether this holds for all closed chains https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq402_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq403_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq404_HTML.gif , that is, the field circulations around the generators of the homology space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq405_HTML.gif , which is nonempty when the problem domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq406_HTML.gif contains tunnels. However, this fails for a scalar potential alone, as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq407_HTML.gif . Therefore, the field https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq408_HTML.gif is decomposed into two parts, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq409_HTML.gif , where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq410_HTML.gif satisfies https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq411_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq412_HTML.gif . A systematic approach to fix these circulations for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq413_HTML.gif and thereby for https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq414_HTML.gif , is to produce so-called thick-cuts, where the support of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq415_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq416_HTML.gif . However, the cut surfaces are actually the corresponding duals for the generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq417_HTML.gif , elements of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq418_HTML.gif , reliably computable with our methods. The thick-cuts are the dual 1-chains of the 2-chain generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq419_HTML.gif .

Example 4.1.

Consider a magnetic core https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq420_HTML.gif shaped like Figure 8, with coils wound around its branches. The cut surfaces https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq421_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq422_HTML.gif , the generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq423_HTML.gif , are shown in Figure 6.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig6_HTML.jpg
Figure 6

Representatives https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq424_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq425_HTML.gif of generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq426_HTML.gif and the corresponding representatives https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq427_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq428_HTML.gif of the dual generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq429_HTML.gif .

Example 4.2.

Consider a wire wound around a magnetic core that is surrounded by air. Let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq430_HTML.gif consist of the core and air, see Figure 7. Now, the single generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq431_HTML.gif is a simple loop around the wire. Its dual generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq432_HTML.gif does not share this virtue, as it "cuts" all such loops.
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig7_HTML.jpg
Figure 7

On the left: a representative of the generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq433_HTML.gif . On the right, the representative of the generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq434_HTML.gif .

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig8_HTML.jpg
Figure 8

Coupled field-circuit problem. The circuit and field domains are isolated everywhere else except on the shaded region https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq435_HTML.gif .

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig9_HTML.jpg
Figure 9

Multiformulational field problem. It is often economical to use different field problem formulations in the conducting domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq436_HTML.gif and in the nonconducting domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq437_HTML.gif . 1-chain cosets https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq438_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq439_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq440_HTML.gif generate https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq441_HTML.gif .

4.3. Detection of Contradicting Source Quantities and Boundary Conditions

Field sources inside the problem domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq442_HTML.gif and the boundary conditions on domain boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq443_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq444_HTML.gif is a current-carrying toroid. The problem is governed by the equations https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq445_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq446_HTML.gif . The source term https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq447_HTML.gif is set inside the domain, and the boundary conditions https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq448_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq449_HTML.gif are set on nonoverlapping regions https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq450_HTML.gif , which cover the whole domain boundary. Now, the magnetostatic equations require that

https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ6_HTML.gif
(41)
hold. In order to check whether our boundary conditions comply to those requirements, it is sufficient to check that [16]
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ7_HTML.gif
(42)

where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq451_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq452_HTML.gif are representatives of the generators of the homology spaces, readily computable with our methods. If the space https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq453_HTML.gif is not empty and the user has for example, set https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq454_HTML.gif on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq455_HTML.gif and nonzero net current through https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq456_HTML.gif , then a clash will occur.

This procedure generalizes to all electromagnetic boundary value problems because all of the Maxwell's equations are of the form
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ8_HTML.gif
(43)

where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq457_HTML.gif is the field source, set in the domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq458_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq459_HTML.gif is the unknown field, subject to a boundary condition https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq460_HTML.gif on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq461_HTML.gif . A clash will occur, if https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq462_HTML.gif for some https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq463_HTML.gif .

4.4. Setting Up Coupled Circuit-Field Problems

Consider a coupled electric circuit-field problem, where Kirchhoff's laws hold in the circuit domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq464_HTML.gif and Maxwell's equations hold in the field domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq465_HTML.gif (Figure 8). To make sure that the field problem constitutes a circuit element, we restrict to the case where the domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq466_HTML.gif contains no tunnels and subject it to the Kirchhoff's current law: https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq467_HTML.gif . The state variables of the circuit problem are voltages and currents, which describe the power in the system. The circuit problem and the field problem are isolated in such manner that the field problem constitutes a circuit element. The interfaces between the circuit and the field problem are the conductor terminals on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq468_HTML.gif . All the power flux by voltages and currents between https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq469_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq470_HTML.gif is accounted by this interface only, on which voltage and current must have a precise meaning. The isolation is built by boundary conditions
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ9_HTML.gif
(44)

That is, no magnetic or electric flux passes through the boundary https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq471_HTML.gif , and current can only pass through the terminals https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq472_HTML.gif . By https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq473_HTML.gif on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq474_HTML.gif we are guaranteed to have scalar potential there. Terminals https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq475_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq476_HTML.gif , two terminals on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq477_HTML.gif and an insulating surface https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq478_HTML.gif . By intuition and experience, one can tell that a unique solution is found by imposing a voltage difference https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq479_HTML.gif between the terminals. In terms of homology, that is, the integral of electric field https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq480_HTML.gif along the single generator https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq481_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq482_HTML.gif : https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq483_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq484_HTML.gif . However, in coupled field-circuit problems, the scalar potential must exist on the surface https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq485_HTML.gif .

Alternatively, instead of the voltage between the terminals, one can set the net current https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq486_HTML.gif through the resistor. Again, in the language of homology, this is the integral of current density https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq487_HTML.gif over the single generator https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq488_HTML.gif of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq489_HTML.gif , which is the dual generator of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq490_HTML.gif . So the user needs to set https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq491_HTML.gif . This together with https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq492_HTML.gif guarantees that https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq493_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq494_HTML.gif have four terminals on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq495_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq496_HTML.gif and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq497_HTML.gif , respectively. Imposing voltages between the terminals on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq498_HTML.gif corresponds to imposing EMFs along the generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq499_HTML.gif .

More interestingly, imposing integral of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq500_HTML.gif over generators of https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq501_HTML.gif corresponds to imposing currents through terminals, as no displacement current https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq502_HTML.gif escapes from https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq503_HTML.gif and the continuity equation https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq504_HTML.gif must hold for all volumes https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq505_HTML.gif inside https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq506_HTML.gif . Conversely, imposing currents through terminals may impose displacement currents in nonconducting parts of the domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq507_HTML.gif , 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq508_HTML.gif 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq509_HTML.gif . 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 https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq510_HTML.gif consist of a conducting subdomain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq511_HTML.gif and nonconducting subdomain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq512_HTML.gif . In https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq513_HTML.gif , we can either have an imposed time-varying source current, or it can be coupled to an external circuit through terminals on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq514_HTML.gif , as described in previous section. However, let https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq515_HTML.gif have tunnels, through which the conducting domain https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq516_HTML.gif extends.

Now, in the air region https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq517_HTML.gif , we seek for the solution of the magnetic field https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq518_HTML.gif only, for which https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq519_HTML.gif holds. We are able to use a scalar potential formulation with the thick-cut technique, with expression https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq520_HTML.gif . But what should be the total currents https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq521_HTML.gif through the holes in region https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq522_HTML.gif , fixing the circulations https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq523_HTML.gif ?

In the conductor region https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq524_HTML.gif , in addition to the magnetic field, we are interested in the electric field and the corresponding currents. Therefore, we look for the solution of the (coupled) magnetoquasistatic problem defined there. In other words, https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq525_HTML.gif , https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq526_HTML.gif , and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq527_HTML.gif must hold, where https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq528_HTML.gif consists of imposed source current and eddy currents generated by the time-varying magnetic flux, and https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq529_HTML.gif on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq530_HTML.gif . The problem is solved by decomposition https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq531_HTML.gif in https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq532_HTML.gif , and on https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq533_HTML.gif by setting https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq534_HTML.gif and outside the thick-cuts https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq535_HTML.gif [6]. We note that the required currents
https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ10_HTML.gif
(45)

which are also the independent currents of the coupled problem, as https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq536_HTML.gif .

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

(1)
Tampere University of Technology, Electromagnetics

References

  1. Kotiuga PR: Hodge decompositions and computational electromagnetics, Ph.D. thesis. Electrical and Computer Engineering, McGill University, Montreal, Canada; 1984.Google Scholar
  2. Bossavit A: Most general "non-local" boundary conditions for the Maxwell equation in a bounded region. COMPEL 2000,19(2):239-245.MathSciNetMATHGoogle Scholar
  3. Kettunen L: Fields and circuits in computational electromagnetism. IEEE Transactions on Magnetics 2001,37(5):3393-3396. 10.1109/20.952621View ArticleGoogle Scholar
  4. 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
  5. 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
  6. Specogna R, Suuriniemi S, Trevisan F:Geometric https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq537_HTML.gif - https://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq538_HTML.gif 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
  7. Suuriniemi S: Homological computations in electromagnetic modeling, Ph.D. thesis. Department of Electrical Engineering, Tampere University of Technology, Tampere, Finland; 2004.Google Scholar
  8. Kaczynski T, Mischaikow K, Mrozek M: Computational Homology, Applied Mathematical Sciences. Volume 157. Springer, New York, NY, USA; 2004:xviii+480.MATHGoogle Scholar
  9. 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
  10. Yap CK: Fundamental Problems of Algorithmic Algebra. Oxford University Press, New York, NY, USA; 2000:xvi+511.MATHGoogle Scholar
  11. Munkres JR: Elements of Algebraic Topology. Perseus Books, Cambridge, Mass, USA; 1984:ix+454.MATHGoogle Scholar
  12. Hatcher A: Algebraic Topology. Cambridge University Press, Cambridge, Mass, USA; 2002:xii+544.MATHGoogle Scholar
  13. 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
  14. Mrozek M, Batko B: Coreduction homology algorithm. Discrete and Computational Geometry 2000, 41: 96-118.MathSciNetView ArticleMATHGoogle Scholar
  15. 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
  16. 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
  17. 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

© Matti Pellikka et al. 2010

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.