Algorithms

3D visualization and OpenGL
The program modules for 3D visualization of reconstructed molecules have been developed with the most widely adopted graphics standard OpenGL . OpenGL is a powerful environment for developing portable, interactive 2D and 3D graphics applications. OpenGL routines simplify the development of graphics software -- from rendering a simple geometric point, line, or filled polygon to the creation of the most complex lighted and texture-mapped NURBS (non-uniform rational B-spline) curved surface. The application routines control geometric and image primitives, display lists, modeling transformations, lighting and texturing, anti-aliasing, blending, and possess many other features. The routines also support the OpenGL Utility (GLU) library that contains several groups of functions such as drawing spheres, cylinders, nonconvex polygons, 2D and 3D curves, and surfaces. OpenGL has a number of developer-driven advantages. With broad industry support, it is the truly open, vendor-neutral, well-documented graphics standard. OpenGL is stable and reliable: its implementations have been available for more than seven years on a wide variety of platforms. All OpenGL applications produce consistent visual results regardless of the hardware and operating systems and can run on any class of machines that the developer chooses. Additions to the specification are well controlled, and proposed updates are announced in time for developers to adopt the changes. Because of its thorough design, OpenGL allows new hardware innovations to be accessible through the application programming interface (API) via the OpenGL extension mechanism. And finally, OpenGL is easy to use. It is well structured with an intuitive design and logical commands. Efficient OpenGL routines typically result in applications with fewer lines of code than those that make up programs generated using other graphics libraries or packages. In addition, OpenGL drivers encapsulate information about the underlying hardware, freeing the application developer from having to design for specific hardware features.

Network support
Quantum chemical calculations demand much time as well as much computer memory; therefore, they are carried out on powerful workstations; in most cases the output files are processed on personal computers. Therefore the remote access function is necessary in the visualizing program which allows one to open output files on a remote computer, read the files, and transfer the files to a local PC as well as send input files to begin new calculations. This function can be applied to computers connected by the Internet by using one of the Internet protocols such as File Transfer Protocol (FTP) or Hypertext Transfer Protocol (HTTP). Both protocols are used to transfer files on the Internet, but HTTP was designed as the basis of World Wide Web and is usually used to fetch Web pages. FTP was designed to move large files from one computer to another and to handle the translation problems that invariably occur when different types of computers and operating systems try to communicate. Most Internet servers have an FTP area that allows for the confidential use of this protocol. And finally, FTP allows one to read parts of files as well as whole files. In this manner, in NVSCC the Remote Access Module is implemented as an FTP client module in which files on remote computers are opened, processed, and if necessary transferred to a local PC. It also works with files in real-time mode and writes data from the last step of optimization from uncompleted output files as well as from final stages of completed files. This module provides separate buttons for access to each remote computer and possesses a property, which allows users to add buttons for new computers during run-time and to save its settings. It also allows users to have fast access directly into the working subdirectory.

| Home |
 
2000-2003 © CCMSI