OOPS Methodology for Ihcp

download OOPS Methodology for Ihcp

of 17

Transcript of OOPS Methodology for Ihcp

  • 7/27/2019 OOPS Methodology for Ihcp

    1/17

    PLEASE SCROLL DOWN FOR ARTICLE

    This article was downloaded by: [Indian Institute of Technology]

    On: 6 June 2010

    Access details: Access Details: [subscription number 742779879]

    Publisher Taylor & Francis

    Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-

    41 Mortimer Street, London W1T 3JH, UK

    Numerical Heat Transfer, Part B: FundamentalsPublication details, including instructions for authors and subscription information:http://www.informaworld.com/smpp/title~content=t713723316

    Object-Oriented Development of Inverse Heat Conduction Code Adaptableto Various ConfigurationsSun Kyoung Kimaa Department of Die and Mold Design, Seoul National University of Technology, Seoul, Korea

    To cite this Article Kim, Sun Kyoung(2006) 'Object-Oriented Development of Inverse Heat Conduction Code Adaptable toVarious Configurations', Numerical Heat Transfer, Part B: Fundamentals, 50: 3, 269 284

    To link to this Article: DOI: 10.1080/10407790500508878URL: http://dx.doi.org/10.1080/10407790500508878

    Full terms and conditions of use: http://www.informaworld.com/terms-and-conditions-of-access.pdf

    This article may be used for research, teaching and private study purposes. Any substantial orsystematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply ordistribution in any form to anyone is expressly forbidden.

    The publisher does not give any warranty express or implied or make any representation that the contentswill be complete or accurate or up to date. The accuracy of any instructions, formulae and drug dosesshould be independently verified with primary sources. The publisher shall not be liable for any loss,actions, claims, proceedings, demand or costs or damages whatsoever or howsoever caused arising directlyor indirectly in connection with or arising out of the use of this material.

    http://www.informaworld.com/smpp/title~content=t713723316http://dx.doi.org/10.1080/10407790500508878http://www.informaworld.com/terms-and-conditions-of-access.pdfhttp://www.informaworld.com/terms-and-conditions-of-access.pdfhttp://dx.doi.org/10.1080/10407790500508878http://www.informaworld.com/smpp/title~content=t713723316
  • 7/27/2019 OOPS Methodology for Ihcp

    2/17

    OBJECT-ORIENTED DEVELOPMENT OF INVERSEHEAT CONDUCTION CODE ADAPTABLE TO VARIOUSCONFIGURATIONS

    Sun Kyoung KimDepartment of Die and Mold Design, Seoul National University of Technology,

    Seoul, Korea

    This article suggests a method for developing computer code that can solve inverse heat con-

    duction problems (IHCPs). The concept of object-oriented development is employed to

    implement the computer code in an efficient and flexible fashion. The software design is

    conducted based on the unified modeling language. Furthermore, this article also explains

    how to implement the deliverable computer code using existing software development tools.

    The flexibility and reusability of the developed code is emphasized and verified through two

    examples, which are adaptable regularization and the modification of existing IHCP code

    for another IHCP.

    1. INTRODUCTION

    Inverse heat conduction problems (IHCPs) have been thoroughly investigatedfor a variety of configurations [14]. There are many classes of IHCPs, according tothe specification of the corresponding direct problem. For example, a three-dimen-sional steady-state IHCP [5] and two-dimensional transient IHCP [2, 4] have beensolved in previous studies. Recently, IHCPs in micro- or nanoscale have also beenstudied [6]. The scale of the problem is now considered another measure for classi-fication of IHCPs. IHCPs can also be classified by the kinds of unknown to bedetermined. Such unknowns can be the material property [7, 8], boundary conditions[1, 9], and geometry [10, 11]. Other unknowns are the heat sources [12, 13] and inter-face conductance [14], which are not considered in this study.

    Many different types of IHCPs may be encountered while analyzing real-world

    thermal systems [2, 3]. Implementational issues, however, are not much studied. Thiswork suggests a unified process for implementing computer software that can solveIHCPs. This work employs the methods of object-oriented programming to realizethe computer software in a rapid and reliable fashion [15].

    For object-oriented development, the solution scheme for the IHCP should bebased on an optimization scheme. When the inversion scheme is strongly coupledwith the direct problem, the benefit of the object-oriented development is not that

    Received 28 March 2005; accepted 8 November 2005.

    Address correspondence to Sun Kyoung Kim, Department of Die and Mold Design, College

    of Engineering, Seoul National University of Technology, 138 Gongreung Gil, Nowon, Seoul, 139743,

    Republic of Korea. E-mail: [email protected]

    269

    Numerical Heat Transfer, Part B, 50: 269284, 2006

    Copyright # Taylor & Francis Group, LLC

    ISSN: 1040-7790 print=1521-0626 onlineDOI: 10.1080/10407790500508878

  • 7/27/2019 OOPS Methodology for Ihcp

    3/17

    great. The methods that modify the matrices of the direct problem are not suitablefor the current approach [16, 17]. Any methods that specially treat the time domainare also not suitable [1822]. Such methods are the sequential method [1, 18], thefrequency-domain method [20, 21], and filtering methods [22].

    Studies on object-oriented development of numerical codes are found in pre-vious works. They are focused on implementation of specific numerical methodssuch as the finite-volume method [23] or the finite-element method [24]. Masterset al. have shown how to handle data structures for numerical codes in an object-oriented way [24]. This work is not about implementation of a computer code fora specific direct problem. This work provides a framework for developing IHCPcomputer codes, which can be interrelated with any kind of direct problem. Thisframework makes it possible to build up a new IHCP code simply by assemblingexisting codes, since the concepts of object-oriented software development allowseasier reuse, safe wrapping, and ensured interoperability. More specifically, the uni-

    fied modeling language (UML), which is the standard object modeling language, isutilized in this development [25, 26]. The present article does not explain the math-ematical details of the IHCP [2, 4]. Readers who are not familiar with IHCPs arerecommended to read [1]. This work presents several UML diagrams and explainsthem. In the process of realizing those diagrams, the software design is completed.UML suggests that the scenario, use case, class, and sequence diagrams be includedas essential elements in the design. This work shows and explains those four elementssequentially. By doing so, what to realize and how to implement become clear.

    2. DELINEATION OF IHCP

    2.1. Scenario

    Let us briefly describe conventional solution methods for IHCPs. There aremany different solution methods for IHCPs, including the sequential method [1],the whole-domain method [14] and the space-marching method [1, 2]. In thesequential method and the space-marching method, the inverse estimation and thedirect problem are strongly coupled, so it is very hard to develop a flexible andreusable code [1]. Flexibility and reusability are crucial issues in software develop-ment, since those properties allow shortening the development time [15]. Althoughthe sequential method and other methods have many excellent features, they are

    not considered in this work for the aforementioned reason.The scenario here means the abstract description of what happens inside theIHCP software while it runs. There are decisions that should be made accordingto the developmental phases. Some of them are to be decided during the design phaseand others during the implementational phase or run time. Let us describe thosedetails.

    Generally, in an inversion process, we reverse the direction of information flow[2]. By doing so, the causes are found from the observations of the results. In a typi-cal IHCP, the boundary condition, of Dirichlet or Neumann type, is determinedbased on temperature readings elsewhere. The main issue in this sort of inversionis the instability of the solution, which is attributed to the mathematical ill-posedness

    inherent in the problem [14]. To overcome this difficulty, treating the problem as an

    270 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    4/17

    optimization problem is widely accepted and has been proven to be reliable [2, 4].This study also employs the optimization-based approach.

    The optimization problem for an IHCP finds the unknowns of interest thatrender a statistical consistency between the calculation and measurement data. Thus,

    numerical or analytical calculation should be conducted to compare the results withthe experimental data. Usually, the experimental data in an IHCP are temperaturereadings. Sometimes, as special cases, thermal strain or heat flux measurementscan also comprise such data. This study considers temperature measurements only.

    2.2. Use Case

    Use case means a collection of scenarios which can happen while running thesoftware [25, 26]. The conventional scenarios of numerical tools are not very compli-cated. There is no fatal risk that can be incurred by a failure of this kind of software

    run. Thus, usually a simple description can explain the entire scenario successfully.The use cases for IHCPs may be as follows:

    Basic flow:

    a. The experimenter obtains a set of experimental data.b. The analyst gathers all the information required for the analysis, includ-

    ing experimental data, statistical criterion, geometry, boundary condition,material property, sensor locations, and information about unknowns ofinterest.

    c. The analyst starts the inverse analysis by initiating the optimization routine.d. The optimization routine repeatedly calls the direct simulation routine to cal-

    culate deviation between experimental and numerical data with a provision ofthe test unknowns.

    e. The optimization routine eventually finds the unknowns that satisfy the cri-teria imposed by the analyst and returns the unknowns as a final solution set.

    Alternative flow 1:c. The input data are inconsistent with each other, so that the analysis cannot

    start.Alternative flow 2:

    e. The optimization routine cannot find the unknowns that meet the imposedcriteria.

    A use case diagram can explain the above scenario in a visual fashion, as shownin Figure 1. There are no strict rules for drawing this diagram. As long as thediagram can reveal what will happen in the system during run time, any form is goodenough. The use case is an overview of the entire system from the outside of the sys-tem. It clearly explains the requirements of the system. Although it does not neces-sarily have to be connected to the classes of the system, it gives a conceptualfoundation for building the classes.

    As shown in Figure 1, there are two actors in the diagram, who are the Exper-imenter and the Inverse Analyst. The diagram shows what those actors should do.Here, we assume that the experimental system and the software are under their control.

    Especially, the Inverse Analysts role is crucial. He or she should initiate the analysis

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 271

  • 7/27/2019 OOPS Methodology for Ihcp

    5/17

    and check the integrity of the entire analysis. What should be done inside the software isnow quite clear. The next step is to build the classes to implement the system.

    3. DIAGRAMS

    3.1. Basic Class Diagram

    Classes are central to objected-oriented modeling. The classes explain theobjects of the system and the static relationships between them. There are three dif-ferent views in classes. Each of them focuses on concept, specification, andimplementation. This work basically considers the conceptual class diagram, sincethe implementational details are not the purpose of this article.

    Three important aspects in solving IHCPs are how to conduct the optimiza-tion, how to simulate the phenomena numerically, and how to handle the experi-mental, numerical, and user-provided data. The core of the classes is the

    optimization class, where all the data should be processed. Thus, the class diagramin Figure 2 shows the essence of the IHCP software. The optimization software seeksthe desired unknown condition that meets the rule of discrepancy between the simu-lated and experimental data.

    The implementation-level class diagram should be extended from the basic dia-gram shown in Figure 2. Basically, the optimization class seeks the unknown con-dition of interest that meets the discrepancy rule of the IHCP. Consider an IHCPsystem with N measurement data. The discrepancy rule is expressed as [1]

    J

    XN

    i1

    Ti Yi2

    r

    2i

    N

    1

    Figure 1. Use case diagram.

    272 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    6/17

    where Ti, Yi, and ri are the simulated and measured temperatures and the standarddeviation at the ith sensor location, respectively. Because seeking a solution that ren-ders J% 0 returns an unstable solution [2], the optimization problem usuallybecomes one to find the unknown such that J% N. However, this kind of equalityis quite hard to satisfy. Thus, the expression is replaced by an inequality conditionsuch as N ffiffiffiffiffiffiffi2N

    p< J< N ffiffiffiffiffiffiffi2N

    p[1, 2]. This discrepancy rule becomes the feasi-

    bility condition of the optimization problem. In most cases, we have to employ somesort of regularization to obtain a sufficiently smooth and dependable solution

    [14]. Depending on the way the regularization is handled, the optimization canbe constrained or unconstrained. Basically, when the inversion involves regulariza-tion, the optimization problem should be a constrained one. However, introductionof the regularization parameter relieves the burden of the constrained optimization.Consider the regularization term, R, and the Lagrange multiplier, k. In this case,the optimization problem should minimize R subject to the feasibility condition.The Lagrangian of the optimization in this case is written as L R kJ. At theoptimum point, we have rL rR krJ 0. Introducing the regularizationparameter, a, which is equal to 1=k, we have rJ arR 0. We can convertthe expression into a positive-definite one by multiplying by rJT, which turnsout to

    rJT rJ arR 0 2

    For a given a, the above expression becomes a nonlinear system of equations. Itshould be noted that an engineer should determine a that satisfies the feasibilitycondition. The level of smoothing in the resulting solution varies greatly dependingon the selection of the regularization parameter. Therefore, in a sense, the con-strained optimization is a process that automatically determines the regularizationparameter. However, the computational cost also increases dramatically in the con-strained optimization [27]. The IHCP software can run in either way according to

    the requirement.

    Figure 2. Basic class diagram.

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 273

  • 7/27/2019 OOPS Methodology for Ihcp

    7/17

    3.2. Optimization Class

    In order to provide flexibility in the analysis, the computer codes should beadaptable to various optimization methods. Thus, the optimization class should

    be an interface class to realize such adaptability and utilize many existing optimiza-tion codes. We can wrap any existing optimization code with an interface to make itadaptable to the IHCP code. This kind of wrapping is done by employing the adap-tor pattern, which is shown in Figure 3 [28].

    The class diagram shown in Figure 3 is not the most general or unique one. It issimply a plausible one. This class diagram shows that a variety of optimization codescan be utilized to implement the optimization class in the IHCP code. The general-ization arrow in the diagram is realized by inheritance toward the direction reverse tothe arrow. For example, in C the Levenberg-Marquardt method can be declaredas [24]

    class LevenbergMarquardtMethod : public GradientBasedOptimization{ };

    3.3. Whole Class Diagram

    The whole class diagram, which neglects the detail around the optimization class,is shown in Figure 4. This diagram reveals several important features of the IHCPcode. The ultimate purpose of any IHCP code is to determine the unknown of interest.Most IHCPs, as in this diagram, regard geometry, boundary condition, and material

    Figure 3. Optimization classes.

    274 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    8/17

    property as the unknowns. There are several other unknowns, such as heat source,initial condition, and time constant of the thermal wave, in the hyperbolic heat equa-tion. These are not considered here. The unknown condition is necessary for therenewal of the simulated data. The diagram conceptualizes the polymorphism of theunknown condition using a typical pattern. The realization of the unknown conditiondepends greatly on the type of the unknown. Thus, we need to unify the access method

    to the UnknownCondition class. Suppose the unknown is the boundary condition.The difficulty that arises here is that the unknown condition should be treated as aknown boundary condition when solving the direct problem. The conventional wayof handling this kind of situation is to allot related variables to a global array, but thishas a negative impact on the flexibility and reusability of the code. The Unknown-Condition class should hold the pointer to the data in the BoundaryCondition classinstead of holding the boundary condition data values. The UnknownConditionclass should update the corresponding boundary condition when it is updated. TheBoundaryCondition class does not have to hold any information, whether it hasany unknown condition or not. In this fashion, the UnknownCondition class andclasses related directly to the DirectProblem class are isolated. Three classes derived

    from an abstract class, UnknownCondtion, are employed to resolve the different

    Figure 4. Overall class diagram.

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 275

  • 7/27/2019 OOPS Methodology for Ihcp

    9/17

    natures of three different kinds of unknown conditions. Complete separation of theGeometry, BoundaryCondition, and MaterialProperty classes from the Unknown-Condition derived-classes allows great flexibility in designing and implementing thecode for the direct problem.

    A sample design of the UnknownCondition class is shown in Figure 5. The classshould have some members characterizing the unknown. The one important thing is

    that the class should involve metadata that explain the data themselves in the class.

    3.4. Sequences and Collaboration Diagrams

    The sequence diagram presents the procedures to be done by the software.Figure 6 shows the sequences diagram that performs the described inverse analysis.Understanding the diagram is quite straightforward. The diagram clarifies the tasksto be done by the software. The diagram does not have to include every detail of theprocedures that the software should implement. As shown in the diagram, it reveals

    the essence of the process that should be done in an optimization-based IHCP code.The solid arrows mean actions and the dashed arrows mean the returns.The main routine, IHCPMain, initiates the procedures. Then, the optimization

    routine repeatedly calls the direct problem and compares the simulated data with theexperimental data. By doing so, the optimization routine finds the inverse solution.The idea that was described in the use case diagram is further concretized in thesequence diagram. The role of this diagram is to declare procedurally what is sup-posed to happen inside the software.

    The collaboration diagram is similar to the sequence diagram. It further clari-fies the tasks to be executed. Each operation is numbered according to the order ofexecution. As shown in Figure 7, this diagram depicts how each class is collaborating

    with other classes.

    Figure 5. Classes around UnknownCondition class.

    276 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    10/17

    3.5. Implementational Issues

    Implementation here means realizing the executable computer software based

    on the abstraction presented in the diagrams. Recently, several development toolsthat are capable of automatically converting the diagrams into the computer codeshave become available [29]. Even without such automation tools, the diagram greatlyhelps in the writing of codes. An automation tool or a developer creates a skeletonbased on the diagrams. Then, the developer fills out the routines in the skeleton. Thedeveloper might be able to utilize many existing codes in order to complete the rou-tines. For example, the developer can reuse any existing code that can solve the directheat conduction problem. Furthermore, commercial analysis software can be inter-linked to the IHCP software via a proper interface. Studies on object-oriented devel-opment of numerical codes for the direct problem are found elsewhere [23, 24].Theses studies present various implementation issues involving the data structures,

    mesh generation, and matrix buildup scheme.

    Figure 6. Sequence diagram.

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 277

  • 7/27/2019 OOPS Methodology for Ihcp

    11/17

    This article does not present any actual computer codes. Such realization is aresult of the process but not the main issue in this article. The actual computer code,which is implemented based on the proposed UML design, will vary greatly depend-ing on the coding convention, developing tools situation, and other restrictions.Figure 8 shows a screen view of the implemented IHCP software.

    Figure 7. Collaboration diagram.

    Figure 8. Implemented computer software.

    278 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    12/17

    4. APPLICATION TO TWO-DIMENSIONAL BOUNDARY IHCP

    4.1. Objective and Constraint

    We have applied different regularization methods to different IHCPs. It should

    be emphasized that Eq. (1) is not the objective function of the optimization problem.It is the constraint of the optimization problem. The objective function should be theregularization term. The Optimization class is associated with the Regularizationclass, which actually determines the objective function to be optimized. Let us applythis model to the Tikhonov regularization and the maximum entropy regularizationto a two-dimensional transient IHCP.

    4.2. Problem Statement

    The IHCP considered in this test case is as follows. The governing equation for

    temperature Tx;y; t, where x (0 x a) and y (0 y b) are the Cartesian coor-dinate variables over the solid domain R, and t is time (0 t tf), is described as

    CqT

    qtr krT 0 in R 3a

    Here, Cand kare the volumetric heat capacity and the thermal conductivity, respect-ively. The corresponding conditions for the top, left, bottom, and right boundariesA1 and A2, respectively, are specified as follows:

    kqT

    qy f

    x;

    t on

    A1 3

    b

    qT

    qx 0 on A2 3c

    In addition, initially the domain is maintained at a uniform temperature, T0, that is,

    Tx;y; 0 T0 in R 3d

    A direct solution of the problem gives temperature as a function of location and time

    for given initial and boundary conditions assuming the surface heat flux fx; tknown. Thus, temperature for a particular function fx; t can be denoted asTx;y; t; f.

    Through inverse analysis, the unknown condition which is consistent with tem-perature observation can be estimated. The temperature measured on the lower sur-face can be expressed as a continuous function Yx; t. If no error is included in themeasured temperature, the inverse solution can be obtained from

    Find fx; t such that Tx; 0; f Yx; t 4

    However, we have uncertainty of ri for each temperature reading, Yi, which is

    obtained at a specified sensor location and at a given time. Thus, the solution should

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 279

  • 7/27/2019 OOPS Methodology for Ihcp

    13/17

    satisfy Eq. (1), which is the constraint of the optimization problem. Such a solution iscalled a feasible solution. Thus the problem can be stated as: Find a solution thatminimizes the regularization functional among those satisfying the feasibility con-dition, Eq. (1).

    4.3. Reconstruction of Unknown Boundary Condition

    In this test case, the unknown boundary condition class in Figures 4 and 5 isutilized. The inverse analysis is conducted using the simulated measurement dataembedded with random errors with known standard deviation, which are artificiallygenerated with the same computer code that implements the DirectProblem class inFigure 2. The unknown boundary condition to be estimated is the boundary con-dition that was imposed while the simulated measurement data were generated.

    4.4. Adaptable Regularization

    Regularization classes are derived from the Objective class associated withOptimization class as shown in Figure 4. Consider two derived classes, Maxium-Entropy and Tikhonov, which are supposed to implement the maximum entropyand Tikhonov regularizations, respectively [30, 31]. The adaptable regularization isrealized in this way.

    The regularization functional in the maximum entropy method and the zeroth-order Tikhonov regularization are given as

    Rf X

    W

    i1fi ln f

    i

    Fwhere f ff1; f2; . . . ; fWg and F

    XW

    i1fi 5a

    Rf XW

    i1f2i 5b

    It is known that the maximum entropy method has more resolving power thanthe conventional Tikhonov regularization method. However, it takes a lot of compu-tational resources, owing to the strong nonlinearity induced from the logarithm inEq. (5a) [30]. Thus, we need to change the regularization method on the demand

    of the resolution. We have implemented both the classes and solved the specifiedIHCP. In this study, Optimization class has been realized based on the successivequadratic programming [27].

    Figure 9a shows the original heat flux imposed as the boundary conditionwhile generating the simulated measurement data. Figure 9b shows the resultobtained by the zeroth-order Tikihonov regularization. Figure 9c shows the resultby the maximum entropy method. As found in the literature, the maximum entropymethod shows better resolution and accuracy [31]. The numerical scheme itself is notthe main scope of this study. Thus, we do not present any more about the maximumentropy method. However, it should be noted that the calculation time for themaximum entropy regularization is approximately 10 times longer than that for

    the Tikhonov regularization. The regularization method should be properly selected

    280 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    14/17

    Figure 9. Adaptable regularization: (a) original heat flux; (b) conjugate gradient method with zeroth-orderTikhonov regularization; (c) maximum entropy regularization.

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 281

  • 7/27/2019 OOPS Methodology for Ihcp

    15/17

    according to the demand for computational accuracy. As in this case, it is convenientto employ multiple regularization methods and to select the best one among themconsidering the trade-off between calculation time and resolution. The object-oriented development allows easier implementation of IHCP code with selectable

    regularization through the adaptor pattern.

    4.5. Modification to Different IHCPs

    This code can be easily reused for various IHCPs. For example, we can applythe method to the three-dimensional IHCP simply by modifying the DirectProblemclass. Moreover, for the multidimensional case we can use commercial software asthe direct solution method. In this case, the DirectProblem, BoundaryCondition,and MaterialProperty classes should be interfaced to the commercial software, whichshould allow such interfacing.

    Another example is changing the unknown of interest from the boundary con-dition to the geometry or material property. Object-oriented development allows thismodification, simply and robustly. The material property case is easier than thegeometry case. Usually, the material property case results in a parameter estimationproblem [1, 7]. This renders the problem easier because the number of unknowns isfewer. To do this, the ptrCoefficents member in the MaterialProperty class should beappropriately defined. In the geometry case, the difficulty arises from the complexityof gradient evaluation and geometry updating. In a geometry reconstruction prob-lem, the number of unknowns usually becomes very large. The conventional meth-ods of gradient evaluation, such as the finite-difference method, which allowseasier encapsulation of the class, demands unacceptably long computational time.

    Thus, an analytical scheme which makes the implementation of Gradient classinvolving and intriguing is inevitably necessary to reduce the computational time.However, even in this case, the Gradient class can be encapsulated by using anotherDirectProblem class solely for the gradient evaluation.

    In the unknown geometry case, a certain portion of boundary is supposed todeform during the calculation. Thus, the numerical mesh should be regeneratedduring the run time. This deformable geometry system is supposed to be implemen-ted solely by the UnknownGeometry class (see Figure 5). A method of the geometryclass, updateNodes( ), updates positions of nodes by changing the nodal coordinatevalues through a property of the Geometry class, ptrNode. As shown here, within

    this framework any existing code can be easily reused and modified to solve agiven IHCP.

    5. CONCLUSION

    This article has presented a method to develop a computer code for the inverseheat conduction problem (IHCP) in an object-oriented fashion. The developmentprocess includes the scenario description, use case, class, and sequence diagrams.Through completing the diagrams, the concept and idea inherent in the originalproblem become concretized, getting close to an implementational level.

    There are meaningful implications in introducing the object-oriented method

    to numerical tool developers. First, while realizing the UML diagrams, the developer

    282 S. K. KIM

  • 7/27/2019 OOPS Methodology for Ihcp

    16/17

    becomes aware of every important feature to be implemented as well as underly-ing concepts. Second, revising and reusing the software becomes convenient andefficient.

    The current study has shown how to develop an involved numerical code that

    solves IHCPs. The IHCP considered is solved with the optimization-based methodfor the flexibility and generality of the code. The completed diagrams clearly and sys-tematically explain what should be done by the IHCP code and how to realize it.Flexibility and reusability have been examined through two examples. First, we haveshown that different regularization methods can be easily adapted to the existingIHCP code using the adaptor pattern. Second, we have also shown that theobject-oriented development allows easier reuse of the existing IHCP. The boundaryIHCP code can be modified to other IHCPs without great difficulty.

    REFERENCES

    1. J. V. Beck, B. Blackwell, and C. R. St. Clair, Jr., Inverse Heat Conduction, Wiley,New York, 1985.

    2. O. M. Alifanov, Inverse Heat Transfer Problem, Springer-Verlag, Berlin, 1994.3. K. Kurpisz and A. J. Nowak, Inverse Thermal Problems, Computational Mechanics

    Publications, Swansea, UK, 1995.4. M. N. Ozisik and H. R. B. Orlande, Inverse Heat Transfer: Fundamentals and Applica-

    tions, Taylor & Francis, 2000.5. S. K. Kim and W. I. Lee, Inverse Estimation of Steady-State Surface Temperature on a Three-

    Dimensional Body, Int. J. Numer. Meth. Heat Fluid Flow, vol. 12, no. 8, pp. 10321050, 2002.6. S. K. Kim and I. M. Daniel, Solution to Inverse Heat Conduction Problem in Nanoscale

    Using Sequential Method, Numer. Heat Transfer B, vol. 44, pp. 439456, 2003.7. G. P. Flach and M. N. Ozisik, Inverse Heat Conduction Problem of Simultaneously Esti-

    mating Spatially Varying Thermal Conductivity and Heat Capacity per Unit Volume,Numer. Heat Transfer A, vol. 16, pp. 249266, 1989.

    8. S. Kim, B. Chung, M. C. Kim, and K. Y. Kim, Inverse Estimation of Temperature-Dependent Thermal Conductivity and Heat Capacity per Unit Volume with the DirectIntegration Approach, Numer. Heat Transfer A, vol. 44, no. 5, pp. 521535, 2003.

    9. J. Su and G. F. Hewitt, Inverse Heat Conduction Problem of Estimating Time-VaryingHeat Transfer Coefficient, Numer. Heat Transfer A, vol. 45, no. 8, pp. 777789, 2004.

    10. C. K. Hsieh and A. J. Kassab, A General Method for the Solution of Inverse HeatConduction Problems with Partially Unknown Geometries, Int. J. Heat Mass Transfer,

    vol. 29, no. 1, pp. 4758, 1986.11. S. K. Kim and W. I. Lee, Implementation of Inverse Method for Estimating Undeter-mined Boundary in a Two-Dimensional Slab Based on Temperature Measurement,Numer. Heat Transfer A, vol. 46, pp. 515523, 2004.

    12. C. Huang and S. Cheng, A Three-Dimensional Inverse Problem of Estimating the Volu-metric Heat Generation for a Composite Material, Numer. Heat Transfer A, vol. 39, no. 4,pp. 383403, 2001.

    13. G. Blanc, J. V. Beck, and M. Raynaud, Solution of the Inverse Heat Conduction Problemwith a Time-Variable Number of Future Temperatures, Numer. Heat Transfer B, vol. 32,no. 4, pp. 437451, 1997.

    14. T.-C. Chen and P.-C. Tuan, Inverse Problem of Estimating Interface Conductancebetween Periodically Contacting Surfaces Using the Weighting Input Estimation Method,

    Numer. Heat Transfer B, vol. 41, no. 5, pp. 477492, 2002.

    OBJECT-ORIENTED DEVELOPMENT OF IHCP CODE 283

  • 7/27/2019 OOPS Methodology for Ihcp

    17/17

    15. P. Coad and J. Nicola, Object-Oriented Programming, Pearson Education, 1993.16. A. Behbahani-nia and F. Kowsary, A Direct Transformation Matrices Method for Solution

    of Inverse Heat Conduction Problems, Numer. Heat Transfer B, vol. 46, no. 4, pp. 371386,2004.

    17. N. Al-Khalidy, A General Space Marching Algorithm for the Solution of Two-Dimen-sional Boundary Inverse Heat Conduction Problems, Numer. Heat Transfer B, vol. 34,no. 3, pp. 339360, 1998.

    18. T. S. Kumar, A Serial Solution for the 2-D Inverse Heat Conduction Problem for Estimat-ing Multiple Heat Flux Components, Numer. Heat Transfer B, vol. 45, no. 6, pp. 541563,2004.

    19. A. L. Koay, S. H. Pulko, and A. J. Wilkinson, Reverse Time TLM Modeling of ThermalProblems Described by the Hyperbolic Heat Conduction Equation, Numer. Heat TransferB, vol. 44, no. 4, pp. 347363, 2003.

    20. J. Blum and W. Marquardt, An Optimal Solution to Inverse Heat Conduction ProblemsBased on Frequency Domain Interpretation and Observers, Numer. Heat Transfer B,vol. 32, no. 4, pp. 453478, 1997.

    21. T. Luttich, A. Mhamdi, and W. Marquardt, Design, Formulation, and Solution of Multi-dimensional Inverse Heat Conduction Problems, Numer. Heat Transfer B, vol. 47, no. 2,pp. 111113, 2005.

    22. N. Daouas and M.-S. Radhouani, A New Approach of the Kalman Filter Using FutureTemperature Measurements for Nonlinear Inverse Heat Conduction Problems, Numer.Heat Transfer B, vol. 45, no. 6, pp. 565585, 2004.

    23. I. Masters, I. Rees, and R. W. Lewis, Advanced Programming Methods and Data Struc-tures for Computational Modeling Using Edge-Based Finite Volume Methods, Int. J.Numer. Anal. Meth. Geomech., vol. 28, pp. 15211532, 2004.

    24. I. Masters, A. S. Usmani, J. T. Cross, and R. W. Lewis, Finite Element Analysis ofSolidification Using Object-Oriented and Parallel Techniques, Int. J. Numer. Meth. Eng.,

    vol. 40, pp. 28912909, 1997.25. M. Folwer, UML Distilled: A Brief Guide to the Standard Object Modeling Language,

    3rd ed., Addison-Wesley, 2003.26. G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide,

    Addison-Wesley, 1998.27. J. S. Arora, Introduction to Optimum Design, McGraw-Hill, New York, 1989.28. E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns, Addison-Wesley,

    1995.29. T. Quatrani, Visual Modeling with Rational Rose 2002 and UML, Addison-Wesley, 2002.30. A. N. Tikhonov and V. Y. Arsenin, Solution of Ill-Posed Problems, Winston and Sons,

    Washington, DC, 1977.31. S. K. Kim and W. L. Lee, Solution of Inverse Heat Conduction Problems Using

    Maximum Entropy Method, Int. J. Heat Mass Transfer, vol. 45, no. 2, pp. 381391, 2002.

    284 S. K. KIM