An aluminum reduction cell consists of a steel structure lined with bricks and other insulation materials. An efficient cell design has an optimum heat balance that minimizes energy consumption and cell failure. The design relies on the solidification of the electrolyte against the side of the cell to provide a protective freeze layer against erosion of the lining.
The thermo-electric coupled field analysis capabilities of ANSYS along with the Parametric Design Language were used to model the freeze profile of reduction cells. The geometry of the structure was defined parametrically to allow for quick evaluation of design alternatives. Macros were developed to define nonlinear material properties and surface film coefficients. The APDL was used to loop though the PREP7, SOLUTION and POST1 modules and automatically adjust the freeze profile to arrive at the converged profile for the design.
The Alcan group of companies is an international industrial group engaged in all aspects of the world aluminum business. It is one of the lowest-cost producers of primary aluminum in the world. A corporate mission statement sets Alcan's goals "to be a global, customer-oriented and environmentally responsible enterprise committed to excellence and lowest-cost in its chosen aluminum and related business".
It is one of the mandates of Alcan International Limited to develop mathematical models of Alcan's major aluminum production and fabrication processes. Advanced mathematical models are viewed as essential tools to help Alcan meet the environmental, technical and economic challenges that lie ahead.
This paper focuses on the use of the ANSYS program to study the heat balance in the cathode of a Hall-Héroult aluminum reduction cell (see Figure 1). It describes the use of the ANSYS Parametric Design Language and the thermo-electric analysis capabilities used to determine an optimum freeze profile in the cell.
Figure 1 - Typical Hall-Héroult reduction cell
What is the reduction process?
Aluminum is obtained from alumina by reduction - a chemical term meaning the removal of oxygen. The calcined alumina is reduced to aluminum metal in electrolytic cells, or "pots". The pots contain molten electrolyte in which alumina is dissolved and from which the aluminum is produced.
Suspended in the electrolyte are a number of rectangular carbon anodes (positive electrodes) which act as electrical conductors. Electrical current passing from the anode through the electrolyte to the metal pad, which acts as a cathode, reduces the alumina molecules into aluminum and oxygen. The oxygen is deposited on the carbon anode, which then combines with the carbon to form carbon dioxide. The aluminum being heavier than the electrolyte settles to the bottom of the pot. Considerable electrical energy, between 14 and 17 kilowatt-hours per kilogram of aluminum, is consumed in the process.
Design of an Optimum Cell
An alumina reduction cell loses a characteristic amount of heat to its surroundings depending upon its design and thermal insulation. Optimization of the thermal insulation of the cathode bottom and the side walls will save energy. The design of the cell should be such that it maintains exactly the correct bath temperature, and the heat flow should be sufficient to maintain a layer of frozen electrolyte (freeze) over the side wall for protection. If the bottom is insufficiently insulated, this may lead to excessive frozen bath covering the cathode, which will interfere with the metal circulation pattern, but more seriously it will increase the cell voltage.
On the other hand, too much insulation will prevent the freezing of the bath on some areas of the side walls, and that ultimately may result in erosion and early side-lining failure. The formation of freeze on the pot walls serves as a protective layer against erosion of the side wall lining. This leads to a longer life for the pot and a reduction in spent pot lining. The latter represents the largest volume of solid waste generated by the aluminum smelting process. Spent linings as classified are hazardous waste due to the toxicity resulting from its cyanide content.
Hence, optimization of the cell design has the benefit of reducing operating costs and the environmental impact of the process.
Finite Element Modelling
The complex geometry and generation of heat within the anode, cathode and current conductors makes a combined calculation of the heat and current flow by finite element methods desirable. A thermo-electric model permits the calculation of the location of isotherms in the cathode, the freeze profile and the heat outputs from the process. Various lining materials could be investigated to determine the optimum design that produces a long life and a minimum power consumption.
Alcan's Research and Development Center in Arvida, Quebec has been active in using ANSYS for modelling the cathode heat balance (including freeze profile prediction) since 1984. The program was used as the solver in an iterative loop to calculate the freeze profile for a given design. The procedure was implemented on a VAX using the VMS environment (COM file) as a programming language. The following steps were executed:
|1.||Develop a slice model of the cathode with an assumed freeze profile.|
|2.||Calculate the temperature profile and extract the freeze geometry and temperature using ANSYS.|
|3.||Compute a new freeze profile based on the ANSYS results.|
|4.||Create a new input file for PREP7.|
|5.||Repeat step 2-4 until the solution is converged.|
Due to the limited capabilities of the ANSYS parametric design language (APDL) at the time steps 3-5 were implemented using special FORTRAN programs executed within the VMS COM file.
In 1988 Alcan moved from the VAX VMS operating environment to IRIS 4D workstations running UNIX and the COM file procedure could no longer be used. Consequently, H.G. Engineering was retained in 1989 to assist Alcan in implementing the above procedure within ANSYS using APDL.
Implementation Using APDL
Before describing the APDL implementation it is important to highlight some of the features of the problem at hand:
|1.||The model is a steady state, coupled field thermo-electric analysis. Joule heat resulting from the electric current flowing in the cell along with the superheat in the liquid metal and electrolyte constitute the heat input. Heat is lost on the outside surface of the pot shell through convection and radiation.|
|2.||The problem is highly nonlinear. Material properties are a cubic function of temperature. Convective surface film coefficients are also temperature dependent. Finally, radiation effects have a fourth order variation with temperature.|
|3.||Calculation of the total heat balance is required broken down by various areas of the model to ensure that the solution represents the real behavior of the cell.|
The APDL was used in several areas of the model. The main part was the looping logic described earlier which was previously implemented using the VMS COM file and the FORTRAN routines. This part will be described in detailed later in the paper. Four additional aspects of the model relied heavily on the use of the APDL. These are the following:
|1.||Material Property Definition|
|The operating temperature of various materials in the pot ranges from 30 to 1000.C. The material properties are temperature dependent and vary considerably over that range. Most can be characterized using cubic functions of temperature. A user file was written with a macro for each material used in the model. The macro was called with a material property index and special input particular to that material. Some materials such as carbon are orthotropic and hence the orientation was to be identified to the macro. Others, such as cast iron, required a modification to include a contact resistance term. A listing of typical macros is shown in figure 2.|
STEEL :note STEEL ar31=20 * number of data points ar32=50 * temperature increment mptgen,1,ar31,ar32,ar32 ar10=0 ar11=0 :lop ar10=ar10+1 * location counter ar11=ar11+ar32 * temperature in deg. C ar12=ar11*ar11 ar21=ar11+273 * temperature in deg. K *if,ar11,gt,600,:sk1 ar14=55.39 ar14=ar14-(0.0346*ar11) *go,:sk2 :sk1 ar14=63.98 ar14=ar14-(7.051e-2*ar11) ar14=ar14+(3.596e-5*ar12) :sk2 mpdata,kxx,arg1,ar10,ar14 *if,ar11,ge,750,:sk3 ar14=1.89e-7 ar14=ar14+(2.764e-10*ar11) ar14=ar14+(1.144e-12*ar12)
*go,:sk4 :sk3 ar14=-1.809e-6 ar14=ar14+(6.26e-9*ar11) ar14=ar14-(3.3e-12*ar12) :sk4 mpdata,rsvx,arg1,ar10,ar14 *if,ar21,gt,974,:sk5 ar14=345 ar14=ar14+(0.42*ar21) *go,:sk6 :sk5 ar14=1163 ar14=ar14-(0.42*ar21) :sk6 mpdata,c,arg1,ar10,ar14 *if,ar10,ne,ar31,:lop mp,dens,arg1,7860 /EOF
Figure 2(a) - Macro STEEL for calculating material properties of steel.
HCASTFE /com, /com, Macro CASTFE defines properties of cast iron. The resistivity /com, in any direction (x,y,z) can be modified to include the contact /com, resistance. The resistivity is incremented by the value /com, /com, RINC=(C.R./t)^le-6 Ohm-m /com, /com, Type /com, /com, *use,CASTFE,arg1,arg2,arg3,arg4 /com, /com, where arg1=material property number /com, arg2=contact resistance (C.R.) /com, arg3=thickness of cast iron (t) /com, arg4=direction of contact resistance /com, <=1 for x /com, =2 for y /com, >=3 for z /com, /com, Units are in W/m**2-C and OHM-m /com, /EOF CASTFE :note CAST IRON ar31=20 * number of data points ar32=50 * temperature increment mptgen,l,ar31,ar32,ar32 ar10=0 $ar11=0 :note set contact resistance *if,arg4,gt,1,:sky ar21=(arg2/arg3)*1e-6 $ar22=0 $ar23=0 *go,:lop :sky *if,arg4,gt,2,skz ar21=0 $ar22=(arg2/arg3)*1e-6 $ar23=0 *go,:lop :skz
ar21=0 $ar22=0 $ar23=(arg2/arg3)*1e-6 :lop ar10=ar10+1 * location counter ar11=ar11+ar32 * temperature in deg. C ar12=ar11*ar11 ar14=63.9e-8 ar14=ar14+(9.954e-10*ar11) mpdata,rsvx,arg1,ar10,ar14+ar21 mpdata,rsvy,arg1,ar10,ar14+ar22 mpdata,revz,arg1,ar10,ar14+ar23 ar14=.1258 ar14=ar14-(3.6449e-7*ar11) ar14=ar14+(5.6136e-8*ar12) mpdata,c,arg1,ar10,ar14*4186.8 *if,ar10,ne,ar31,:lop MP,DENS,arg1,7200. MP,KXX ,arg1,46. /EOF
Figure 2(b) - Macro CASTFE for calculating properties of cast iron
|2.||Surface Film Coefficients|
|Convection as well as radiation effects were included in the model. Convection surface film coefficients were calculated from empirical relationships using Prandtl and Reynolds numbers for a range of surface temperatures of the structure. Radiation effects were included in the model by calculating an equivalent convective film. The combined effects were calculated in a macro and a temperature dependent surface film was defined using the MPDATA command. Input to the macro included the material property id; characteristic length of the surface and its orientation; view factor and surface emissivity; and the ambient temperature of air adjacent to the surface.|
|3.||Generation of Volumes|
|In ANSYS, volumes can be generated from existing volumes by defining coordinate increments. In our case we wanted to generate volumes by defining keypoint increments which lead to the development of macro vols (shown in figure 3). It takes 4 keypoints on one face of the volume and generates the opposite face by adding a constant increment. It then generates additional volumes by adding an increment to the first volume. Generation can be performed up to three levels. This approach drastically reduced the input data to the model.|
hvols /com, /com, Macro vole generates multiple volumes by defining a set of 4 /com, keypoints on any face of a base volume, the increment in keypoint /com, number between that face and the opposite face and the number of /com, volumes to generate from the base volume based on predefined /com, keypoints. Up to three levels of generation are allowed. /com, The keypoint increments between each level and the basic volume /com, is defined using the parameters INV1,INV2,INV3 which must be set /com, prior to executing the macro. Type /com, /com, *use,vols,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8 /com, /com, where arg1-arg4 : keypoint number on starting face /com, arg5 : keypoint increment to opposite face /com, arg6-arg8 : the number of volumes to generate in each level /com,
/EOF vols ar13=0 *if,arg6,gt,0,:skl * argl-arg4 =base keypoints arg6=1 * arg5 =base inc on face 1 :sk1 * arg6 =#1 vols in dir 1 - default=1 *if,arg7,gt,0,:sk2 * arg7 =#1 vols in dir 2 - default=1 arg7=1 * arg8 =#1 vols in dir 3 - default=1 :sk2 *if,arg8,gt,0,:sk3 arg8=1 :sk3 *if,arg8,eg,1,:sk4 *if,INV3,gt,0,:sk4 /com,ERROR : INV3=0 - Increment in direction 3 should be >0 *go,:end :sk4 *if,arg7,eq,1,:sk5 *if,INV2,gt,0,:sk5 /com,ERROR : INV2=0 - Increment in direction 2 should be >0 *go,:end :sk5 *it,INV1,gt,0,:lp3 /com,ERROR : INV1=0 - Increment in direction 1 should be >0 *go,:end :lp3 ar12=0 :1p2 ar20=arg5+((ar12*INV2)+(ar13*INV3)) ar11=0 :lp1 ar11=ar11+1 ar21=arg1+ar20 $ar22=arg2+ar20 $ar23=arg3+ar20 $ar24=arg4+ar20 ar25=ar21+INV1 Sar26=ar22+INV1 $ar27=ar23+INV1 $ar28=ar24+INV1 v,ar21,ar22,ar23,ar24,ar25,ar26,ar27,ar28 ar20=ar20+INV1 *if,ar11,ne,arg6,:lp1 ar12=ar12+1 *if,ar12,ne,arg7,:lp2 arl3=ar13+1 *lf,ar13,ne,arg8,:lp3 :end /EOF
Figure 3 - Macro vols for generating volumes.
|4.||Heat Balance Tables|
|With version 4.4A+ of ANSYS a new command (*MSG) was introduced. This command allows the user to print customized messages. It has the capability of parameter substitution. A heat balance table was created using a series of these commands. The heat input and loss from various segments of the model were calculated and extracted using the *GET command (more on this later). These parameters were used in *MSG to produce the table shown in figure 4.|
============================================================ ***** HEAT INPUT : slice model **** W W/m^2 % ------------------------------------------------------------ Bath to freeze 1000.00 6000.00 20.00 Metal to freeze 1500.00 9000.00 30.00 Metal to carbon 750.00 1000.00 15.00 Joule heat generation 1750.00 35.00 ------------------------------------------------------------ Total Heat Input 5000.00 100.00 ------------------------------------------------------------ Slice current : 5000.00 A Voltage drop : 200.00 mV ============================================================ ============================================================ ***** HEAT LOST : slice model **** W W/m^2 ------------------------------------------------------------ Cover plate to air 500.00 2000.00 10.00 Wall to air : opposite bath 500.00 5000.00 10.00 Wall to air : opposite metal 750.00 10000.00 15.00 Wall to air : opposite carbon 750.00 5000.00 15.00 Wall to air : below carbon 250.00 1000.00 5.00 Floor to air 250.00 500.00 5.00 Cradle to air 1000.00 500.00 20.00 Collector bar to air 1000.00 2000.00 20.00 ------------------------------------------------------------ Total Heat Lost 5000.00 100.00 ============================================================ ============================================================ ***** HEAT INPUT : full cell **** KW W/m^2 % ------------------------------------------------------------ Bath to freeze 100.00 6000.00 20.00 Metal to freeze 150.00 9000.00 30.00 Metal to carbon 75.00 1000.00 15.00 Joule heat generation 175.00 35.00 ------------------------------------------------------------ Total Heat Input 500.00 100.00 ------------------------------------------------------------ Slice current : 500.00 KA Voltage drop : 200.00 mV ============================================================ ============================================================ ***** HEAT LOST : full cell **** KW W/m^2 ------------------------------------------------------------ Cover plate to air 50.00 2000.00 10.00 Wall to air : opposite bath 50.00 5000.00 10.00 Wall to air : opposite metal 75.00 10000.00 15.00 Wall to air : opposite carbon 75.00 5000.00 15.00 Wall to air : below carbon 25.00 1000.00 5.00 Floor to air 25.00 500.00 5.00 Cradle to air 100.00 500.00 20.00 Collector bar to air 100.00 2000.00 20.00 ------------------------------------------------------------ Total Heat Lost 500.00 100.00 ============================================================
Figure 4 - Heat balance table produced using the *MSG command.
Values have been modified to maintain confidentiality.
Parametric Looping Logic
Figure 5 shows a flow chart of the looping logic to calculate the final freeze profile. Each step required special attention to achieve the final objective of the analysis. It is important to summarize here the procedure used to predict a new freeze profile.
Figure 5 - Flowchart of freeze profile adjustment loop
Recall that the main objective is to relocate the nodes on the surface of the freeze such that their temperature is within a prescribed tolerance from the eutectic temperature. Hence, it is required to perform the following:
|1.||Calculate the freeze profile temperature for a given geometry.|
|2.||Check whether the temperature of all nodes on the freeze profile is within a specified tolerance relative to the eutectic temperature.|
|3.||If required, calculate a new location for the freeze profile nodes by linear interpolation/extrapolation. Calculate the thickness of freeze that would bring the temperature to the eutectic temperature.|
|4.||Move nodes only if their new location is further away by more than a prescribed tolerance.|
|5.||If any nodes require adjustments then create a new input file with the new coordinates. This is achieved by using the *CFOPEN, *CFWRITE and *CFCLOSE commands.|
The above steps were repeated until (1) all temperatures on the freeze surface were within the eutectic temperature range; or (2) all nodes did not move by more than the prescribed tolerance; or (3) a preset number of iteration loops was reached. Note that within each solution step several iterations were performed to satisfy the non-linear solution based on a temperature criterion set using the CONV command (LOPTION module).
Some important considerations in setting up the model were the following:
|1.||The node numbers on the freeze profile and the corresponding nodes on the surface of the lining were to be identified. Since the model was developed using the MESH module, the only control on node numbers was by selectively meshing the areas on these two surfaces and recording the maximum node number on each. Hence, these areas were created first with special attention to the sequence of keypoints for each pair of opposite areas and the sequence with which they were meshed. The result was matching pairs of nodes on opposite surfaces separated by a constant node increment.|
|2.||The /COPY command was used to save intermediate results within the solution. Since the loop goes from PREP7 to the solver to POST1 intermediate files (FILE02, FILE03, FILE12) are overwritten each time. Intermediate results are copied to a scratch file (FILE22) and are subsequently separated into individual FILE12s when needed.|
|3.||In order to reduce the number of iterations in a given solution step it was desirable to use the temperature profile from the previous iteration. Since the coordinates are changing one could not use the restart capabilities of ANSYS and hence the previous temperature solution. As a result the *CFWRITE command was used to write a series of NT commands for each node to "initialize" the model with the previous solution in the loop. The net result is a dummy first iteration that has prescribed values for each degree of freedom. In the second load step the appropriate boundary conditions are defined.|
|4.||To create the heat balance table the STRESS, SSUM and $GET commands were extensively used in POST1. One of the stress items for STIF57, 69 and 70 is the face area and heat rate for each face of the elements. Zero values are assigned to faces that do not have a convective film coefficient. Using the SADD command the sum of all heat flows on all surfaces can be easily calculated The SSUM command with a selected subset of elements results in a summation of the total heat flow in any given segment of the model. Finally, He *GET command with the approximate labels allowed for extracting the total heat flow to be used in the table. A similar approach was used with STIF69 to calculate the joule heat.|
A mesh plot of the converged model and the resulting temperature profile are shown in figures 6 and 7 respectively.
Figure 6 - Mesh plot of converged model.
Figure 7 - Isotherms of converged solution.
Advantages and Disadvantages
The main advantage of the procedure described above is portability. Since everything is done within ANSYS it would be possible to take the model developed on the SGI machines and run it on any platform. In fact, this was tried by running the problem on a CRAY XMP. The model ran without any modifications.
Another advantage lies in the parametric setup of the model. Design changes such as increasing the thickness of a given layer of insulation or the depth of the electrolyte can be easily and quickly implemented. The resulting change in node numbers has no effect since everything in the model was extracted using the *GET command. This proved to be an extremely powerful capability.
A third advantage is that no additional steps are required at the end of the ANSYS run to create tables of results. The output file contains the heat balance table, voltage drop, thickness and temperature of the freeze layer and other results from the model. This information can be easily pulled out of the output file and included in a report.
Some of the disadvantages lie in the relative inefficiency of the APDL. Because these commands are interpreted every time a macro is used the process tends to slow down the overall solution time. Improvements in the performance of the program in this area are desirable.
Further time saving can be achieved if the temperature profile from the solution from the previous iteration in the loop can be used. Although the steps to create the prescribed temperature (NT) commands is trivial, the processing time especially in a large model is a waste of resources.
Where do we go from here?
The previous discussion has demonstrated that the ANSYS Parametric Design Language capability is a powerful tool in the program. Its application is limited only by the user's creativity. In our case it has provided an effective means of modelling a highly complex behavior with a minimum of effort.
The successful implementation of this approach has encouraged the authors to try to solve even more difficult problems using more complex models. Such problems cannot be handled in the tradition finite element codes without the flexibility of the APDL.