ABINIT INPUT MAKER By Simon Pesant and BenjaminTardif 29/01/2007.

Slides:



Advertisements
Similar presentations
Price List Utilities.
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Getting Input in Python Assumes assignment statement, typecasts.
Initial set-up and use of OAS for Administrators/Coordinators.
Chapter 7 Introduction to Procedures. So far, all programs written in such way that all subtasks are integrated in one single large program. There is.
HELP GUIDE NEW USER REGISTRATION (SLIDE 2) TAKING A QUIZ (SLIDE 8) REVIEWING A QUIZ (SLIDE 17) GROUP MEMBERSHIP (SLIDE 26) CREATING QUIZZES (SLIDE 31)
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
Program design example Task: Develop an algorithm expressed in pseudocode for a specified problem specified problem.
An ide for teaching and learning prolog
Documentation 1. User Documentation 2. Technical Documentation 3. Program Documentation.
COMPREHENSIVE Excel Tutorial 8 Developing an Excel Application.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Software development. Chapter 5 – Data management.
CIS 375 Final Presentation Doug Code § Brad Lloyd § Michelle Zukowski.
Presented by Brian Griffin On behalf of Manu Goel Mohit Goel Nov 12 th, 2014 Building a dynamic GUI, configurable at runtime by backend tool.
1 ADVANCED MICROSOFT WORD Lesson 15 – Creating Forms and Working with Web Documents Microsoft Office 2003: Advanced.
JavaScript Form Validation
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Verify your data entry You could use data types and field properties for adding any validation on your date: EX: Data type: number : allow the user to.
WEEK 3 AND 4 USING CLIENT-SIDE SCRIPTS TO ENHANCE WEB APPLICATIONS.
PMS /134/182 HEX 0886B6 PMS /39/80 HEX 5E2750 PMS /168/180 HEX 00A8B4 PMS /190/40 HEX 66CC33 By Adrian Gardener Date 9 July 2012.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Programming Project (Last updated: August 31 st /2010) Updates: - All details of project given - Deadline: Part I: September 29 TH 2010 (in class) Part.
Mastering Char to ASCII AND DOING MORE RELATED STRING MANIPULATION Why VB.Net ?  The Language resembles Pseudocode - good for teaching and learning fundamentals.
Chapter 8: Writing Graphical User Interfaces Visual Basic.NET Programming: From Problem Analysis to Program Design.
EZYFLO. Aim of EZYFLO To draw simple flowcharts To reduce the memory size of the flowchart To create a software which runs in DOS environment also.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic 2005, Third Edition.
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
Test Creation in QuickTest Professional Using Keyword Driven Methodology A Storehouse of Vast Knowledge on Software Testing.
Functions CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Programming with Microsoft Visual Basic th Edition
Sequencing The most simple type of program uses sequencing, a set of instructions carried out one after another. Start End Display “Computer” Display “Science”
1 AQA ICT AS Level © Nelson Thornes 2008 Good quality data and information Data terms.
2016 N5 Prelim Revision. HTML Absolute/Relative addressing in HTML.
Tutorial 6 Working with Web Forms. 2New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition Objectives Explore how Web forms interact with.
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Student Grades Application Introducing Two-Dimensional Arrays and RadioButton.
Calculator Program Explained by Arafa Hamed. First Designing The Interface Ask yourself how many places are there that will be used to input numbers?
Functions CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
1 Project 5: Leap Years. 222 Leap Years Write a program that reads an integer value from the user representing a year and determines if the year is a.
STAR Scheduler Gabriele Carcassi STAR Collaboration.
Microsoft® Small Basic Conditions and Loops Estimated time to complete this lesson: 2 hours.
Python: Building Geoprocessing Tools David Wynne, Ghislain Prince.
Graphics Lab: MyPaint Dan Maselko 1. MyPaint Description  For this assignment you will be implementing a very simple paint program.  You should be able.
C++ Programming: CS102 LOOP. Not everything that can be counted counts, and not every thing that counts can be counted. −Albert Einstein Who can control.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 10 Using Menus and Validating Input.
Buy A&M Requisitions Training TARLETON STATE UNIVERSITY.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
Section 10.1 Define scripting
Excel Tutorial 8 Developing an Excel Application
var variableName:datatype;
Chapter 8: Writing Graphical User Interfaces
DDC 1023 – Programming Technique
Data Validation and Protecting Workbook
Variables, Expressions, and IO
Python I/O.
Use proper case (ie Caps for the beginnings of words)
Escape sequences: Practice using the escape sequences on the code below to see what happens. Try this next code to help you understand the last two sequences.
COMPUTER PROGRAMMING PYTHON
Loops CIS 40 – Introduction to Programming in Python
Coding Concepts (Basics)
For -G7 programing language Teacher / Shamsa Hassan Alhassouni.
Introduction to C Programming
User Input Keyboard input.
Developing a Program.
Consuming Web Services with 2E Generated Objects
Getting Started With Coding
Presentation transcript:

ABINIT INPUT MAKER By Simon Pesant and BenjaminTardif 29/01/2007

Summary  A brief presentation of the program and his advantage  The implementation of Abinit Input Maker  The XML file format  The validation of the values  Addition of another section in Abinit Input Maker  Conclusion

The Program Abinit Input Maker is a graphical interface that produces input files for Abinit. It helps to structure the different variables in the input file It facilitates the creation of the Abinit input file (especially for beginner) It reduces the possibility of errors in the input files (variable name and values)

The way it works was designed to be : Easy to be updated with new variables Versatile, because it can be used with other codes Technical Advantages

Implementation The program is coded in Python which is platform independent.  It has a parser that reads XML files. The XML files contain the information about the different variables in Abinit (or other codes)  After, Abinit Input Maker creates a graphical interface which follows the structure given by the XML files.  When all the values of the variables have been given, you can directly create the input file for Abinit.

The XML Files The XML parser of Abinit Input Maker recognizes 7 keywords : SECTION : Indicate the beginning of a new section KEYBOARDENTRY : Get variable value from the keyboard (string, int, float,...) CHOICE : The user must choose between different options DECISION : The result of a CHOICE keyword MOUSEENTRY : Click on the value with the mouse OPTION : The options of a MOUSEENTRY DIRECTENTRY : Define the value of a variable without asking the users, based on the answer given previously

The XML file (continued) For each keywords, several variables can be defined : SECTION : -sectiontitle (name of the section) CHOICE : -Instruction (A short question that will be ask in the graphical interface) DECISION : -description (A description of the answer) related to a CHOICE MOUSEENTRY : -instruction (A short question that will be ask in the graphical interface) DIRECTENTRY : -variablevalue (The value of an Abinit variable) -variablename (The name of an Abinit variable) OPTION : -variablevalue (The value of an Abinit variable) -variablename (The name of an Abinit variable) -description (A description of the answer) related to a MOUSEENTRY

The XML file (continued) KEYBOARDENTRY : -instruction -variablename -textlen (The number of line of the textbox) -typvariable (The type of a variable. It can be int, float, array or str.) -lenthgarray (The length of the array. Only for typvariable = array) -maxval (The maximum value of a variable)

An example of XML file

Get Value You can use, in your XML file, a value that will be specified during the creation of the input file to define an XML variable. i.e. : define the dimension of typat by the value of natom To assign to variable the value of another variable use : getvalue nameofvariable

Abinit Input Maker Instruction CHOICE DECISION KEYBOARDENTRY Preview of the input file MOUSEENTRY OPTION

Validation of the values Only for a KEYBOARDENTRY Abinit Input Maker has a validation process for each variable entered with the keyboard. It checks the type of variable defined in the XML (using typvariable) It verifies the shape of the value (arrays) (using the lengtharray) For certain Abinit variables, a maximum value must be defined (ex :typat) (using maxval) If a wrong value is given to Abinit Input Maker, the program will wait for another value and momentarily stop parsing the XML file.

Adding a new section 1.Build your XML file (begin by the SECTION keyword) 2.Run xmlTagger.py on your file, to add the tag numbers on each code lines. The tag number is an internal variable. The program xmltagger.py add the tag number for each line of a XML file. 3.Update the list of XML files to parse with Abinit Input Maker in the file Section.xml. You can also put conditions before accessing to your section.

Conclusion Abinit Input Maker can be easily updated to take into account the new implementation. It can also be use with other codes. By it validation process and the way it build an input files, many error can be avoided.