A JAVA-BASED NUMERICAL WAVE TANK FOR EFFICIENT EXPERIMENTAL DESIGN Allen Grimes, Texas A&M University, College Station, TX Principle Investigator: Patrick Lynett, Texas A&M University, College Station, TX REU site: Oregon State University, Corvallis, OR REU advisor: Alicia Lyman-Holt Abstract The java-based numerical modeling program is a software program intended to be used by researchers studying nearshore wave dynamics and planning to perform physical modeling of their experiments. This report expounds on the important features of the program and how it simplifies the process of using numerical wave models. It also explains the need for simplified numerical models and the implementation of those simplifications in the program. When experimenting in wave flume facilities, unforeseen complications can slow down an experiment schedule and cost researchers time and funding. Numerical wave models provide a way for researchers to anticipate some of these problems during the experimental design phase and adjust accordingly. However, not all numerical models are created equal, nor are they easy to learn and use. The Java-based program acts a middle-man between powerful, yet complex numerical models and a researcher who is unfamiliar with numerical modeling. The goal of the program is to shorten the experimental design phase and reduce unknowns in the physical testing phase. Key features of the program presented in this report include real-time updating of graphical results and the simplification of inputs, outputs, and the user interface. 1 Introduction Performing research experiments at wave research laboratories is expensive and unforeseen results can sometimes slow down or even halt an experiment. Any delays in physical modeling at a rented facility could cost the researcher significant time and funding. Knowing in advance about the wave characteristics of potential experimental setups before stepping foot in the wave lab facility would allow the researcher to optimize his experiment during the design phase. Applying this knowledge during the design phase would minimize frustrations such as finding the best instrumentation location while on site, un-planned modifying of bathymetry or structure setup, or experiencing forces or pressures outside of an instrument’s range or a structure’s strength. Numerical modeling of an experimental setup provides such useful information to researchers prior to physical testing. Although numerical models are powerful and highly accurate in certain conditions they are not always simple to use by those who have not been trained on them. In some instances numerical models can offer so much flexibility and functionality that they become too complex for the average researcher. Also, each numerical model has its own quirks, interfaces and data input and output formats forcing a researcher to relearn each new modeling software he uses. A possible solution to this problem would be to create a program that provides a simplified interface with standardized input and output of data and uses multiple numerical models. The goal of this project was to produce an interface to an accurate numerical model that would highlight and simplify the most critical features and parameters of the numerical model. This was to be accomplished by creating a program that has minimal parameters to be edited and opens simplified input files. The program must also intuitively graph the results and make output data easily understandable. Methods The selected approach to this project was to design a Java based program. Java was chosen because at the beginning of this project it was planned that the program would run in a browser window. However, it was later decided that the program would run independent of a web browser because Java’s security features restricted much of the usability intended for the program. KEY FEATURES In order for the program to be an efficient numerical model for researchers it had to have certain features that made it easy to use. Although simplifying the features and 2 operations of a numerical model causes some loss of flexibility and functionality, it provides a less confusing and quicker experience to unfamiliar users. The simplifications that took place include a bare minimum experimental parameter list, input and output files that can be easily created, read and graphed by users and an intuitive interface. A graph of the waves is continuously updated while the numerical model is running which provides the user with nearly instant feedback. Quick feedback in turn allows the user to refine the parameters of an experiment and rerun the model before the original model would have been done. One goal of this program was to give the user access to multiple models. The current version of the program only uses the COULWAVE model, but the code was designed in such a way that integration with other models would require little time to implement. Lastly, a final simplifying feature of the program is how easy it is to distribute and be executed by most users. The Results section details how these features were created and how they are used. Results SIMPLIFIED INPUT The input of a numerical model is the most important controlling factor of a model. It is the means for a researcher to recreate real world situations within a numerical model. Of the many parameters that full featured numerical models have control over only a few were chosen as important enough to be included in the simplified inputs list. Those deemed most important include wave type, wave height, wave period, water depth, bathymetry shape, simulation resolution, simulation duration and friction coefficient. The wave types offered in the program include a solitary wave, a regular wave series and a TMA spectrum. A solitary wave is a single wave that propagates without deformation in deep enough water. Regular waves are a series of waves all having the same wave period and wave height. Regular waves are used to simulate the continuous action of waves in the ocean or on the shore. A TMA spectrum of waves is a series of waves of varying wave periods and wave heights that are statistically similar to real world nearshore waves. A TMA spectrum is weighted by factors such as peak wave period and significant wave height. To further reduce confusion, the input interface of wave period and wave height is changed depending on the wave type chosen. For example, when selecting solitary waves, the only input field available is deep water wave height, (H0). However, regular waves and TMA spectrum waves both use wave period and wave height, but regular waves use a deep water wave height (H0) and a uniform wave period (T), while TMA spectrum waves use a significant wave height (HS) and a peak period (TP). After selecting a wave type the following input section changes based on the appropriate input for that wave type. This reduces the use of generic terms or inputs that do not affect the model and makes it clear to the user what the input values represent. 3 Water depth is a very important factor and a commonly varied parameter in wave flume modeling. In this program it represents the depth from the still water level (SWL) to the base of the flume at the point when x equals zero, the left most point on the graph. In this program the value is inputted as a positive number and in meters. Arguably the most important controllable variable to researchers is the shape of the bathymetry. Bathymetry is by definition the measurement of the depth of land bodies underwater. In the context of this program it is more than just a single depth, but an array of depths. This means that the bathymetry in the model can be much more than just a depth and more than a single slope. Bathymetries can resemble more complex shapes such as real beach profiles or any wave flume. The program currently reads text files in the x, z column format. These can be easily created and read in a text editor or spreadsheet. As is the case with nearly all simulations and computer models, accuracy costs time. With this in mind, the ability to change the resolution of the model is another parameter that is important to researchers. For a quick and rough estimate of wave dynamics a user can run the model with a low resolution and then run the model with a higher resolution to get more detail and accuracy. Although duration does not have a direct effect on the dynamics of the model, it is still an important parameter. Because of the nature of the variability of the experimental setup of a model the dynamic effects that a researcher is looking at may be within a few seconds after starting or it may be several minutes later. The duration is simply the time at which the model stops calculating the wave dynamics. The affect of bottom friction on the waves is a very important factor in wave dynamics, especially when the waves begin to shoal, or “feel” the effects of the bottom surface. In this simulation friction is represented as a numerical coefficient. This coefficient represents the roughness of the bottom material. HOW THESE PARAMETERS RELATE TO REAL WORLD WAVE FLUMES Because this program is being used to make experimental modeling more efficient the parameters in the program must reflect changeable parameters available in most wave research laboratories. Wave types such as solitary, regular and TMA spectrum waves are physically reproducible with most large wave flume facilities. Most wave laboratories’ wave makers have the ability to generate these types of waves and control the wave height and wave period within its range. Water depth is a relatively easy variable to change in a real world wave flume; it usually involves draining or filling the wave tank. The bathymetry is essentially the profile shape of the wave flume in addition 4 to rigid elements or structures. However, there are some limitations to what bathymetries can be modeled in the program. Due to limitations with the current numerical model, every horizontal point can only have one depth. This means that there cannot be any overhanging structures or perfectly vertical walls. Details of how to create a bathymetry file can be found in the help document included with the program. The resolution of the program is purely a numerical model parameter and has no real world comparison. Although, with a higher resolution the numerical model will more accurately reflect the real physical results. Duration is not a controllable parameter in physical modeling, but it can be compared to the duration of the data collection of a laboratory’s data acquisition system. Lastly, the friction coefficient represents the water to bottom surface friction interaction and is based on the bottom surface material. SIMPLIFIED OUTPUT The java numerical model interface allows for users to use virtual instrumentation as though they were using actual sensors in a real wave flume. The current version allows users to collect data from virtual wave gauges and Acoustic Doppler Velocimeters (ADV). The user can load text files that represent the x, z positions of several instruments. While the program is updating the model it constantly updates the time series data of each sensor and saves it to a file that is easily read or graphed by a spreadsheet application. Because the data collection is done post-processing, or within the java program and not the numerical model, instrument arrangements can be changed multiple times without re-calculating the numerical model, however the program must update once after changing sensor positions. The virtual sensor data is then outputted in tabular format that can be plotted similar to actual sensor data (Fig. 1). This feature allows researchers to easily test various instrument setups for the most useful setup long before starting physical modeling. The help document included with the program details the formatting of the instrument setup file as well as the method for plotting instrument data in a spreadsheet program. free surface elevation, z (m) Free Surface Elevation 0.30 0.25 0.20 0.15 0.10 0.05 0.00 -0.05 -0.10 -0.15 -0.20 -0.25 w g1 w g2 w g3 w g4 w g5 w g6 w g7 0 5 10 15 20 tim e (s) Figure 1. Sample wave gauge data from program plotted with time 5 25 30 SIMPLIFIED INTERFACE For a model to be simplified it is not enough to have simple inputs it must be presented to the user in an understandable way. This means that the interface that the user sees and uses to change inputs and view the model output must be somewhat intuitive to use. The input fields of the program are listed in a logical order that leads the user through the setup of an experiment. All input values remain on the screen so as to be immediately accessible to the user. The parameters can be changed and the model rerun at any time. The graphical output is also relatively intuitive. In the graph the water is blue and the bottom surface is black. To zoom in on a certain area of the graph, the user can click and drag a box around the area of interest. The viewing window of the graph can be moved up, down, left and right using the corresponding arrow buttons. The user can zoom out to view the entire modeled area by pressing the Zoom All button that resembles a magnifying glass with a minus sign inside. Figure 2 depicts the navigation control buttons. The program also has the capability of viewing the wave at any point in time that has been calculated by the numerical model by either playing the time series as an animation or moving the time slider bar to the desired point in time or entering the preferred time, in seconds, in the time text box. The jump-to-beginning, play-animation, and jump-to-end buttons are shown in Fig. 3. All buttons in the program attempt to be as self descriptive as possible. The intuitive interface helps accomplish the goal of making this program a simplified and efficient numerical modeling program by allowing the user to easily view and change input data as well as visually inspect and interact with locations and times of interest. Figure 2. Navigation buttons Figure 3. Animation controls An additional visual feature included in the program was the ability to view particle velocities at any given point. Figure 4 shows a sample of the gradient color scale of horizontal velocities for a particular area of the model. In the figure red represents the highest horizontal velocity in the positive direction and blue represents the highest velocity in the negative direction, where x increases to the right. This feature allows 6 researchers to immediately identify maximum velocity regions and adjust instrument setup accordingly. Figure 4. Visual horizontal velocity gradient REALTIME UPDATE RESULTS Another useful feature is the ability for the program to constantly update itself from the numerical model’s output while the numerical model is still running. As stated before, this gives the user immediate feedback because they do not have to wait for the numerical model to completely finish its calculations before being able to view the results. The benefit to the researcher is the ability to change the parameters of a model and re-calculate the model without having to finish calculating the first model. The way this is accomplished is made simple by the fact that the numerical model and the java program are separate programs that have access to the same files. The numerical model outputs the resulting wave heights and wave velocities to a file in a minimal memory format at the end of each iteration. While the program is in update mode it constantly re-reads the same file and displays that new data in the graph. MULTI MODEL One of the intended strengths of this program is to provide the user with multiple numerical models to calculate the resulting wave dynamics. Because different models have different strengths and weaknesses, a multi-model approach allows the researcher to compare the differences between the models and therefore reduce the overall inaccuracies of the modeling process. Each numerical model has its own format for inputting and outputting data. Since the java program is in control of reading the data outputted by model it can be programmed to read data of different formats and then display the graph and output sensor data in a uniform format. This uniform output allows the researcher to then use the information without having to convert it to a usable 7 format for any model chosen. Although the program currently only uses the COULWAVE model, it has the ability to be quickly re-programmed to allow for multiple models. DISTRIBUTION AND EXECUTION Lastly, an efficient numerical modeling program would not be easy for researchers to use unless it is easy to install and run. The java-based numerical wave tank can be downloaded from the internet in a relatively small compressed folder format (*.zip). Once the file is on the computer it can be de-compressed (“un-zipped”), opened and then the user can open the program by clicking on the “RUN” file. The downloaded folder contains all the files necessary for running the current numerical model, which uses programs that are not commonly found on most users’ computers. The java program runs in the Java Runtime Environment 1.6 (JRE1.6) which most users already have installed on their computers and is not included in the folder. Discussion Although the program is intended to be used by researchers planning to perform physical modeling of wave experiments, time did not permit the testing and analyzing of the program by researchers before the writing of this report. Therefore the discussion of the effectiveness of the program is minimal as the project currently stands. In order for this program to fulfill its goal of making the design phase of two dimensional wave modeling more efficient it will need a few more improvements including the orderly adjustment of the input fields and improvements to the speed of the updating process. A method for testing the efficiency of the program would be to distribute it among new and experienced physical wave modelers and take a survey of their experiences with the program. Conclusion Without discussion of the effectiveness of this program from researchers, conclusions about the achievements of this program are left to speculation and analysis of the methods chosen in the implementation of the program. It is recommended that further work be done on this project to finalize the program and properly asses its success. 8 Acknowledgements Special thanks goes to my advisor and mentor Dr. Patrick Lynett for providing me with the opportunity to work on this summer project and for guiding me through the process of designing and refining the program. I would also like to thank my NEES reu site coordinator, Alicia Lyman-Holt for keeping me on task during the summer. Appendix Figure 5. Sample of program running a wave simulation 9
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement