Framework for Developing Scientific
Applications: Solving 1D and 2D
Schrodinger Equation by using Discrete
Variable Representation Method

© All Rights Reserved

5 views

Framework for Developing Scientific
Applications: Solving 1D and 2D
Schrodinger Equation by using Discrete
Variable Representation Method

© All Rights Reserved

- Tabla de contenidos- El sistema de la moda de Roland Barthes
- GetTRDoc.pdf
- Ian Goodfellow, Yoshua Bengio, Aaron Courville-Deep Learning [pre-pub version]-MIT Press (2016).pdf
- FEA syllabus.docx
- Btech Eee Autonomous Syllabus
- Kamus Excel
- Dsp Matlab & Two Marks
- FORMULA.xls
- banksolan maths10
- Stable Open Loop Precision MaNIPULATION
- Kamus Excel
- NUMB3RS - Lista de Capítulos y Temas
- fisika komputasi matlab
- Teori-excel Lengkap Dan Familiar-complete
- Matematik Tingkatan 5 Kntrak
- rr320203-modelling-of-power-system-components
- Manual Reduce
- StataCheatSheet Programming
- Libro
- d22final.pdf

You are on page 1of 38

Developing

Scientific

Applications

Scientific

Applications and

Software

Engineering

Motivation and

Goals

Applications: Solving 1D and 2D

Schrodinger Equation by using Discrete

Variable Representation Method

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Bojana Koteska 1

1 Faculty

2 Faculty

Anastas Misev 1

Ljupco Pejov 2

of Natural Science and Mathematics, UKIM, Skopje

Outline

Framework for

Developing

Scientific

Applications

Scientific

Applications and

Software

Engineering

DVR

Summary

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Scientific Applications

Framework for

Developing

Scientific

Applications

Scientific

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Scientific application

Software application that simulates activities from the

real world and turns objects into mathematical models

Designed to perform numerical simulations of

natural phenomena in different scientific fields

Experiments with large amount of data, powerful

supercomputers, high performance computing and

Grid computing

Developed by the scientists themselves and used in

the scientific research group

Software engineering

Framework for

Developing

Scientific

Applications

Scientific

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Definition of SE

An application of a systematic, disciplined, quantifiable

approach to the development, operation and

maintenance of software, that is, the application of

engineering to software

Scientific Application

Development

Framework for

Developing

Scientific

Applications

Scientific

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

applications, especially in the stage of testing

Software can not be tested based on users

requirements

Results compared to the results obtained from the

real experiments or based on theory

Additional changes in terms of planning,

requirements elicitation, testing and development

approaches

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Motivation

Survey among scientists - participants in the High

Performance - South East Europe (HP-SEE) project

Goals

Change the current development practices

Development framework provides basis for a

complete scientific software development process

Set of rules, recommendations and software

engineering development practices

Application for solving 1D and 2D Schrodinger

equations by using the DVR

Scientists development

practices

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

scientists

Process of software development is only the process

of coding

Get only scientifically correct results

Not interested in additional optimizations or

parallizations

If a hypothesis is proven once, there is no

need for reprogramming that section

Scientists development

practices

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

and practices

No requirements or any kind of documents

Requirements should only be discussed, but not

written

Give importance to the quality of the algorithm

rather than its realization

Test the implemented theory, not the algorithm

implementation

Test manually, do not use any testing tools

Scientific Applications

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Changes in the process of evaluation, in test-driven

design and short reports after each iteration

Fast delivery of increments and their evaluation

8 phases in each increment: planning,

requirements definition, system design, test

cases design, coding, testing, evaluation,

writing short report

Scientific application

development process

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Planning

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

activities that should be performed in the next

iteration

What parts (modules) have to be coded in that

iteration

How they will be tested and evaluated

Tasks should be assigned appropriately

Requirements Specification

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Evidence of completed and future activities

Functional requirements and nonfunctional

requirements

Fields:

Id

Name

Requirement type

Version

Description

History of changes

System Design

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Establish a system architecture

Examples: multicore processor, Grid,

high-performance computing, libraries that provide

parallel execution

Specification of compilers, integrated development

environments (IDEs), platforms and operating

systems

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Using standardized forms

Boundary values, source code analysis

Code and branches coverage techniques

Fields:

Id

Name

Requirement Id

Goal

Preconditions

Execution environment

Expected results

Actual results

Test case status (pass or fail)

History of changes

Coding

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Avoid declaration and definition of unused variables

Release memory

Write comments

Optimizations and parallelization by using some

libraries (for example, OpenMPI, if the code is

written in C).

Testing

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

source code

Non redundant test cases

Criteria that testing process is completed: all tests

are performed successfully without errors, the

criteria for source code coverage and test models are

satisfied and validation by analytic solutions is

achieved

Tests automation and tools

Frameworks for creating and running tests (C code:

Check, CUnit, AceUnit, CuTest, etc.)

Integration testing

Evaluation

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Accuracy of results is based on theory and

experiments

Developing experience and learning techniques for

guessing or past errors can help

Found errors should be sorted by priority

Critical errors should be marked as errors with

higher priority

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

current iteration

Important when a new member joins the team

Can help to further improving and upgrading the

application

Scientific Problem

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

localized about discrete values of the variables

DVRs provide efficient numerical solutions to

quantum dynamical problems

Schrodinger equation - partial differential equation

that describes the dynamics of system at atomic and

molecular level

Scientific Problem

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

H =E

(1)

function of the quantum system and E is the energy of

the state

Time dependent Schrodinger equation

=H

(2)

t

where H is the Hamiltionian operator, is the wave

function of the quantum system, ~ is the Planck

is a partial derivative with

respect to time t

i ~

Increment 1 - Planning

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

solving 1D and 2D Schrodinger equation

define developing environment, software and

hardware

split the algorithm in modules

define inputs and outputs for each module

create tests for modules by choosing any tool for

test automation

develop all submodules needed for the module for

solving 1D and 2D Schrodinger equation

perform tests and evaluate the results

correct errors if any

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Functional requirements:

Module for multiplication of two 2D arrays

Module for making a diagonal 2D array

Module for multiplication of a scalar and a 2D array

Module for making an identity 2D array

Module for addition of two 2D arrays

Module for making a transposed 2D array

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Functional requirements:

Structure for a file row which contains three double

numbers.

Structure for a file which contains array of elements

of type structure for a file row and number of

rows of the file (integer).

Module for reading data from file

Module for sorting rows in file

Module for calculating eigenvalues

Module thcheby for calculating array of x-values,

y-values(2D), transformation matrices for x and y

values in finite basis representation (FBR)

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Nonfunctional requirements:

Algorithm for array sorting should have complexity

smaller then O(n2 ).

Application should be scalable (for example, when

input data size increases, dynamic memory

allocation must be used).

Memory used by the objects should be released

when they are not used anymore.

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

C compiler

Code editor

Any operating system

Results provided to the standard output

CuTest framework for testing

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

deltax is the difference between the

maximum(xmax) and minumum value of x(xmin);

deltay is the difference between the

maximum(ymax) and minumum value of y(ymin);

nx1 is the number of x points increased by 1;

nxy is the number of y points increased by 1;

The i-th member of the array of x values (ptsx) has

the value ((i + 1) deltax 1.0)/nx1 + xmin

The i-th member of the array of y values (ptsy) has

the value ((i + 1) deltay 1.0)/ny 1 + ymin

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

The i-th member of the array of x values in FBR

(fbrtx) has the value (((i + 1) )/deltax)2 ;

The i-th member of the array of y values in FBR

(fbrty) has the value (((i + 1) )/deltay )2 ;

The element at the position (i, j) of the

transformation matrix for x values (Tx) has the

following

value

p

2.0/nx1 sin((i + 1) (j + 1) /nx1)

The element at the position (i, j) of the

transformation matrix for y values (Ty) has the

following

value

p

2.0/ny 1 sin((i + 1) (j + 1) /ny 1)

Increment 1 Coding

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Coding performed after the specification of the test

cases

Arrays defined by using pointers

Memory released always when possible

Calculation of eigenvalues performed by using the

GSL library

Sorting implemented by using the quick sort method

Comments for describing the modules, variables,

cycles and statements

Concise naming of the variables and methods

Increment 1 Testing

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

CuTest system

Code assertions

function for testing the members of the array of x

values in FBR

Increment 1 Evaluation

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

results from the provided code in Mathematica by

the Upssala University

Test the convergence of the results with increasing

the density of grid points

Several errors in the modules were found and they

were corrected

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

were written and tested

Errors were corrected and all tests passed

successfully

All nonfunctional requirements were taken into

consideration

Increment 2 - Planning

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Integrate all modules into one module for solving 1D

and 2D Schrodinger equation

Create tests for the module for solving 1D and 2D

Schrodinger equation

Perform tests and evaluate the results

Correct errors, if any

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Functional Requirements:

Module for making the interpolation function (PES)

and energy list (pel)

Module for calculating 1D and 2D Schrodinger

equation

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

The conditions included in the test case for the first

module in this increment are for interpolation

function

The second test case only checks the output results

Important thing here is the proper modules

integration

Increment 2 Coding

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

equation was developed

This module is appropriate for solving 1D

Schrodinger equation by eliminating the calculations

which include the second coordinate y

The most convincing part here was programming of

the interpolation method

Evaluation and Short Report

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

Results were compared to the results from the

program in Mathematica

An algorithm for Hermite interpolation was

programmed

Summary

Framework for

Developing

Scientific

Applications

Applications and

Software

Engineering

Motivation and

Goals

Scientists

development

practices

Framework for

Developing

Scientific

Applications

Solving 1D and

2D Schor

odinger

Equations by

using DVR

Summary

phases of the development process

Application for calculating 1D and 2D Schrodinger

equation

Understandable code organized in modules,

documentation and generated tests

Test the framework on large scientific applications

Check if this development process can be applied to

different scientific applications

- Tabla de contenidos- El sistema de la moda de Roland BarthesUploaded bylisistrata64
- GetTRDoc.pdfUploaded byletter_ashish4444
- Ian Goodfellow, Yoshua Bengio, Aaron Courville-Deep Learning [pre-pub version]-MIT Press (2016).pdfUploaded byDH
- FEA syllabus.docxUploaded byAnonymous ijfGhT3
- Btech Eee Autonomous SyllabusUploaded bynalluri_08
- Kamus ExcelUploaded byHusen Hidayatullah
- Dsp Matlab & Two MarksUploaded bySATYA MOORTHY
- FORMULA.xlsUploaded byIgp Yoga
- banksolan maths10Uploaded byAbd Laziz Ghani
- Stable Open Loop Precision MaNIPULATIONUploaded byMartin Lothar
- Kamus ExcelUploaded bySuga Ahmadi
- NUMB3RS - Lista de Capítulos y TemasUploaded byRafael González Diez
- fisika komputasi matlabUploaded byRizki Kurniawan Hadi
- Teori-excel Lengkap Dan Familiar-completeUploaded byCalvinders
- Matematik Tingkatan 5 KntrakUploaded bymusyimusyim
- rr320203-modelling-of-power-system-componentsUploaded bySRINIVASA RAO GANTA
- Manual ReduceUploaded byNadie_penso_en_esto
- StataCheatSheet ProgrammingUploaded bypembazak
- LibroUploaded byRaymundo Cordero
- d22final.pdfUploaded byBadea Tudor
- massey.pdfUploaded bymacstone
- 2 SpringsUploaded byMuhammad Fadlan
- LabSyllabusUploaded byJagadeesh T Jagadeesh
- Improve Speed in R LoopsUploaded byReka Mani
- Practice _ GeeksforGeeks _ a Computer Science Portal for Geeks MATRIXUploaded byKaja Dhhsjs
- MATLABUploaded byViraat Sewraj
- MTH501Spring2010MidTerm_LinearAlgebraUploaded byDanyal Alliy
- 2Uploaded byammarkind
- LecturesUploaded byPrajwal Prakash
- Document MatrixUploaded byshaunak_sr

- VOIP Access AndroidUploaded byHasan
- Solaris 10_ Zone Creation for Dummies (Giri Mandalika's Repository)Uploaded bywarin5451
- Nisamudeen ResumeUploaded bynisamudeen97
- Pig Programming | Create Your First Apache Pig Script | Edureka.pdfUploaded byratneshkumarg
- Yum ServerUploaded byprabsss
- ZE550ML_ZE551ML_xFSTK_SOP.pdfUploaded byAsep Rakhmat Acun
- Simple Beam ManualUploaded bykahgeap
- Resume NewUploaded byAnonymous r3Bk8VmA5z
- PGA1_1106_enUploaded byGuru Kiran
- Algorithmic Trading with MATLABUploaded byUmbyis
- Docker ComposeUploaded bymeh3re
- Rescue CD User GuideUploaded byJacques Giard
- Resume - Brigitte EubankUploaded bybrigitte_eubank5154
- solaris handon lab storage managerUploaded byOswaldo Valiente
- eventos y subrutinas en csharp netUploaded bysussanitta
- Use Case .docxUploaded byNextor
- ENCh02Uploaded bySushma Reddy V
- Resume - Jonathan Bates - Creative Director + User Experience [UX] Architect + Web DeveloperUploaded byJonathan Bates
- OSS Note 1161265_fix_reportUploaded byRaja Sreevats
- SLOODLE BrochureUploaded bySLOODLE
- Exam2 Advanced PLSQL ProgrammingUploaded bymeachamrob
- Mastering Vmware ErrataUploaded byali_sbs
- How to Retrieve Data From a SQLite Database in Android _ Anu's Crazy WorldUploaded byYoussef Addi
- Vico Office Suite ViewUploaded bypedromiguel
- ADP Conversion _ Non Disruptive Procedure-1Uploaded byDuncan Cummings
- Data Grid ViewUploaded byapi-3844703
- Oats Getting Started GuideUploaded byMadhurima Chatterjee
- Energy Plus Getting StartedUploaded byAnderson Fabricio
- JCL Refresher : )Uploaded byflyfort
- Curricullum Vitea EditUploaded byHuda AbdulKader