Go To Review

Computer-based Corrosion and Materials Problem-solving Using Genera® Case studies

Sridhar Srinivasan
CLI International, Inc.
Houston, Texas USA
email ss@clihouston.com

ABSTRACT

A generic computer-based framework to support characterization of materials and corrosion problems called Genera has been developed. The framework provides an object-based model to partition and represent domain knowledge in terms of domain objects. The model allows characterization of objects in terms of system parameters and their relationships as a means to capturing the state of an object enroute to creation of a template of objects and parameters. The framework facilitates characterization of the state of a system/template in terms of system parameters and inter-related objects. This paper presents three case studies - coating evaluation, Hydrogen Embrittlement Cracking and Galvanic corrosion - to examine the efficacy of the generic computer template as a problem-solving tool.

INTRODUCTION

Generic methods to represent and solve problems have always been an area of active effort, given the inherent increase in efficiency. However, hitherto, such efforts have been difficult to implement given the paucity of adequate computing representation resources. Now, the advent and development of object oreinted technology has led to availability of tools that can naturally take advantage of commonalities between different problem-solving systems.

Evaluation and characterization of materials and corrosive environments is an essential aspect of understanding corrosion and designing materials for safe utilization in corrosive environments. Problem-solving related to material selection and corrosion/cracking characterization are complex since they require modeling the role of a large number of metallurgical and environmental parameters as well as synthesizing the effects of different parameters and parameter interactions. Software systems developed over the last ten years have attempted to capture and solve problems in materials selection and corrosion characterization as an efficient way of integrating different types of data in materials and corrosion problem-solving as well as in incorporating different types of parametric effects and interactions1,2. Several expert systems and smart programs3-6 have been developed to address different aspects of corrosion and cracking characterization as well as selection of different kinds of materials used in corrosive service. These systems typically involve using different types of data to support the decision-making built into the computer programs:

Over the last eight years, the author has been involved in developing software systems that integrate analytical (numerical/mathematical relationships) models with heuristic (rules of thumb from experience) decision systems in an effort to capture the problem-solving methodology in specific domains, viz., selection of materials for sour service, evaluation of steels in refineries and pipelines, selection of corrosion resistant alloys for oil and gas production service etc7-8. In all these efforts, the process of system development involved the following sequential steps:

  1. Identification of the domain in terms of critical problem solving modules or objects, for e.g., evaluation of steels for sour pipeline service can be represented as an environment severity assessment module and a material resistance characterization module.
  2. Identification of system parameters required to characterize these objects, i.e., a pipeline environment can be represented in terms of critical system variables such CO2, H2S, temperature, gas/water/oil ratios, etc.
  3. Data collection and interpretation to document the contribution of each of the parameters towards characterization of a specific object and to capture the role of each of the parameters in the characterization process.
  4. Creation of a system specifications/requirements document to delineate the structure of the problem solving process and the software system to be implemented.
  5. Creation of a prototype computer system as per requirements document in step 4 and consistent with rules/data in steps 1-3.
  6. Refinement and testing of prototype system performance through evaluation by human experts as well as with respect to bench-marks available in terms of field and lab data.

While the above steps can be followed in developing software systems to solve domain-specific problems in materials and corrosion, significant time, effort and resources are needed to develop realistic software solutions to these problems. Even though the steps specified are generic to any corrosion and materials problem, in the past, it was necessary to develop each domain system as an independent entity in that there was little or no data sharing between different systems. However, it is obvious that if one could develop a framework that can capture data and information common to a class of problems, use of such a framework can significantly reduce the development time for the class of problems. A domain-independent approach to solving materials and corrosion problems, if feasible, is a step in the right direction in making such system development more efficient and less expensive. More importantly, such an approach would provide the power of system development to engineers and scientists with the data and decision-making knowledge, so long as they can structure their domain information in terms of knowledge structures consistent with the requirements of the framework.

A domain-independent, generic problem-solving framework called Genera has been developed and forms the focus of this paper. The framework has been implemented as a PC-based graphical tool that facilitates creation of software systems to characterize materials and corrosion problems. The rest of the paper is organized as follows: Introduction to object-based systems and terminology relevant to object-oriented programming is explained in the next section. This is followed by a description of the generic system implementation framework. Case studies of programs developed using the framework are given and are followed by a discussion on the merits and demerits of using a generic framework.

TECHNICAL BACKGROUND

Domain-independent approaches to problem-solving and development of domain-independent software systems has been attempted in areas such as mechanical design and applications of Artificial Intelligence concepts to mechanical design 9-12. Most of these efforts have their roots in development of object-based systems and the incorporation of object-oriented paradigm in software development. Object Oriented Programming (OOP), a central notion to the development of the generic framework described in this paper, is a data-centered or an object-centered view of systems where the data or the objects and their behavior are closely linked13. An object is an abstraction of an entity within a system that we are trying to represent in terms of salient properties of the object that in turn can be used to adequately characterize the object. For example, an environment object can be represented in terms of certain environmental constituents, whose states in turn can be defined to characterize the state of the object, i.e., the environment.

In an object-centric view of the world, computation is behavior simulation. Objects represented as computational abstractions are simulated complete with their characteristics. Once the abstraction has been adequately characterized, other objects can be derived from the abstraction thus created and can be allowed to inherit the properties already specified for the abstraction. Here is the biggest reason for using a generic framework for problem-solving: Once the framework has been specified for a class of problems, all problems that fit into the class can be characterized within the framework, without having to re-create all the objects and their properties, with their links to the world (interface and behavior). Such an approach is also very efficient since it is very self-contained. Objects within the framework are responsible for their behavior. However, the framework provides a concrete basis for defining this behavior and in extending the chain of behavioral links. The state of being self-contained that is inherent to good object-based systems is termed as encapsulation. Inheritance allows us to derive new objects from an existing class definition and encapsulation allows defining the limits of access an object can provide to other objects.

The central notions of the generic frameworks can be represented as follows:

SYSTEM DESCRIPTION

A schematic representing the arrangement of objects in the generic framework for materials and corrosion problem-solving is given in Figure 1. Two key concepts in the generic framework are templates and consultations. A template is a collection of related objects, specified so that it can represent a specific domain. Figure 2 shows a typical template created using the generic framework.

Figure 1 - Generic framework for materials and corrosion problem-solving

Objects within a template are typically characterized in terms of parameters. Parameters are variables whose states define the state of an object. An environment object defined in terms of specific parameters is shown in Figure 3. Parameters are defined in terms of a relative importance number (on a numerical scale of 1-100) and a set of data points typically representing the relevant range of values for that parameter. Each parameter is defined in terms of value-rank pairs which map specific data values of a parameter on to an interval scale of 1-10. A template can be used to define any number of new objects or inherit objects from an existing template or the object library. Each object can be defined in terms of any number of parameters, as shown in Figure 2. Further, each parameter may be represented in terms of value-rank pairs that allow mapping of parameter values to an interval scale in order to facilitate object evaluation over a range of parameter values in a template.

Value-rank pairs in conjunction with the relative importance number define the quantitative contribution of a parameter towards the state of an object. A template can be specified in terms of any number of independent or inter-related objects. They may share common parameters or objects. An object in a template can also be a parameter for another object in the same template. For example, it is possible to define a production environment template, in terms of three objects, i.e., system pH, environment and material. The system pH, a function of acid gases CO2 and H2S in production environments, shares common parameters with the environment object and is itself a parameter in the environment object where as the material object can be totally independent of the pH and environment objects.

A consultation is an instance of a template used to map parametric values to define a quantitative state for the objects in a template and in doing so, the state of a template. A consultation can exist only as a derivative of an open template characterized in terms of parametric data. A properly developed template can accurately represent problem-solving in specific domains. A consultation is simply an application of a template so created to obtain results and insights.

The overall scheme can be represented as follows:

  1. The state of a template or a domain is a function of the state of the objects that characterize the template at different levels of abstraction:

Templatestate = f (object1, object2, object3......objectn)

2. Each object in turn is characterized by a number of parameters
X1....Xn

Object1 = s1(a1.x1+a2.x2......an.xn)

Object2 = s2(b1.y1+b2.y2......bn.yn)

Object1 = s3(c1.z1+c2.z2......cn.zn)

where a1, a2...an, b1, b2...bn are relative importances for different parameters specified as a percentage for each object and x1....xn, y1....yn normalized values for the corresponding parameter.

3. As mentioned earlier, x1....xn, y1....yn are values for parameters corresponding to each object on a normalized scale. They are obtained as follows: consider the environment object shown in Figure 2. Figure 2 also shows normalized values for the parameter H2S on an interval scale of 1-10. Based on the data specified (as shown in the graph in Figure 2), the system would determine the corresponding intercept for a given parameter value (In this case any value of H2S between 1 and 100 psia would be interpolated to provide a normalized value for the parameter.

4. Data can be specified for different parameters as described in steps 2 and 3 above to arrive at an object characterization. Values for a parameter can also be selected from a list of choices and then mapped onto an interval scale of 1-10.

5. Different objects can be built or specified such that their relative state can be used to define the state of a template, i.e., the user can create an overall object rank and system rank that would represent the cumulative impact of the states of different objects in the system.

CASE STUDIES

Several case studies have been developed to demonstrate the applicability of the generic framework to problems from different domains. Since the framework exploits the commonalities present in different types of corrosion and material problems, it is possible to use the generic framework to represent and characterize a variety of problems. Sample domains characterized in this paper are,

A template was created for each of the three systems in the generic framework. A sample template for a coating selection system is shown in Figure 4. The template in Figure 4 can be represented in terms of information given in Table 1.

Table 1

Coating Evaluation Template

ObjectParameters Relative Importance, %
ApplicationStability

Depth of film

Curing speed

Gloss

90

100

80

60

PerformanceHardness

Temperature

Water resistance

70

90

100

Each parameter in the table above is represented by value-rank pairs (as shown in Figure 6). For each of the parameters, values within an operating range are provided and mapped to an interval scale. The system will generate a graph with parameter's values and normalized ranks as shown in Figure 2. Normalized ranks for a parameter during object evaluation are generated by straight line interpolation for data points within the specified range of values.

A template with relevant data for characterizing hydrogen embrittlement cracking and galavanic severity is given in Figure 5 and Figure 6 respectively. A summary of these templates is given in tables 2 and 3.

Table 2

Data for Evaluation of resistance to Hydrogen Embrittlement Cracking (HEC)

Object
Parameters
Relative Importance, %
HEC Resistance
Yield Strength

Yield/Tensile ratio

Service Temp.

Charpy Toughness

Tempering Temp.
100

90

70

80

60
Environment Severity
Cathodic Poison

Service Temperature

Corrosion rate
100

90

100

Table 3

Template Data for Galvanic Corrosion Severity

Object
Parameters
Relative Importance, %
Application
Area-ratio effect

General cor. rate (Anode)

General cor. rate (Cathode)

Galvanic Order

Inhibitor Efficiency
100

100

100

70

80

Figure 6 shows the results of a consultation using the template for galvanic corrosion. A template is similar to an application program in that the user can run multiple consultations using an open template. The consultation is an instance of a template object that in turn is defined by several objects. Figure 6 shows a consultation window that can accept user input for different parameters and provides a composite rank (in this case 78) for the state of the template on a scale of 1-100. The graph provides a pictorial representation of how the area-ratio effect parameter can be represented on a normalized scale of 1-10. The consultation wizard is the tool that allows either specification or modification of a template. In Figure 6, an object to characterize galvanic corrosion severity has been specified in terms of the five parameters shown in the above table. The chart in Figure 1 shows the relationships between different types of objects in the generic framework and how they fit within a template. Figure 6 displays the same concept when applied to a specific domain.


DISCUSSION

Object-based representations exploit the natural advantages available in systems wherein commonalities inherent to a class of problems can be captured in a template or a class which in turn can be used to create instances of the template. Such instances, called consultations in the proposed scheme, provide an easy way of characterizing states of a system or a template in terms of objects that characterize the system and parameters that characterize the objects.

Materials and corrosion problems typically involve representation of an environment to characterize the severity of corrosion in terms of certain system parameters (corrosivity) and/or characterization of behavior/resistance of a material in terms of material/metallurgical parameters. In fact, in most evaluation schema, the process is one described by the generic framework:

The Generic implementation framework described here offers several significant advantages in the development of problem-solving software systems:

The framework may not be usable in problems which cannot be structured in terms of objects and parameters as discussed in this paper. Domains such as control systems or on-line data monitoring, wherein data behavior cannot be predicted or represented accurately, customized development would be the appropriate approach.

While generic methods are useful for problems that can be structured in terms of the framework, their utility is questionable when not so. The current generic framework prototype can benefit from a more robust set of system integration and development tools. Future efforts would be directed towards further system development so as to provide database access and Object Linking and Embedding (OLE) capabilities to the generic software system.

CONCLUSIONS

Development of software systems to automate materials and corrosion problem-solving is a significant task from a stand point of the large number of parametric effects and interactions that need to be captured. A generic computer-based framework has been implemented as a Windows-based tool to characterize materials and corrosion problems as well as automate problem-solving. The generic framework facilitates rapid development of software system prototypes and case studies have been presented to demonstrate the efficacy of the generic framework implementation.

The author would like to acknowledge the contribution of Dr. Russell Kane at CLI International, Inc. for his insightful comments and review during the development and implementation of the generic framework.

REFERENCES
  1. R. D. Kane and S. Srinivasan "Reliability assessment of Wet H2S Refinery and pipeline equipments: A Knowledge-based systems approach", Serviceability of Petroleum, Process and Power Equipment, Eds. D. Bagnoli, M. Prager and D. M. Schlader, PVP Vol. 239, ASME, NY, 1992.
  2. S. Srinivasan, "Role of expert systems in technology transfer of materials for petroleum applications", Proceedings of the 12th International Corrosion Congress, Sept. 19-24 1993, NACE International, Houston, Texas, 1993.
  3. V. L. Van Blaricum et al., "Cathodic protection diagnostic expert system", Paper No. 384, Corrosion/94, Baltimore, MD, 1994.
  4. C. S. Fang et al., "Computer model of a gas condensate well containing carbon dioxide", Corrosion/89, Paper 465, New Orleans, NACE, 1989.
  5. S. Srinivasan and R. D. Kane, "Strategy - An Object-Oriented Knowledge-based System for Evaluation of Wet H2S Refinery Steels", Paper No. 376, Corrosion/94, Baltimore, MD, 1994
  6. A. Hatzinasios, "CORIS: A computer-based information system for corrosion and corrosion prediction", Paper No. 373, Corrosion/94, Baltimore, MD., 1994.
  7. S. Srinivasan and R. D. Kane "Methods of data synthesis in a rule-based representation for characterization of corrosion and cracking in CRAs", Corrosion 92, Paper No. 267, NACE, April 1992.
  8. S. Srinivasan and R. D. Kane, "Expert systems for selection of materials in sour service", 72nd Annual GPA convention, San Antonio, Texas, March 1993.
  9. Howe A. et al., "DOMINIC: A domain-independent program for mechanical engineering design", Applications of Artificial Intelligence in Engineering Problems, First International Conference, Southampton University, UK, April 1986, pp 289-299.
  10. Srinivasan S., and Allen, R.H., "Partitioning and Guided Search: A Generalized Approach to Problem solving in Preliminary Design", ASME Design Theory and Methodology Conference, Toronto, Canada, 1989.
  11. Brown D. C. et al., "Expert systems for a class of mechanical design activity", Knowledge Engineering in Computer Aided Design, Edited by J. S. Gero, North-Holland 1985, pp 259-282.
  12. Kamal S. Z. et al., "Knowledge representation for discipline-independent design, IFIP WG 5.2, Expert systems in computer-aided design, Gero J. (Ed.), North-Holland, 1987.
  13. Ira Pohl, Object-Oriented Programming Using C++, The Benjamin Cummings Publishing Co., Redwood City, CA 1993.

On-Line Conferencing Forum


email questions or comments to the Technical Chairman of InterCorr/96ss@intercorr.com

Technical Sessions | Advisory Committee | Search

Return to InterCorr/96 Archives Home Page

Return to Corrosionsource.com Home Page