![]() Arcadia |
ARCADIA PRIMERIntroduction for first users of ARCADIAChapter 1.
Most engineers nowadays are using computer models to simulate events in nature, in society or in
man-made structures. Well-known are packages like STRUDL or NASTRAN used in structural
engineering, but similar packages are found in other branches of engineering.
|
Computer Simulations Carrying out analysis with Arcadia |
|||
![]() Arcadia |
For those interested in equations, see appendix A. Here it suffices to describe the process in words: Assume that the water is initially at rest. Now the downstream valve (at the power station) is opened and the water will start to flow out of the tower, thereby lowering the level in the tower; the difference in level between the reservoir and the tower will accelerate the water in the conduit, and after some oscillations an equilibrium state is reached in which the flow in the conduit is equal to the outflow at the power station. A corresponding train of events take place if the valve is closed. For the design of an actual system like this, a simulation model may be helpful, because it can tell the engineer how large the pressure drop from the reservoir to the tower will be, how high the level in the tower may rise and how deep it will sink during oscillations. To simulate this process we have a simple computer model, called BUFMOD. It is based on the equations in appendix A. This model, as any other computer model, needs a number of data that describe a particular situation, in order to compute the time history for the chosen situation. We can distinguish two types of input data for the model: model coefficients, i.e. numbers that describe the permanent properties of the actual system, and the boundary conditions, i.e. quantities that describe outside influences on the system and that usually may vary from day to day (see figure 2). In the model BUFMOD the model coefficients are the length of the conduit, its diameter and its friction coefficient (a measure for the resistance that the flow experiences in the conduit), and the dimensions of the storage tower. Boundary conditions (e.g. daily operating conditions) are the water level in the reservoir and the flow at the power station. With these input data given the model will be able to compute the state of the system. The state of the system is described by a set of state variables. In the case of the model BUFMOD the state variables are the flow in the conduit and the water level in the storage tower, both of which are functions of time. The program can write the values of these state variables to paper output, or to secondary memory in the computer.
For certain given model coefficients and boundary conditions BUFMOD will produce results such
as shown in the figures 3 and 4.
and in the outflow valve as function of time; situation: closing off after a period of constant flow. green dashed line: (given) outflow, blue dash-dot line: flow rate in the conduit; continuous line: water level in the buffer tower
and in the outflow valve as function of time; situation: from a state of no flow to constant flow. |
Carrying out analysis with Arcadia |
|||
![]() Arcadia |
In order to get the computer to produce the data we want, we have to submit a file, telling it to run BUFMOD, and giving numbers for the various input data. Furthermore we must indicate how we want the computation to be carried out, what results we want and where they must be written to. These instructions are found in the input file to BUFMOD which may read:
5000., 1.2, 0.004, 14.
0.2, 0.8, 0., 60.
10., 1200., 'OUT.DAT', 20.
The user of the model instructs the computer to run the BUFMOD model with the above input data; on a PC he would give the (DOS) command:
BUFMOD <INPUT.DAT
This command tells the computer to load the model BUFMOD into its memory and start executing it using the file INPUT.DAT as input (this file has the contents shown in figure 5). Unfortunately commands like this look different on different operating systems, so we use here the MS-DOS operating system as an example. The input to BUFMOD on the other hand is specific for BUFMOD, and it will look the same on all computers, because BUFMOD is written in a generally accepted programming language, Fortran-77. The first line of the BUFMOD input contains the model coefficients, the second line the boundary conditions, and the third line gives the computational time step, the length of the simulation period, the name of the file on which we want the results (level and flow as function of time), and the time interval with which the results are written to that file. |
Carrying out analysis with Arcadia |
|||
![]() Arcadia |
Chapter 2.
If we want to design an actual system, we may be able to make a first guess of the dimensions of the
various parts of the system, based on education or experience. Once a design has been decided upon
it is very well possible to restrict the number of computations to a small number. Only one or a few
computer runs simulating the behaviour of the system are carried out in order to verify whether the
system functions properly under various combinations of boundary conditions. However, if we are
to optimize the design, a further analysis is needed. For instance if we want to optimize the design of
the storage tower, it is necessary to know how much the maximum and the minimum water level in
the tower can vary in daily operating conditions. These levels depend on the values of the various
input data, such as the water level in the reservoir, the friction in the conduit, the flow in the system
etc.. To assess which of these input variables dominates the behaviour of the system a sensitivity
analysis is required. When these variables are identified, the optimization can concentrate on these
variables. A sensitivity analysis consists of a set of simulations in which the input data are perturbed,
and corresponding output data are determined. For a given range of input data values the
corresponding range of the output data is determined, and it will become clear which of the input data
have a large influence on the output data, and which have a small influence.
A sensitivity analysis can also be useful if we want to plan a measurement campaign. If there are a
number of locations where measurements can be carried out, and a number of quantities that can be
measured, a sensitivity analysis can tell us which of these locations and quantities are the most
sensitive to the value of the parameter that must be measured.
|
Sensitivity Analysis Carrying out analysis with Arcadia |
|||
![]() Arcadia |
Chapter 3.
How are we going to carry out a sensitivity analysis? The traditional approach is to make one
computation with a set of probable values for the input parameters and then perturb each of the input
parameters, make a computation for each perturbation and see how much the results (state variables)
will change due to these perturbations. Here the system ARCADIA can assist in two ways, 1: it helps
in preparing the set of input files needed to make the various computer runs, and 2: it helps in
analysing the results of the runs.
|
Carrying out analysis with Arcadia |
|||
![]() Arcadia |
It is seen that the symbolic names are enclosed in square brackets;
these are recognized by ARCADIA-GENER
as names to be substituted by numerical values.
ARCADIA-GENER also has to know what values
have to be substituted.
The instructions for this are to be provided by the user in a command file.
The commands are described in the ARCADIA user manual.
The variable input parameters for instance
are defined under the command PAR; under this command the name of the parameter appears and
its basic value (i.e. its most likely value estimated from experience or as an educated guess), and its
possible deviation. This deviation is interpreted here as the largest deviation from its basic value, that
the parameter may show in practice. To see the complete set of commands as used in this example,
see appendix B.
The complete command input also contains commands, e.g. commands that control
the data exchange between the model and the modules of ARCADIA, ARCCOL and ARCEVAL.
The information concerning the model coefficients is given in the following commands:
PARAM 'FRIC' 0.004, pos 0.002
PARAM 'CROSS-SECT' 10., pos 5.
CONST 'DIAM' 1.
PARAM 'TRANS-TIME' 40., pos 20.
PARAM 'FL-BEG' 0.5, pos 0.2
CONST 'FL-END' 0.
PARAM 'RES-LEVEL' 0., real 0.5
|
Carrying out analysis with Arcadia symbolic names |
|||
![]() Arcadia |
It is not sufficient to prepare the input files for the runs; also a file is prepared which starts the
computer program as many times as needed for the sensitivity analysis. In order to be able to prepare
such a file ARCADIA needs as input the so-called jobfile. It may read in our case:
if exist arcerr del arcerr
##
BUFMOD.EXE <[INPUTDATA]
ARCCOL.EXE
IF EXIST ARCERR. GOTO ERRGEN
##
COPY PRINT. BUF.CPT
ARCEVAL.EXE
COPY PRINT. BUF.EPT
GOTO FINISH
:ERRGEN
TYPE ARCERR.
:FINISH
The first line of the jobfile contains any instructions that have to be executed just once at the beginning of the series of computations. It may for instance contain accounting information; on a PC accounting information is irrelevant; here we only see a statement that deletes the file on which error messages will be writted by the Collect module (see further dow). The initial instructions are separated from the lines that must be repeatedly copied by ARCADIA, by a separation mark, for which we often use ##. The part between two consecutive lines ## contains the instructions to run the computer program BUFMOD, and the Collect module. This so-called repeated part is separated again by a separation mark from the closure lines. The statement ARCEVAL.EXE instructs ARCADIA to carry out the computations for interpretation. The program names ARCCOL.EXE and ARCEVAL.EXE stand for ARCADIA-COLLECT and ARCADIA-EVAL, the collect and the evaluation module resp.. |
Carrying out analysis with Arcadia job files |
|||
![]() Arcadia |
ARCADIA-GENER will generate a file in which the part of the jobfile between ## is repeatedly
copied, and which is ready for execution by the computer. This file is called the Runfile; on a PC we
usually use the name RUN.BAT for this file. If this file is generated correctly, all the user has to do
is ask the computer to carry out the instructions, this is done by a DOS command: RUN or
RUN.BAT.
if exist arcerr del arcerr
BUFMOD.EXE <B1.DAT
ARCCOL.EXE
IF EXIST ARCERR. GOTO ERRGEN
BUFMOD.EXE <B2.DAT
ARCCOL.EXE
IF EXIST ARCERR. GOTO ERRGEN
BUFMOD.EXE <B3.DAT
ARCCOL.EXE
IF EXIST ARCERR. GOTO ERRGEN
...
COPY PRINT. BUF.CPT
ARCEVAL.EXE
COPY PRINT. BUF.EPT
GOTO FINISH
:ERRGEN
TYPE ARCERR.
:FINISH
In the Runfile the various input files for the buffer model are named B1.DAT, B2.DAT etc.; these file are also generated by ARCADIA. For instance the file B1.DAT reads:
5000., 0.1000E+01, 0.4001E-02, 0.1000E+02
0.0000E+00, 0.5000E+00, 0.0000E+00, 0.4000E+02
10., 1200., 'OUT.DAT', 20.
ARCCOL will pick up data produced by the model in the result file and collect a selection of these into a file called the Collect file. Once the data from all model runs are available on the collect file, the module ARCEVAL starts to produce tables on printed output. These tables summarise the results: the basic values of the result variables and their deviations. Optionally also the contributions of the various input parameters to selected output variables are printed, this shows i.e. which input parameters have most influence on the output variables. The flow of data is sketched in figure 11. |
Carrying out analysis with Arcadia building the |
|||
![]() Arcadia |
In the above example the output values produced by each BUFMOD run appear on the file
OUT.DAT, ARCCOL will read the data from this file and select some of these values, according to
instructions by the user. These instructions are given by the user in the ARCADIA command file
under the command RESULT (giving the structure and kind of data on the result file, OUT.DAT in
our case). The command OBTAIN in the command file tells ARCCOL what data it must select from
the result file, and copy to the collect file. The collect file is the transfer medium between ARCCOL
and ARCEVAL. ARCEVAL can subsequently carry out some simple post-processing on the data
collected on the collect file; for instance to determine in our case the maximum and minimum water
levels in the tower in each time series computed by a BUFMOD run.
A dark block denotes a process. Yellow blocks denote sets of data. |
Carrying out analysis with Arcadia data flow in Arcadia |
|||
![]() Arcadia |
Chapter 4.
Apart from the sensitivity analysis mode there are three more modes of use in the ARCADIA system,
viz. the dependency mode, the calibration mode and the probability transformation mode. Both types
of computation require sometimes large number of model runs, a task for which ARCADIA is
specially designed. The whole system works in these modes essentially the same way as with the
sensitivity analysis mode.
|
Carrying out analysis with Arcadia Other Facilities |
|||
![]() Arcadia |
Appendix A.
A number of assumptions are made in order to arrive at the equations in BUFMOD; to mention a few:
the influence of pressure waves in the conduit is neglected, in other words the flow is the same
everywhere in the conduit; energy losses due to inflow and outflow are neglected with respect to the
friction losses in the conduit; the flow controlling valve is assumed to be immediately downstream
of the tower, etc.
|
Carrying out analysis with Arcadia Equations in Buffer Model |
|||
![]() Arcadia |
Appendix B.
The sample problem is defined in two files, i.e. the jobfile and the command file. The jobfile is given
in figure 8;
the command file is printed below. It can be interpreted by means of the
ARCADIA user manual.
|
Carrying out analysis with Arcadia A Sample Input |
|||
![]() Arcadia |
The output produced by the Evaluation module of ARCADIA reads:
The above output consists of two parts; the first gives the basic value and the deviation for each
output variable that was mentioned in the command SENSITIVITY_ANAL of the command file. The
basic value and deviation here have a similar meaning as discussed in relation to the input parameters.
In the second part vertically all variable input parameters are found. The coefficients in the table
indicate what part of the deviation of an output variable was due to the deviation of this input
parameter. If the coefficient is negative, an increase of the input parameter results in a decrease of the
output variable. The sum of the squares of the coefficients in one column must be 1.
|
Carrying out analysis with Arcadia sample output |