<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s100908696</article-id>
<article-id pub-id-type="publisher-id">sensors-10-08696</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Inverse Problem in Nondestructive Testing Using Arrayed Eddy Current Sensors</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Zaoui</surname><given-names>Abdelhalim</given-names></name><xref ref-type="aff" rid="af1-sensors-10-08696"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-10-08696"><sup>2</sup></xref><xref ref-type="corresp" rid="c1-sensors-10-08696"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Menana</surname><given-names>Hocine</given-names></name><xref ref-type="aff" rid="af2-sensors-10-08696"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Feliachi</surname><given-names>Mouloud</given-names></name><xref ref-type="aff" rid="af2-sensors-10-08696"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Berthiau</surname><given-names>Gérard</given-names></name><xref ref-type="aff" rid="af2-sensors-10-08696"><sup>2</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-10-08696">
<label>1</label> Electromagnetic Systems Laboratory, EMP, BP-17 Bordj El Bahri, 16111 Algiers, Algeria</aff>
<aff id="af2-sensors-10-08696">
<label>2</label> IREENA, 37, Boulevard de l’université, BP-406, 44602 Saint-Nazaire Cedex, France; E-Mails: <email>hocine.menana@univ-nantes.fr</email> (H.M.); <email>mouloud.feliachi@univ-nantes.fr</email> (M.F.); <email>gerard.berthiau@univ-nantes.fr</email> (G.B.)</aff>
<author-notes>
<corresp id="c1-sensors-10-08696">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>zaoui_abdelhalim@yahoo.fr</email>; Tel.: +213-218-634-69 / +213-214-267-53; Fax: +213-218-632-04.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2010</year></pub-date>
<pub-date pub-type="epub">
<day>20</day>
<month>9</month>
<year>2010</year></pub-date>
<volume>10</volume>
<issue>9</issue>
<fpage>8696</fpage>
<lpage>8704</lpage>
<history>
<date date-type="received">
<day>3</day>
<month>8</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>30</day>
<month>8</month>
<year>2010</year></date>
<date date-type="accepted">
<day>15</day>
<month>9</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2010 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2010</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>A fast crack profile reconstitution model in nondestructive testing is developed using an arrayed eddy current sensor. The inverse problem is based on an iterative solving of the direct problem using genetic algorithms. In the direct problem, assuming a current excitation, the incident field produced by all the coils of the arrayed sensor is obtained by the translation and superposition of the 2D axisymmetric finite element results obtained for one coil; the impedance variation of each coil, due to the crack, is obtained by the reciprocity principle involving the dyadic Green’s function. For the inverse problem, the surface of the crack is subdivided into rectangular cells, and the objective function is expressed only in terms of the depth of each cell. The evaluation of the dyadic Green’s function matrix is made independently of the iterative procedure, making the inversion very fast.</p></abstract>
<kwd-group>
<kwd>arrayed eddy current sensor</kwd>
<kwd>superposition principle</kwd>
<kwd>ideal crack model</kwd>
<kwd>reciprocity principle</kwd>
<kwd>inverse problem</kwd>
<kwd>genetic algorithms</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>The use of arrayed eddy current (EC) sensors in Non Destructive Testing (NDT) provides high speed inspection and better space resolution by miniaturization of their coils. The arrayed sensors can make a measurement of large surfaces without a scan, as illustrated in the <xref ref-type="fig" rid="f1-sensors-10-08696">Figure 1</xref>, which results in a gain in time and measurement noise reduction; on the other hand, compared to conventional EC sensors, arrayed EC sensors provide more information about the defect characteristics.</p>
<p>There are several configurations of arrayed eddy current sensors [<xref ref-type="bibr" rid="b1-sensors-10-08696">1</xref>–<xref ref-type="bibr" rid="b3-sensors-10-08696">3</xref>]; when their coils are fed separately, the effect of the adjacent coils is negligible; the modeling approach is then the same as for a single coil sensors. In this work, we consider an arrayed sensor in which the coils are connected in series and fed simultaneously by a current source as shown in <xref ref-type="fig" rid="f2-sensors-10-08696">Figure 2</xref>. The advantages of such configuration are:
<list list-type="simple">
<list-item>
<p>- The synchronization of the supply and the measurement is not required for the electronic component.</p></list-item>
<list-item>
<p>- The measurement of the coils impedance is carried throw the voltage measurement.</p></list-item>
<list-item>
<p>- The incident electric field on the scan surface is uniform because the coils are connected in series, and this is independent of the work piece surface state.</p></list-item></list></p>
<p>The investigation is done by the measurement of the impedance variation of each coil. The purpose is to determine a crack shape and size using the measurements provided by such a sensor in a real time investigation.</p>
<p>The inversion method proposed is based on the iterative solving of the direct problem; it is thus important to have a fast tool to solve the latter. The use of the 3D finite element method would be very expensive in terms of memory space and CPU time. On the other hand, the analytic models lack the flexibility to handle complex geometries. In this work, we use the ideal crack model [<xref ref-type="bibr" rid="b4-sensors-10-08696">4</xref>–<xref ref-type="bibr" rid="b6-sensors-10-08696">6</xref>], generalized to arrayed eddy current sensors [<xref ref-type="bibr" rid="b7-sensors-10-08696">7</xref>]. In the ideal crack model, the effect of the crack is represented by a current dipole layer on its surface, evaluated by an integral equation involving the electric dyadic Green’s functions and the normal incident electric field on the crack surface. The impedance variation of each coil is evaluated using the reciprocity principle. The evaluation of the dyadic Green’s function matrix is made independently of the iterative procedure of inversion; this makes the inversion to be very fast. On the other hand, a fast calculation of the incident field, produced by all the coils of the arrayed sensor, on the crack surface is achieved by making a translation and a superposition of the 2D axisymmetric finite element results obtained for one coil [<xref ref-type="bibr" rid="b7-sensors-10-08696">7</xref>].</p></sec>
<sec>
<label>2.</label>
<title>The Modeled System</title>
<p><xref ref-type="fig" rid="f3-sensors-10-08696">Figure 3</xref> describes the modeled system. It is constituted of a (3 × 4) matrix of identical coils situated above a conductive plate characterized by a conductivity σ and the free space permeability <italic>μ<sub>0</sub></italic>. The plate contains an ideal crack of a surface <italic>S</italic> with an arbitrary shape described in <xref ref-type="fig" rid="f3-sensors-10-08696">Figure 3</xref>. The arrayed sensor coils are fed in series by a current source with a time harmonic variation 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>ω</mml:mi>
<mml:mi>t</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. <xref ref-type="table" rid="t1-sensors-10-08696">Table 1</xref> gives the numerical values of the fixed parameters of the system [<xref ref-type="bibr" rid="b9-sensors-10-08696">9</xref>].</p></sec>
<sec>
<label>3.</label>
<title>Direct Problem Formulation</title>
<p>The direct problem is based on the generalization of the ideal crack model to an arrayed eddy current sensor [<xref ref-type="bibr" rid="b7-sensors-10-08696">7</xref>], which we recall briefly in this section. Firstly, the electric field induced by a single coil in the unflawed piece is calculated using the 2D axisymmetric finite element method. The electromagnetic problem formulation is given by (1), involving the magnetic vector potential <italic>A</italic> and the current source density <italic>Js</italic>. The total electric field <italic>E<sup>T</sup></italic> induced by all the coils constituting the arrayed sensor is then obtained by (2), making a spatial translation and a superposition of the results obtained for the single coil [<xref ref-type="bibr" rid="b8-sensors-10-08696">8</xref>]. In (2), <italic>Aφ</italic> is the magnetic vector potential solution of (1) for one coil, <italic>nc</italic> is the number of coils constituting the arrayed sensor, “<italic>ox<sub>k</sub></italic>, <italic>oy<sub>k</sub></italic>” are the center coordinates of the coil <italic>k</italic>, “<italic>x,y,z</italic>” are the Cartesian coordinates of the computing point, <italic>r<sub>k</sub></italic> is the distance between the computing point and the axis of the coil <italic>k</italic>, and <italic>sign(I<sub>sk</sub>)</italic> indicates the direction of the current in the coil <italic>k</italic>.</p>
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>∂</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>∂</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mo>∂</mml:mo>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>∂</mml:mo>
<mml:mi>r</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>ω</mml:mi>
<mml:mi>μ</mml:mi>
<mml:mi>σ</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>μ</mml:mi>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>ω</mml:mi>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mi mathvariant="italic">sign</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi mathvariant="italic">sk</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>j</mml:mi>
<mml:mi>ω</mml:mi>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">nc</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mi mathvariant="italic">sign</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi mathvariant="italic">sk</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>o</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mi>ϕ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">z</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0.</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>Once the total normal incident field 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> on the surface <italic>S</italic> of the ideal crack is determined, we calculate an equivalent current dipole <italic>p</italic> normal to this surface <italic>S</italic> by using the following integral equation [<xref ref-type="bibr" rid="b9-sensors-10-08696">9</xref>]:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mtext>lim</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>→</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:munder>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>ω</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mo>∫</mml:mo>
<mml:mi>S</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>G</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">nn</mml:mi></mml:mrow></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi></mml:mrow></mml:mrow></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>∈</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>where:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>G</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">nn</mml:mi></mml:mrow></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>.</mml:mo>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
<mml:mover accent="true">
<mml:mi>n</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>In (4), <italic>n</italic>̑ is the vector normal to the surface <italic>S</italic>, and <italic>Ḡ</italic> (<italic>r</italic>, <italic>r</italic>′) is the electric dyadic Green function satisfying <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref> and subjected to the same continuity conditions as the electric field. In (5), <italic>Ī</italic> = <italic>x̂x̂</italic> + <italic>ŷŷ</italic> + <italic>ẑẑ</italic> is the unit tensor and <italic>k</italic><sup>2</sup> = <italic>jωμ</italic><sub>0</sub><italic>σ</italic>:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo>∇</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo>∇</mml:mo>
<mml:mo>×</mml:mo>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mover accent="true">
<mml:mi>G</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mover accent="true">
<mml:mi>I</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mi>δ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>r</mml:mi>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The integral <xref ref-type="disp-formula" rid="FD3">equation (3)</xref> is solved using the moment method. The crack surface is subdivided into (<italic>N</italic> <italic>=</italic> <italic>n<sub>L</sub></italic> × <italic>n<sub>d</sub></italic>) rectangular elements of equal surfaces <italic>S<sub>e</sub></italic>; the dipole density is considered constant in each element. We obtain the following matrix equation:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>}</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>{</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>}</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The vectors <italic>E</italic> and <italic>P</italic> are of dimension (<italic>N</italic>); containing respectively the values of 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <italic>p</italic> for the <italic>N</italic> elements of the crack grid. The matrix <italic>G</italic> is of dimension (<italic>N</italic> × <italic>N</italic>); its elements are calculated as follows:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>∫</mml:mo></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>G</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">nn</mml:mi></mml:mrow></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:mi> </mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>..</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>..</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Using the reciprocity principle, the impedance variation of a coil k of the arrayed sensor is given by the following equation:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>∫</mml:mo></mml:mrow>
<mml:mi>s</mml:mi></mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi> </mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi></mml:mrow></mml:math></disp-formula></p>
<p>In (6) 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> and <italic>p</italic> are scalars representing, respectively, the part of the normal electric field induced by the coil <italic>k</italic> on the surface <italic>S</italic>, and the normal current dipole solution of (3). The discrete form of (8) is given by:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p></sec>
<sec>
<label>4.</label>
<title>Inverse Problem</title>
<sec sec-type="methods">
<label>4.1.</label>
<title>Reference data</title>
<p>The reference data for the inversion are obtained by a 3D finite element computation code developed in our laboratory. The computation code is based on the AV-A formulation [<xref ref-type="bibr" rid="b10-sensors-10-08696">10</xref>] associated to the Gmsh meshing software [<xref ref-type="bibr" rid="b11-sensors-10-08696">11</xref>]. We obtained the following impedance variation matrix, representing the impedances variations of the (3 × 4) matrix of coils constituting the arrayed EC sensor:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
<mml:mo>*</mml:mo></mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.0008</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.0025</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>0.0008</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.0008</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>0.0009</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.0040</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.0020</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.0005</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.0464</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.0125</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.1204</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.0755</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.1783</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.1374</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.0835</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.0002</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.0008</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.0024</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>0.0007</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.0008</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mn>0.0008</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>0.0041</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.0019</mml:mn>
<mml:mo>−</mml:mo>
<mml:mn>0.0005</mml:mn>
<mml:mi mathvariant="normal">i</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="fig" rid="f5-sensors-10-08696">Figures 5a</xref> and <xref ref-type="fig" rid="f5-sensors-10-08696">5b</xref> represent the 3D finite element modeled geometry and the 3d plot of <italic>|ΔZ*|</italic> respectively; the latter gives an overview of the crack profile.</p></sec>
<sec>
<label>4.2.</label>
<title>Inversion procedure</title>
<p>The detection of the crack is observed through the variation of the impedance matrix. In the initial step, we don’t know the exact position and orientation of the crack under the arrayed sensors. The adjustment of the position of the latter by looking for the maximum variation of the matrix impedance is necessary with the aim of getting the crack in the middle and on the main axis of the arrayed sensor. This manual operation makes the inverse problem easier and reduces it to the determination of the crack profile. It is assumed that the crack is embedded in a known rectangular area of dimensions <italic>L×d</italic>. This rectangle is subdivided into <italic>N=n<sub>L</sub>×n<sub>d</sub></italic> rectangular cells. The crack profile is described by a vector <italic>q</italic> containing <italic>n<sub>L</sub></italic> integer numbers varying between <italic>0</italic> and <italic>n<sub>d</sub></italic>. An example of an arbitrary crack shape representation using these discrete values is given in <xref ref-type="fig" rid="f6-sensors-10-08696">Figure 6</xref>. The objective function is expressed as follows:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>ɛ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mo>|</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>|</mml:mo></mml:mrow>
<mml:mo>*</mml:mo></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>∈</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>...</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>L</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>The norm used here is the absolute value which takes less computation time than the square root norm. For a better consideration of the real part in the minimization of the objective function, we separate it from the imaginary part in the impedance variation as follows:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mo>*</mml:mo></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext>Re</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>Re</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext>Im</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mo>Δ</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>Im</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>Z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>We use the genetic algorithm for the minimization of the objective function (11). Genetic algorithms have been widely used, associated to the finite element method for the optimization of electromagnetic devices [<xref ref-type="bibr" rid="b12-sensors-10-08696">12</xref>,<xref ref-type="bibr" rid="b13-sensors-10-08696">13</xref>]. It is based on the principle of natural selection. A set of potential solutions (a population) is obtained against fitness criteria, and, through iterations, is refined with mutation and recombination [<xref ref-type="bibr" rid="b14-sensors-10-08696">14</xref>].</p>
<p>In the first step, we suppose that the crack occupies all the rectangle surface (<italic>L</italic> × <italic>d</italic>); the matrix <italic>G</italic>, as well as the normal incident field 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, are then calculated once for all the cells of the grid (<italic>n<sub>L</sub></italic> × <italic>n<sub>d</sub></italic>) independently of the inversion procedure which is explained in <xref ref-type="fig" rid="f7-sensors-10-08696">Figure 7</xref>. It is based on an iterative solution of only (6) and (9). In each iteration, the elements <italic>q<sub>i</sub></italic> of the vector <italic>q</italic> are obtained by the genetic algorithm; the matrix <italic>G</italic>, as well as the vector 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>E</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, are then actualized by eliminating the rows and the columns corresponding to the cells which do not belong to the new crack surface; once the actualized matrix <italic>G(q<sub>i</sub>)</italic> is inverted, the vector <italic>P</italic> is then recalculated by (7) and <italic>ΔZ<sub>k</sub></italic> is reevaluated by (9). Finally, an optimal vector <italic>q</italic> is obtained; the values of its elements determine the discrete shape of the crack. This procedure is very fast since the <italic>q<sub>i</sub></italic> are integer values belonging to a short interval [<italic>0 n<sub>d</sub></italic>].</p>
<p>For the considered example we have chosen the discretization (<italic>n<sub>L</sub></italic> × <italic>n<sub>d</sub></italic> <italic>= 8</italic> × <italic>4</italic>); the variable <italic>q<sub>i</sub></italic> can take four values (1, 2, 3 and 4) corresponding respectively to 25, 50, 75 and 100% of the plate thickness. For a fast computation, the variable <italic>q<sub>i</sub></italic> is coded on two Boolean variables (00, 01, 10 and 11). The objective function in finality depends on <italic>2</italic> × <italic>n<sub>L</sub></italic> <italic>= 16</italic> Boolean variables which correspond in the software implementation to the dimension of one short integer variable. We used the genetic algorithm toolbox of Matlab (<italic>gatools</italic> function) with the following parameters:</p>
<p>In <xref ref-type="fig" rid="f8-sensors-10-08696">Figure 8</xref> we present the inversion results <italic>q</italic> (hatched cells) obtained for the considered example. Since the inversion method is heuristic, the execution time varies from 10 to 40 seconds on a 3.4 GHz Pentium 4 PC. The number of generations varies between 50 and 100 depending on the initial solution.</p>
<p>The part of computation done by the genetic algorithms is not time consuming according to their simple operation. The most consuming time in this inversion is the evaluation of the objective function and the inversion of the reduced matrix <italic>G(q<sub>i</sub>)</italic>.</p></sec></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>We have presented a fast crack profile reconstitution procedure using arrayed eddy current sensor data. The use of the reciprocity and superposition principles allows a fast resolution of the direct problem. In the inverse problem, which is based on an iterative solving of the direct one, we adopted a coarse approximation of the crack profile which is represented by only a few discrete values; this makes the inversion procedure very fast when using genetic algorithms. This method can give a real time inspection when implemented in an embedded NDT hardware.</p></sec></body>
<back>
<ack>
<p>This work was supported by Nantes Métropole and the Algerian-French cooperation PAI-Tassili program.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-10-08696"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Huang</surname><given-names>H</given-names></name><name><surname>Sakurai</surname><given-names>N</given-names></name><name><surname>Takagi</surname><given-names>T</given-names></name><name><surname>Uchimoto</surname><given-names>T</given-names></name></person-group><article-title>Design of an eddy-current array probe for crack sizing in steam generator tubes</article-title><source>NDT&amp;E Int</source><year>2003</year><volume>36</volume><fpage>515</fpage><lpage>522</lpage><pub-id pub-id-type="doi">10.1016/S0963-8695(03)00050-1</pub-id></citation></ref>
<ref id="b2-sensors-10-08696"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Takagi</surname><given-names>T</given-names></name><name><surname>Uchimoto</surname><given-names>T</given-names></name><name><surname>Nagaya</surname><given-names>Y</given-names></name><name><surname>Huang</surname><given-names>H</given-names></name><name><surname>Endo</surname><given-names>H</given-names></name></person-group><article-title>Design of eddy current camera for non-destructive testing</article-title><conf-name>Proceedings of the SICE Annual Conference</conf-name><conf-loc>Fukui, Japan</conf-loc><conf-date>4–6 August 2003</conf-date><fpage>1711</fpage><lpage>1714</lpage></citation></ref>
<ref id="b3-sensors-10-08696"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Grimberg</surname><given-names>R</given-names></name><name><surname>Udpa</surname><given-names>L</given-names></name><name><surname>Savin</surname><given-names>A</given-names></name><name><surname>Stengmann</surname><given-names>R</given-names></name><name><surname>Palihovici</surname><given-names>V</given-names></name><name><surname>Udpa</surname><given-names>SS</given-names></name></person-group><article-title>2D Eddy current sensor array</article-title><source>NDT&amp;E Int</source><year>2006</year><volume>39</volume><fpage>264</fpage><lpage>271</lpage><pub-id pub-id-type="doi">10.1016/j.ndteint.2005.08.004</pub-id></citation></ref>
<ref id="b4-sensors-10-08696"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pavo</surname><given-names>J</given-names></name><name><surname>Miya</surname><given-names>K</given-names></name></person-group><article-title>Reconstruction of crack shape by optimization using eddy current field measurement</article-title><source>IEEE Trans. Mag</source><year>1994</year><volume>30</volume><fpage>3407</fpage><lpage>3410</lpage><pub-id pub-id-type="doi">10.1109/20.312670</pub-id></citation></ref>
<ref id="b5-sensors-10-08696"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pavo</surname><given-names>J</given-names></name><name><surname>Lesselier</surname><given-names>D</given-names></name></person-group><article-title>Calculation of eddy current testing probe signal with global approximation</article-title><source>IEEE Trans. Mag</source><year>2006</year><volume>42</volume><fpage>1419</fpage><lpage>1422</lpage><pub-id pub-id-type="doi">10.1109/TMAG.2006.872490</pub-id></citation></ref>
<ref id="b6-sensors-10-08696"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Le Bihan</surname><given-names>Y</given-names></name><name><surname>Pavo</surname><given-names>J</given-names></name><name><surname>Bensetti</surname><given-names>M</given-names></name><name><surname>Marchand</surname><given-names>C</given-names></name></person-group><article-title>Computational environment for the fast calculation of ECT probe signal by field decomposition</article-title><source>IEEE Trans. Mag</source><year>2006</year><volume>42</volume><fpage>1411</fpage><lpage>1414</lpage><pub-id pub-id-type="doi">10.1109/TMAG.2006.872516</pub-id></citation></ref>
<ref id="b7-sensors-10-08696"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zaoui</surname><given-names>A</given-names></name><name><surname>Menana</surname><given-names>H</given-names></name><name><surname>Feliachi</surname><given-names>M</given-names></name><name><surname>Abdallah</surname><given-names>M</given-names></name></person-group><article-title>Generalization of the ideal crack model for an arrayed eddy current sensor</article-title><source>IEEE Trans. Mag</source><year>2008</year><volume>44</volume><fpage>1638</fpage><lpage>1641</lpage><pub-id pub-id-type="doi">10.1109/TMAG.2007.914846</pub-id></citation></ref>
<ref id="b8-sensors-10-08696"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zaoui</surname><given-names>A</given-names></name><name><surname>Feliachi</surname><given-names>M</given-names></name><name><surname>Abdallah</surname><given-names>M</given-names></name><name><surname>Djennah</surname><given-names>M</given-names></name></person-group><article-title>Fast computing methodology for 3D arrayed sensor in eddy current Non Destructive Testing</article-title><source>Rev. Int. de Génie Électrique</source><year>2008</year><volume>11</volume><fpage>275</fpage><lpage>285</lpage></citation></ref>
<ref id="b9-sensors-10-08696"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dezhi</surname><given-names>C</given-names></name><name><surname>Shao</surname><given-names>KR</given-names></name><name><surname>Jianni</surname><given-names>S</given-names></name><name><surname>Weili</surname><given-names>Y</given-names></name></person-group><article-title>Eddy current interaction with a thin-opening crack in a plate conductor</article-title><source>IEEE Trans. Magn</source><year>2000</year><volume>36</volume><fpage>1745</fpage><lpage>1749</lpage><pub-id pub-id-type="doi">10.1109/20.877781</pub-id></citation></ref>
<ref id="b10-sensors-10-08696"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Biro</surname><given-names>O</given-names></name><name><surname>Preis</surname><given-names>K</given-names></name></person-group><article-title>On the use of the magnetic vector potential in the finite element analysis of three-dimensional eddy currents</article-title><source>IEEE Trans. Magn</source><year>1989</year><volume>25</volume><fpage>3145</fpage><lpage>3159</lpage><pub-id pub-id-type="doi">10.1109/20.34388</pub-id></citation></ref>
<ref id="b11-sensors-10-08696"><label>11.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>Geuzaine</surname><given-names>C</given-names></name><name><surname>Remacle</surname><given-names>JF</given-names></name></person-group><source>Gmsh Reference Manual: A Finite Element Mesh Generator with Built-In Pre- And Post-Processing Facilities</source><comment>Available online: <ext-link xlink:href="www.geuz.org/gmsh" ext-link-type="uri">www.geuz.org/gmsh</ext-link> (accessed on 17 September 2010).</comment></citation></ref>
<ref id="b12-sensors-10-08696"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yokose</surname><given-names>Y</given-names></name><name><surname>Cingoski</surname><given-names>V</given-names></name><name><surname>Yamashita</surname><given-names>H</given-names></name></person-group><article-title>Genetic algorithms with assistant chromosomes for inverse shape optimization of electromagnetic devices</article-title><source>IEEE Trans. Magn</source><year>2000</year><volume>36</volume><fpage>1052</fpage><lpage>1056</lpage><pub-id pub-id-type="doi">10.1109/20.877622</pub-id></citation></ref>
<ref id="b13-sensors-10-08696"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yokose</surname><given-names>Y</given-names></name><name><surname>Cingoski</surname><given-names>V</given-names></name><name><surname>Kaneda</surname><given-names>K</given-names></name><name><surname>Yamashita</surname><given-names>H</given-names></name></person-group><article-title>Shape optimization of magnetic devices using genetic algorithms with dynamically adjustable parameters</article-title><source>IEEE Trans. Magn</source><year>1999</year><volume>35</volume><fpage>1686</fpage><lpage>1689</lpage><pub-id pub-id-type="doi">10.1109/20.767341</pub-id></citation></ref>
<ref id="b14-sensors-10-08696"><label>14.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Haupt</surname><given-names>RL</given-names></name><name><surname>Werner</surname><given-names>DH</given-names></name></person-group><source>Genetic Algorithms in Electromagnetics</source><edition>1st ed</edition><publisher-name>Wiley and Sons Ltd.-IEEE Press</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>2007</year></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-10-08696" position="float">
<label>Figure 1.</label>
<caption>
<p>An arrayed eddy current sensor above a piece with a crack.</p></caption>
<graphic xlink:href="sensors-10-08696f1.gif"/></fig>
<fig id="f2-sensors-10-08696" position="float">
<label>Figure 2.</label>
<caption>
<p>Impedance matrix measurement.</p></caption>
<graphic xlink:href="sensors-10-08696f2.gif"/></fig>
<fig id="f3-sensors-10-08696" position="float">
<label>Figure 3.</label>
<caption>
<p>The modeled system.</p></caption>
<graphic xlink:href="sensors-10-08696f3.gif"/></fig>
<fig id="f4-sensors-10-08696" position="float">
<label>Figure 4.</label>
<caption>
<p>Crack shape.</p></caption>
<graphic xlink:href="sensors-10-08696f4.gif"/></fig>
<fig id="f5-sensors-10-08696" position="float">
<label>Figure 5.</label>
<caption>
<p><bold>(a)</bold> The 3D finite element modeled geometry. <bold>(b)</bold> The obtained impedances variations.</p></caption>
<graphic xlink:href="sensors-10-08696f5.gif"/></fig>
<fig id="f6-sensors-10-08696" position="float">
<label>Figure 6.</label>
<caption>
<p>Example of a crack shape defined by the discrete values <italic>q<sub>i</sub></italic>.</p></caption>
<graphic xlink:href="sensors-10-08696f6.gif"/></fig>
<fig id="f7-sensors-10-08696" position="float">
<label>Figure 7.</label>
<caption>
<p>The inversion flow chart.</p></caption>
<graphic xlink:href="sensors-10-08696f7.gif"/></fig>
<fig id="f8-sensors-10-08696" position="float">
<label>Figure 8.</label>
<caption>
<p>Inversion results <italic>q = [1 2 1 1 2 3 3 2]</italic>.</p></caption>
<graphic xlink:href="sensors-10-08696f8.gif"/></fig>
<table-wrap id="t1-sensors-10-08696" position="float">
<label>Table 1.</label>
<caption>
<p>The Fixed parameter of the modeled system.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="bottom"><bold>Parameters</bold></th>
<th align="left" valign="bottom"><bold>Values</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" colspan="2" valign="top">Frequency:</td>
<td align="left" valign="top">300 kHz</td></tr>
<tr>
<td align="left" valign="top">Coils:</td>
<td align="left" valign="top"> Inner radius, <italic>r<sub>1</sub></italic></td>
<td align="left" valign="top">0.6 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Outer radius, <italic>r<sub>2</sub></italic></td>
<td align="left" valign="top">1.6 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Height, <italic>lb</italic></td>
<td align="left" valign="top">0.8 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Lift-off, <italic>lf</italic></td>
<td align="left" valign="top">0.5 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Number of turns, <italic>N</italic></td>
<td align="left" valign="top">140</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Distance between the coils, <italic>db</italic></td>
<td align="left" valign="top">4 mm</td></tr>
<tr>
<td align="left" valign="top">Plate:</td>
<td align="left" valign="top"> Thickness, <italic>d</italic></td>
<td align="left" valign="top">2 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Conductivity, <italic>σ</italic></td>
<td align="left" valign="top">1 MS/m</td></tr>
<tr>
<td align="left" valign="top">Crack:</td>
<td align="left" valign="top"> Length, <italic>L</italic></td>
<td align="left" valign="top">12 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Thickness</td>
<td align="left" valign="top">0.2 mm</td></tr>
<tr>
<td align="left" valign="top"/>
<td align="left" valign="top">Depth</td>
<td align="left" valign="top">Arbitrary shape (<xref ref-type="fig" rid="f3-sensors-10-08696">Figure 3</xref>)</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-10-08696" position="float">
<label>Table 2.</label>
<caption>
<p>The Fixed Parameters for the Genetic Algorithm.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="bottom"><bold>Parameters</bold></th>
<th align="left" valign="bottom"><bold>Values</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Population :</td>
<td align="left" valign="top">64</td></tr>
<tr>
<td align="left" valign="top">Crossover rates (Uniform) :</td>
<td align="left" valign="top">0.8</td></tr>
<tr>
<td align="left" valign="top">Mutation rates (Heuristic) :</td>
<td align="left" valign="top">0.02</td></tr></tbody></table></table-wrap></sec></back></article>
