Detailed Functional Specifications

useumpireΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 3 χρόνια και 10 μήνες)

63 εμφανίσεις



Detailed Functional Specifications













Project Name:

Laser Propagation Modeling

Team:

Noah Wolfe




















ECE 420 Senior Design

February 20, 2012

USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
2

Ultr
a
-
Short Pulse Laser Propagation Modeling

Detailed Func
tional Specifications (version 3
.0)


Project: Laser Propagation Modeling

Date(s): August 29, 2011 to May 7, 2011

Prepared by: Noah Wolfe

Document status:
Validated



USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
3

Table of Contents

Revision History

................................
................................
................................
.........

2

1. Introduction

................................
................................
................................
.............

4


1.1

Requirements

................................
................................
................................
..............

4

1.2

Numbers

................................
................................
................................
......................

4

1.3

Existing System

................................
................................
................................
...........

4

1.4

Terminology

................................
................................
................................
................

4

2.
Software Functional

Description

................................
................................
...........

5


2.1
User Community

................................
................................
................................
.........

5


2.2
Administrative Functions

................................
................................
............................

5


2.3
Error Handling

................................
................................
................................
............

5


2.4
Help

................................
................................
................................
.............................

5


2.5
Printing

................................
................................
................................
........................

5


2.6
Interfaces


................................
................................
................................
...................

6


2.7 Inputs

................................
................................
................................
.........................

6


2.8

Outputs

................................
................................
................................
.......................

6


2.9

Platforms


................................
................................
................................
....................

7


2.10

Performance

................................
................................
................................
..............

7


2.11

P
ortability

................................
................................
................................
..................

7


2.12

Expandability

................................
................................
................................
.............

7


2.13

Customization
................................
................................
................................
............

7


2.14

Support and Maintenance

................................
................................
........................

8


2.15

Configuration Management

................................
................................
.......................

8


2.16

Documentation

................................
................................
................................
..........

8





USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
4

1.

Introduction

The following document aims to specify
what

this project will do. The focus will be on the capabilities of
the hardware and software behind the application and not so much the design or how it performs its
tasks. Specifically, this document will explain th
e capabilities of the laser propagation program but also
the machine in which the program is executed on.

1.1.

Requirements

Overall, this
project seeks to provide the sponsor with a fully developed Numerical Model to simulate
the propagation of an Ultra Short
Pulse Laser in atmosphere. This includes both the program, and the
hardware system with enough computing power to perform such a demanding program. For a full
description of the project requirements, please refer to the Requirements Document.

1.2.

Numbers

This

software/hardware system is currently setup to allow any number of users to have access but only
one user can submit jobs at a time. This setup does have the possibility of expanding to multiple users
submitting jobs concurrently with a few minor changes.

Depending on the size of the problem to be
simulated and total unknowns to be solved for, this system can take anywhere from mere minutes to
hours to complete a computation. As a benchmark, this system is capable of computing 1Billion
unknowns in a matter

of minutes.

1.3.

Existing System

Currently, there is no such thing as an existing system. This program and computer system will be the
first of its kind at AFRL. They do have an experimental group that works with the USPL lasers and
propagation but they do no
t have a numerical tool to simulate their experiments to explain their
physical discoveries. Because this program and system is the first of its kind and the field of laser physics
has a lot to be discovered, there is a chance that the results may vary fro
m the experimental results. For
example, the laser has a pulse in the femtosecond regime and the program will be computing the exact
point at which ionization is to occur in terms of micro meters. There is large chance that the numerical
computations may v
ary a little from the experimental results as is expected to a certain degree.

1.4.

Terminology

All of the words and phrases having a special meaning for this project can be found in the Glossary
section
7
at the end of the Requirements Document.



USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
5

2.

Software
Functional Description

The following sections provide a structured list of functions and capabilities satisfying the project
requirements.


2.1.

User Community

There will be two different groups of people using this program. One user will be those that simply
want
to plug in numbers and get an output from them. These simple users will want nothing to do with what
goes on below the surface of the GUI. All they want is to put in their laser’s parameters, desired length
and get some results with a nice graphical a
nimation. Numerical users on the other hand will want to
dive into the code to understand the methods and approaches taken so they can make changes and
alterations to better suit their needs. Both sets of users will be taken into account and provided for.

The GUI will be available for the simple user, taking all computer science requirements out of the
picture. They will simply need to put their information into the labeled boxes and click on the simulate
button. Upon completion of the program, their resul
ts and animation will be displayed. As for the
numerically experienced user, the code will be provided along with directions to compile and execute
the code on the command line.

Looking at the hardware side of things, the computer system can be used by an
y numerically
knowledgeable person in any computational field. Users from other fields such as fluid dynamics,
electromagnetics, etc can use the system to run their computational programs. Again, a tutorial on
implementing other programs on the system will

be provided to accommodate such users.


2.2.

Administration Functions

Taking into consideration that this program will be implemented

at the AFRL site on the Air Force base,
security is a must. The computer system itself consists of 4 or more “standalone” comp
uters tied
together in a secure local network using SSH to communicate with one another. The user accounts on
the system will also be password protected. Seeing as only a few users will have access to the machine,
all users will have administrative rights.


2.3.

Error Handling

A few errors are
in existence and can be handled should they arise.
Both of these errors tend to happen
after restarting the machine.



NVidia Driver Error: if the computer doesn’t recognize the graphics cards

o

Open up the “Debugging” folder


Right click on the “NvidScript.sh” file


select “run”.



MPI Waterfall Error: this is an error that may interrupt the program

o

Open up a terminal with ctrl,

alt,

t


type in “sudo nautilus”


enter the user password


Navigate to the file /etc/hosts


dele
te the first three lines


save the file.


2.4.

Help

In the unlikely event of a system failure that corrupts the system, a complete step by step tutorial is
provided and can assist in re
-
establishing a working system.



2.5.

Printing

The computed results from each t
est will be printed to a .txt file at the end of the computation. This file
will include all relevant data
pertaining to the test and stored with the filename provided on the initial
GUI screen.

USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
6

2.6.

Interfaces

User

The

graphical user interface has a number of data entry blocks with labels for the user to input his/her
laser properties and desired propagation lengths and steps. Upon entering all the data the user will
press the “Compute” button and the program will begin

computing the simulation and present the user
with a status bar and the words “Propagating….” displayed above it.

Software

The initial computing program will run on Ubuntu 10.10 64 bit
Linux

with CUDA 3.2 and MPICH2 1.4
installed. The animation program wi
ll be performed with Octave 3.2.4. All previous versions of the
before mentioned software will not be tested and confirmed to work.



2.7.

Inputs

The program will have the following characteristics for inputs into the GUI.



Pulse shape

o

Gaussian



FWHM



Points in
time



Points in space



Propagation Distance



Time step



Wavelength

o

800nm



Combination of terms

o

Diffraction

o

Space
-
Time
Focusing

o

Dispersion

o

SPM

o

Self Steepening

o

MPI

o

Plasma/Ionization

o

Raman


2.8.

Outputs

The following is a list of what can be expected upon the successfu
l completion of the program.



Real time animation

o

Spatial Intensity plot

o

Spectral Distance plot

o

Temporal Intensity plot



Real time Data

o

Energy

o

Power

o

Intensity

o

Distance

o

Radius



Output file containing all real time data at the last step.



USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
7

2.9.

Platforms

This system

will have support for the following platforms and software:



Ubuntu 10.10



MPICH2 v1.4



CUDA 3.2 SDK



CUDA 3.2 Toolkit



NVidia Driver v219.62.19



Octave v3.2.4

2.10.

Performance

Capacity
:
The system has the following hardware capacity



52 CPU cores



4928 GPU cores



66
GB of dedicated GPU memory


Response times



Capable of computing over 1Billion unknowns in minutes

(to be tested later in the project)
.



Over 15 Teraflops/s of floating point
performance


2.11.

Portability

Although

we may only be supporting one platform initially, we almost certainly will want to be able to
port
developments to other platforms such as Windows. This will most likely require a different set of
CUDA and MPICH packages that work with Visual Studio.



2.12.

Ex
pandability

Should the time come that the system does not have enough computing power, the possibility of
upgrading the system is 100% feasible. The system can be expanded in one of two ways.



Add GPU card

o

The easier of the two options requires adding another GPU card one of the Computer’s
PCI slots, if a PCI slot is available.



Add computer node

o

This case is a little more involved and requires the operating system and software to be
installed. The procedure

can be found in the user manual.

In both cases, the machinefile located in the

mpich


folder will need to be updated to inform the
computer of the new computer or GPU card.

As for software, the program will also be expandable. Along with the user manua
l and tutorial, the user
will be presented with the code in its entirety. There will also be a manual for compiling and executing
the code on the command line. In this case, any user will have the option to change and upgrade the
capabilities of the progra
m.


2.13.

Customization

Changes and customizations to the physical system will be limited and only recommended by highly
experienced hardware users. The system has been designed and configured in a specific manner that
depends on a lot of intricate variables suc
h as dedicated IP addresses, RSA passkeys, etc.

On the software side, the changes to the program are limitless. As mentioned in the Expandability
section (2.10), the code will be provided for those users willing to dive in and alter the functions. In this

case, the customization is virtually limitless.

USPL Propagation
Modeling



|Detailed Functional Specification


ECE 420 Senior Design | Noah Wolfe



P a g e

|
8

2.14.

Support & Maintenance

As this is an established computer system and computational program, there is no need for
maintenance. As long as the user conducts his/her work in accordance with the user manual provi
ded,
there should be no need for any maintenance. On the other hand, support is provided in the included
user manual.


2.15.

Configuration Management

At this point in time, there is only one final version to be implemented. The possibility of expanding the
syste
m and program is a possibility and one that can be looked into.


2.16.

Documentation

The following is a list of documents that will be provided:



User Manual



Hardware System Tutorial



Software System Tutorial



Debugging Manual



Program Code