Implementation Issues

Slides:



Advertisements
Similar presentations
Molecular Modeling of Crystal Structures molecules surfaces crystals.
Advertisements

16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Guide To UNIX Using Linux Third Edition
Russell Taylor Lecturer in Computing & Business Studies.
Guide To UNIX Using Linux Third Edition
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Introduction to programming in MATLAB MATLAB can be thought of as an super-powerful graphing calculator Remember the TI-83 from calculus? With many more.
A First Program Using C#
“High-performance computational GPU-stand for teaching undergraduate and graduate students the basics of quantum-mechanical calculations“ “Komsomolsk-on-Amur.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Computational Chemistry, WebMO, and Energy Calculations
Outcome 2 – Computer Software The Range of Software Available The Different Categories of Software System Software Programming Languages Applications Software.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Chapter Four UNIX File Processing. 2 Lesson A Extracting Information from Files.
Guide To UNIX Using Linux Fourth Edition
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
1.Solvation Models and 2. Combined QM / MM Methods See review article on Solvation by Cramer and Truhlar: Chem. Rev. 99, (1999)
QM/MM Modelling Lecture 2 Implementation Tutorial Practical QM/MM Calculations with the ChemShell Software.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
Chapter 4 – Threads (Pgs 153 – 174). Threads  A "Basic Unit of CPU Utilization"  A technique that assists in performing parallel computation by setting.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Multilevel Parallelism using Processor Groups Bruce Palmer Jarek Nieplocha, Manoj Kumar Krishnan, Vinod Tipparaju Pacific Northwest National Laboratory.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Chapter One An Introduction to Programming and Visual Basic.
Chapter 14 The User View of Operating Systems The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition,
Workshop Session. Workshop Preparation ChemShell overview Introduction to Tcl Script basics Modules overview ¤creating Input data objects ¤dl_poly ¤gamess.
Threaded Programming Lecture 2: Introduction to OpenMP.
Postgraduate Computing Lectures PAW 1 PAW: Physicist Analysis Workstation What is PAW? –A tool to display and manipulate data. Learning PAW –See ref. in.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Advanced methods of molecular dynamics 1.Monte Carlo methods 2.Free energy calculations 3.Ab initio molecular dynamics 4.Quantum molecular dynamics 5.Trajectory.
LECTURE 3 Translation. PROCESS MEMORY There are four general areas of memory in a process. The text area contains the instructions for the application.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Identify internal hardware devices (e. g
Introduction to Operating Systems Concepts
Computer Organisation
Lecture 3 Translation.
Topic 2: Hardware and Software
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
CST 1101 Problem Solving Using Computers
Chapter 10 Programming Fundamentals with JavaScript
Test 2 Review Outline.
CS427 Multicore Architecture and Parallel Computing
Topics Introduction Hardware and Software How Computers Store Data
SOFTWARE DESIGN AND ARCHITECTURE
Computer 4 JEOPARDY Bobbie, Sandy, Trudy.
Computer Engg, IIT(BHU)
Functions CIS 40 – Introduction to Programming in Python
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Chapter 10 Programming Fundamentals with JavaScript
Data, Databases, and DBMSs
Chapter 2: System Structures
Unit 20 Software Part 2.
Topics Introduction Hardware and Software How Computers Store Data
Loops CIS 40 – Introduction to Programming in Python
Chapter Four UNIX File Processing.
Unit 20 Software Part 2.
Software Design Lecture : 9.
Chapter One: An Introduction to Programming and Visual Basic
Software Development Process
Chapter 14 The User View of Operating Systems
Experiment No. (1) - an introduction to MATLAB
HPC User Forum: Back-End Compiler Technology Panel
Cohesion and Coupling.
Parallel computing in Computational chemistry
ENERGY 211 / CME 211 Lecture 29 December 3, 2008.
Presentation transcript:

Implementation Issues Lecture 2 Implementation Issues

ChemShell Extended Tcl Interpreter Scripting capability Interfaces to a range of QM and MM codes including GAMESS-UK DL_POLY MNDO97 TURBOMOLE CHARMM GULP Gaussian94 Implementation of QM/MM coupling schemes link atom placement, forces etc boundary charge corrections

ChemShell Architecture - Languages An extended Tcl interpeter, written in.. Tcl Control scripts Interfaces to 3rd party executables GUI construction (Tk and itcl) Extensions C Tcl command implementations Object management (fragment, matrix, field, graph) Tcl and C APIs I/O Open GL graphics Fortran77 QM and MM codes: GAMESS-UK, GULP, MNDO97, DL_POLY

ChemShell Architecture Core ChemShell Tcl interpreter, with code to support chemistry data: Optimiser and dynamics drivers QM/MM Coupling schemes Utilities Graphics GAMESS-UK (ab-initio, DFT) MNDO (semi-empirical) DL_POLY (MM) GULP (Shell model, defects) Features Single executable possible Parallel implementations External Modules CHARMM TURBOMOLE Gaussian94 MOPAC AMBER CADPAC Features Interfaces written in Tcl No changes to 3rd party codes

ChemShell basics ChemShell control files are Tcl Scripts Usually we use a .chm suffix ChemShell commands have some additional structure, usually they take the following form command arg1=value1 arg2=value2 Arguments can serve many functions mm_defs=dl_poly.ff Identify a data file to use coords=c Use object c as the source of the structure use_pairlist=yes Provide a Boolean flag (yes/no, 1/0,, on/off) list_option=full Provide a keyword setting theory=gamess Indicate which compute module to use Sometimes command arg1=value1 arg2=value2 data

ChemShell Object types fragment - molecular structure creation: c_create, load_pdb …. Universal!! zmatrix z_create, newopt, z_surface matrix creation: create_matrix, energy and gradient evaluators, dynamics field creation: cluster_potential etc, graphical display, charge fits GUI only 3dgraph

ChemShell Object Representations Between calculations, and sometimes between commands in a script, objects are stored as files. Usually there is no suffix, objects are distinguished internally by the block structure. % cat c block = fragment records = 0 block = title records = 1 phosphine block = coordinates records = 34 p 4.45165900000000e+00 0.00000000000000e+00 -8.17756491786826e-16 c 6.18573550000000e+00 -2.30082107458395e+00 1.93061811508830e+00 c 8.21288557680633e+00 -3.57856465464377e+00 9.30188790875432e-01 c 9.49481331797844e+00 -5.31433733714784e+00 2.37468849115612e+00 c 8.74959098234423e+00 -5.77236643959209e+00 4.81961751564967e+00 …….... Multi block objects are initiated by an empty block (e.g. fragment) Unrecognised blocks are silently ignored

Object Caching During a run objects can be cached in memory, the command to request this is the name of the object (similar to a declaration in a compiled language) # fragment c c_create coords=c { h 0 0 0 h 0 0 1 } list_molecule coords=c delete_object c # No file is created here Confusion of objects with files can lead to confusion!!

Object Input and Output If you access an object from a disk, ChemShell will always update the disk copy when it has finished (there is no easy way of telling if a command or procedure has changed it). Usually this is harmless (e.g. output formats are precise enough), but unrecognised data in the input will not be present in the output, take a copy if you need to keep it. E.g. if a GAMESS-UK punchfile contains a fragment object and a single data field (e.g. the potential) you can use it as both a fragment object and a field object % rungamess test % cp test.pun my_structure % cp test.pun my_field % chemsh …….

Energy Gradient Evaluators Many modules are designed to work with a variety of methods to compute the energy and gradient. The procedure relies on the interfaces to the codes being consistent, each comprises a set of callable functions e.g. initialisation energy, gradient kill update the particular set of functions being requested by a command option, usually theory= Example evaluators (depends on locally available codes) gamess, turbomole dl_poly, charmm mopac, mndo hybrid You can write your own in Tcl

Module options, using the : The : syntax is used to pass control options to sub-module. e.g. when running the optimiser, to set the options for the module computing the energy and gradient. {} can be used if there is more than one argument to pass on. Nested structures are possible using Tcl lists newopt function=zopt : { theory=gamess : { basis=sto3g } zmatrix=z } gamess arguments Command zopt arguments newopt arguments

5 High End Computing and Benchmarking Serial Applications Benchmarks GAMESS-UK, DL_POLY NWChem Global Array (GA) Tools Parallel Eigensolver (PeIGS) GAMESS-UK Parallel SCF, DFT, MP2 on MPP Systems (Cray T3E, IBM SP..) and commodity Beowulf systems CRYSTAL98 Periodic SCF DL_POLY MPP, Beowulf and ASCI performance CHARMM Myoglobin benchmark

QM/MM Thrombin Benchmark QM/MM calculation on thrombin pocket: QM region (69 Atoms) is modelled by SCF 6-31G calculation (401 GTOs), total system size for the classical calculation is 16,659 atoms. QM/MM interaction was cut off at 15 angstroms using a neutral group scheme (leading to the inclusion in the QM calculation of 1507 classical centres). Scaling for Thrombin + Inhibitor (NAPAP) + Water Number of Nodes