440 likes | 608 Views
Web Based Interface for Numerical Simulations of Nonlinear Evolution Equations. Ryan N. Foster & Thiab Taha Department of Computer Science The University of Georgia Spring 2007. Abstract.
E N D
Web Based Interface for Numerical Simulations of Nonlinear Evolution Equations Ryan N. Foster & Thiab Taha Department of Computer Science The University of Georgia Spring 2007
Abstract In Computational Science and Parallel Computing research, model equations have been developed to assist in solving problems in science and engineering. Such equations have aided researchers in developing methods used in the study of weather prediction, optical fiber communication systems, water waves, etc. Often, it is the desire of many researchers to further develop numerical methods and make these model equations, their numerical simulations and plots accessible to users through the Internet. In this presentation, we present a web based graphical user interface for numerical simulation of nonlinear evolution equations such as the nonlinear Schrödinger (NLS), NLS (NLS) with periodic dispersion, and modified coupled NLS (CNLS) equations. Sequential and parallel algorithms for each equation were implemented on sequential and multiprocessor machines.
Outline • Introduction • Goal • Model Equations and Methods • gnuplot • Equation Server • Equation Server Architecture • Equation Server Configuration • Requirements • Demo • Conclusion
Introduction • In Computational Science and Parallel Computing research, numerical methods have been developed to assist in solving problems in Science and Engineering. • It is the desire of many researchers to further develop numerical methods and make these model equations, their numerical simulations and plots accessible to users through the Internet. • Installing, setting up, and maintaining currently available web servers can be a complex and tedious task.
Goal • Provide developers an easier alternative way to publish model equations and methods on the web • Make numerical simulations and plots accessible to users through the internet. • Implement without the use of existing web servers (Apache/Tomcat, Axis) and/or additional technology (PHP, JSP, Applets).
Model Equations and Methods • Nonlinear evolution equations to be considered are: • nonlinear Schrödinger (NLS) type equation • nonlinear Schrödinger (NLS) equation with periodic dispersion • modified coupled nonlinear Schrödinger (CNLS) type equation
Nonlinear Schrödinger (NLS) Equation Consider the NLS equation where is a complex-valued function. The initial condition is where = a constant. We assume that satisfies periodic boundary condition with period [ ], where is half the length of the interval.
Nonlinear Schrödinger (NLS) Equation (continued) • When the [-P, P] is normalized to , the NLS equation becomes • The interval can be divided into N equal subintervals • The equation is then solved using the first-order, second-order, or fourth-order split-step Fourier methods[1].
Nonlinear Schrödinger (NLS) Equation (continued) • Using the first-order Fourier method, the solution may be advanced from time t to the next time-level t+Δt by the following steps: • Advance the solution using only the nonlinear part. through • Advance the solution according to the linear part: by means of computing
Nonlinear Schrödinger (NLS) Equation (continued) followed by and where Δt denotes the time step, is the discrete Fourier transform and is its inverse.
Nonlinear Schrödinger (NLS) Equation (continued) • Using the second-order Fourier method, the solution may be advanced from time t to the next time-level t+Δt by the following steps: • Advance the solution using only the nonlinear part. through • Advance the solution according to the linear part: by means of the discrete Fourier transforms
Nonlinear Schrödinger (NLS) Equation continued • Advance the solution using the nonlinear part through
Nonlinear Schrödinger (NLS) Equation (continued) • Using the fourth-order Fourier method, the solution may be advanced from time t to the next time-level t+Δt by the following steps: • Advance the solution using the second-order split-step Fourier method described with • Advance the solution in time from t+ ωΔt to t+(1-ω)Δt by the second-order split-step Fourier method. • Advance in time from t+(1-ω)Δt to t+Δt by the second-order split-step Fourier method
Parallel Algorithms for Solving the Nonlinear Schrödinger (NLS) Equation Steps to solve the NLS equation on a parallel system: • Let A, of size N, be the array that holds the approximate solution to u at time t. • The array A is distributed among P processors. Processor n, 0 ≤ n ≤ P − 1, contains array elements A[nN/P] to A[(n+1)N/(P−1)]. • Each of the P processor works on its own sub-arrays independently without communicating with others.
Parallel Algorithms for Solving the Nonlinear Schrödinger (NLS) Equation(continued) • The FFTW’s MPI library routines are used to implement the parallel discrete Fourier transforms to parallelize the computations of and .
NLSE with periodic dispersion • Consider the NLS equation of the form: • where D(t) represents dispersion, given by the following periodic function • and g(t) relates to effective nonlinearity, which is given by the periodic function
NLSE with periodic dispersion (continued) • In the numerical experiments in [4]: , , θ = 0.8, the map period the damping coefficient Γ = 4, and the amplifier spacing with periodic boundary condition: [−20, 20], and initial conditions of the form: t = 0, amplitude A = 1, velocity Ω = 2, initial position , and phase .
Modified Coupled Nonlinear Schrödinger (CNLS) Equation Consider this CNLS equation: where: U = , , , , , , , , g(z) = , M is an integer and is a uniform random variable in
Modified Coupled Nonlinear Schrödinger (CNLS) Equation (continued) The system in (1) can be written as a coupled system in the form:
Modified Coupled Nonlinear Schrödinger (CNLS) Equation (continued) Initial Conditions: , , parameters: n (solitons), , , (parameters for the dispersion map, with )
Modified Coupled Nonlinear Schrödinger (CNLS) Equation continued • As for values to use initially, take: d(z)=1 (constant dispersion), Gamma= 10, z_a= 0.1, z_p= 0.01, N=1, A=1, Omega=0, T=0, Phi=0. propagate up to z_max= 20.
Modified Coupled Nonlinear Schrödinger (CNLS) Equation continued • Ismail and Taha (to be submitted) developed the following Crank Nicholson method for solving the CNLS equation [6]: where
Modified Coupled Nonlinear Schrödinger (CNLS) Equation continued • with the Crank Nicolson scheme:
Modified Coupled Nonlinear Schrödinger (CNLS) Equation (continued)
Modified Coupled Nonlinear Schrödinger (CNLS) Equation (continued) • where
Modified Coupled Nonlinear Schrödinger (CNLS) Equation (continued) • They use the boundary conditions where s=0, 1 at the boundaries i.e. at (m=1,N). • By separating real and imaginary parts and assuming …
Modified Coupled Nonlinear Schrödinger (CNLS) Equation (continued) • … one can get the following system • where
gnuplot • gnuplot is an interactive data and function plotting utility. • Features: • Titling, labeling, and two and three-dimensional plotting capability. • Additional plotting tools and numerical features • A data file can serve as input. • Plotting capability through the use of command line. • Available free online.
gnuplot continued gnuplot demo http://www.gnuplot.info
Steps • Provide model equations to users through a web browser. • Allow user to select an equation and method. • Obtain input from the user for the selected method. • Execute the selected equation and method to obtain simulation results. • Return simulation results to the user in data and plot format.
4) Execute the selected equation to obtain simulation results.
5) Return simulation results to user in data and plot format.
Parallel Implementation For parallel algorithms, the same concept applies: • Provide model equation to users through a web browser. • Allow user to select the model equation and the parallel method. • Obtain input from the user for the selected method. • Execute the selected parallel method to obtain simulation results. • Return simulation results to the user in a readable data and plot format.
Equation Server Architecture continued Server(s) Machines where Equation Solver is installed Equation Solver HTML(s) Client(s) Web Browser equation input solver LAN/WAN Equation Solver executables GNUPLOT numerical method solver Equation Solver Result(s) equation result solver
Equation Server Configuration • Equation Server simplifies the complex task of configuring existing web servers by reducing all configurations into one simple configuration file. • The configure file specifies • which ports to run on • URL of Equation solvers • Time to remove results from the system • Available equations and input requirements
Requirements • C++ compiler with a socket library (socket.h). • gnuplot, the interactive data and function plotting utility. • Machine with system-call capability.
Demo • The Equation Server is currently running on three machines. Two of which, are high performance machines (machines with the capability to run parallel codes on multiple processors). • atlas (1 dedicated processor) • http://atlas.cs.uga.edu:7334 • taha (4 dedicated processors) • http://taha.cs.uga.edu:7334 • altix (8 dedicated processors) • http://altix.rcc.uga.edu:7101
Conclusion • Several Numerical Methods for solving nonlinear evolution equations were presented. These methods include: Finite Difference and Split Step Fourier Methods. • A web based interface Equation Server was presented, that gives researchers the ability to provide user access to model equations and methods. Users can simulate these equations to obtain simulation results through the Internet.
References [1] XU, X., Taha, T., 2003, Parallel Split-Step Fourier Methods for Nonlinear Schrodinger-Type Equations, Journal of Mathematical Modeling and Algorithms 2: 185-201, 2003. [2] Taha, T., 1994, Numerical simulations of the complex modified Korteweg-de Vries equation, Mathematics and Computers in Simulation, 37 (1994) 461-467. [3] Foster, R. N., 2007, Web Based Interface for Numerical Simulations of Nonlinear Evolution Equations, Thesis (MS). The University of Georgia. [4] Liu, R., 2001. Numerical and Parallel Algorithms for the CMKDV Equation, Thesis (MS). The University of Georgia. [5] gnuplot homepage, http://www.gnuplot.info [6] Taha, T. R. 2006, Parallel Numerical Methods for Solving Nonlinear Evolution Equations, Department of Computer Science.