• Tidak ada hasil yang ditemukan

A Proposed Physics Curriculum for Universities of Odisha based on Computational Approach

N/A
N/A
Protected

Academic year: 2024

Membagikan "A Proposed Physics Curriculum for Universities of Odisha based on Computational Approach"

Copied!
4
0
0

Teks penuh

(1)

International Journal of Recent Advances in Engineering & Technology (IJRAET)

________________________________________________________________________________________________

________________________________________________________________________________________________

ISSN (Online): 2347 - 2812, Volume-2, Issue -9,10 2014 35

A Proposed Physics Curriculum for Universities of Odisha based on Computational Approach

AshantaRanjan Routray Fakir Mohan University, Balasore, Odisha

Email: [email protected]

Abstract. This paper discusses the overview of recent computational tools, programming languages and environments for interactive computing to reach a deeper understanding of physics and the mathematics underlying the theory. Also we propose to reorganize our courses at our University level so that these connections are obvious and it is clear that physics remains the central discipline of the sciences.

Keywords. Algorithm, Simulation, Programming, Visualization

I. INTRODUCTION

Everyone seems to agree that computational physics is important in understanding physics concepts and understanding the output of computations. Computation is now so integral to physics research that there are numerous papers and books combining computation with advanced or specialized topics. Increasingly, computational physics stands alongside experiment and theory as an integral part of the modern approach to solve the great scientific challenges from cosmology and astrophysics, through climate science, to materials physics, condensed matter theory and ballistics and others. Almost all analytical theories require the help of a computer to complete the calculations. For example, many theoretical problems require numerical calculations such as the evaluation of an integral, obtaining the roots of an equation, and matrix manipulations. In some cases, such as diagrammatic calculations, symbolic manipulation programs are essential for keeping track of the different classes of diagrams.

On the experimental side, computers are essential for the control of experiments and the collection and analysis of data, modeling and simulation. Simulations of nonlinear dynamical systems can provide more insight and physical understanding than complicated analytical approximation schemes, and many of the series solutions in electromagnetism could be replaced by learning numerical techniques for boundary value problems. In fact, although it appears that most physics classes now incorporate computation in some way, we

would not call them computational physics classes if their use of computation is just to improve physics education. However, we would if they incorporate and analyze modern computational techniques as used in research to solve problems. Mathematical modeling should be used primarily in teaching for providing the formal structure of the theory.

The primary problem solving tools should involve computer simulations and numerical analysis. These tools would be used in conjunction with qualitative physical reasoning, mathematical analysis in the context of illustrative problems, and the availability of more experimental data. This approach more closely approximates what is done in research, and thus provides a natural model for education [1].

II. COMPUTATIONAL PHYSICS AND SIMULATION

Computational physics is a multidisciplinary field of study that requires students to master physics along with computer science and applied mathematics. Teaching such a course creates new scholarly materials that fuse chucks of knowledge together as shown in Fig. 1(a). A computational physics course thus acts as a bridge connecting the disciplines and permits students to learn all three disciplines simultaneously in the process of solving concrete problems [2].

The electiveness and power of computation in so many fields has led some people to add simulation to experiment and to theory as key avenues followed in searching for scientific truth as shown in Fig. 1(b).

What is the best high-level language to use for physics simulation? This, unfortunately, is a highly contentious question. Over the years, literally hundreds of high-level languages have been developed. However, few have stood at the test of time.

(2)

International Journal of Recent Advances in Engineering & Technology (IJRAET)

________________________________________________________________________________________________

________________________________________________________________________________________________

ISSN (Online): 2347 - 2812, Volume-2, Issue -9,10 2014 36

Fig. 1. (a) Computational Physics as both the union of physics with computer science and applied mathematics,

and as a bridge connecting the three traditional disciplines. (b) The addition of simulation as a path

toward scientific truth.

III. VISUALIZATION TOOLS

Visualization is important in understanding physics concepts and understanding the output of computations.

Gnu plot is a classic. It is a free, nearly universal, command-line driven, interactive data and function plotting utility. Although Grace produces higher, publication-quality 2-D figures by default, Gnuplot is powerful and flexible, and the standard for 3-D (surface) plots. Maple and Mathematica contain outstanding visualization tools for mathematical functions with analytic forms, but we do not find them as convenient as the tools for visualizing large, numerical data sets [3].

NCAR Graphics, an open source time-tested UNIX package of Fortran and C utilities for drawing contours, maps, vectors, streamlines, weather maps, surfaces, histograms, and X-Y plots. Open DX, is open source, Linux/Unix software package and based on IBM's Data Explorer which provides industrial-strength visualization.

IV. PROGRAMMING LANGUAGES AND ENVIRONMENTS

Programming languages show best how an algorithm is implemented and what level of precision is being demanded [4], while being in a form that encourages exploration; all items of importance in a computational physics course. Some of the popular programming languages for computational physics are discussed below.

4.1 FORTRAN 77

FORTRAN was the first high-level programming language to be developed: in fact, it predates the languages listed below by decades. Before the advent of FORTRAN, all programming was done in assembler code. Moreover, FORTRAN was specifically designed for scientific computing. Indeed, in the early days of computers all computing was scientific in nature i.e., physicists and mathematicians were the original computer scientists. FORTRAN's main advantages are that it is very straightforward, and it interfaces well with most commonly available, pre-written subroutine libraries (since these libraries generally consist of compiled FORTRAN code). FORTRAN's main disadvantages are all associated with its relative antiquity.

4.2 FORTRAN 90/95

This language is a major extension to FORTRAN 77 which does away with many of the latter language's objectionable features. In addition, many ``modern'' features, such as dynamic memory allocation, are included in the language for the first time [5]. The major disadvantage of this language is the absence of an inexpensive compiler. There seems little prospect of this situation changing in the near future.

4.3 C Language

This language was originally developed by computer scientists to write operating systems. Indeed, all UNIX operating systems are written in C. C is, consequently, an extremely flexible and powerful language. Amongst its major advantages are its good control statements and excellent input/output facilities. C's main disadvantage is that, since it was not specifically written to be a scientific language, some important scientific features (e.g., complex arithmetic) are missing. Although C is a high-level language, it incorporates many comparatively low-level features, such as pointers. The low-level features of C in particular, the rather primitive implementation of arrays, sometimes make scientific programming more complicated than need be the case, and undoubtedly facilitate programming errors [6]. On the other hand, these features allow scientific programmers to write extremely efficient code. Since efficiency is generally the most important concern in scientific computing, the low-level features of C are, on balance, advantageous.

4.4 Object Oriented C++

This language is a major extension of C whose main aim is to facilitate object-orientated programming. Object- orientation is a completely different approach to programming than the more traditional procedural approach: it is particularly well suited to large projects involving many people who are each writing different segments of the same code. However, object-orientation represents a large, and somewhat unnecessary, overhead for the type of straightforward, single person programming tasks .Note, however, that C++

(3)

International Journal of Recent Advances in Engineering & Technology (IJRAET)

________________________________________________________________________________________________

________________________________________________________________________________________________

ISSN (Online): 2347 - 2812, Volume-2, Issue -9,10 2014 37

incorporates some non-object-orientated extensions to C which are extremely useful.

4.5 MATLAB

Another group of high-level languages that are some- times also called problem-solving environments include Matlab its free cousin GNU Octave, and Mathcad. These are essentially command line interfaces for running numerical calculations that employ build-in libraries for linear algebra, mathematical methods, visualization, signal processing, and such. These environments are powerful and work well, but do separate the user more from the algorithms than compiled languages

MATLAB is a very high-level powerful system designed for scientific computing. It integrates in the same software environment computation, plotting, and programming. It also has a very easy mathematical notation. MATLAB is more powerful than traditional programming language such as FORTRAN, C, C++, to name a few. Besides MATLAB, the Math Works has developed a series of software packages, called toolboxes, written in the MATLAB programming language. These toolboxes can perform a number of calculations in physics and related disciplines.

4.6 JAVA for Physics

Java is an object-oriented programming language with a built-in application programming interface (API) that can handle graphics and user interfaces. Because of its rich set of API’s, similar to Macintosh and Windows, and its platform independence, Java can also be thought of as a platform in itself. Java also has standard libraries for doing mathematics.

Java's attention to precision, useful error messages, and object orientation make it good for scientific computing, while its universality, free compilers, and use in the commercial sector, make it popular with students.

However, it is not as efficient or as well supported for high-performance computing (HPC) and parallel processing as is Fortran and C, the latter two having highly-developed compilers and many more scientific subroutine libraries available.

4.7 Python

Python is free, user friendly, good for beginning programming and has a nice 3-D graphics library.

Python is a programming language which is increasingly being used for computation in physics. Python is easy to learn. Python is a modern, interpreted, object-oriented language. Python programs are simple, clean, and easily readable. Python has a wide range of support packages (or program libraries) useful for numerical computation.

Python is a language designed for developers, not for physics students creating computational models.

Python’s error messages weren’t designed to be understood for that audience, they are about explaining the errors in terms of computational ideas, not in terms of modeling ideas.

V. PROPOSED CURRICULUM FOR COMPUTATIONAL PHYSICS COURSE

5.1 At honours level

This paper proposes the idea of incorporating computational physics into our honours curriculum and the special advantages of a separate course that emphasizes computer simulations. Overview of computer organization, hardware, software, scientific programming in FORTRAN and/or C, should be included in first year.

Because most physics programs require the use of conditionals, loops, arrays, input and output routines, and functions, these topics are covered in depth using C/FORTRAN 90/95 programming language. Other aspects of programming such as pointers, linked lists, bit manipulation, and recursion usually receive less attention. In addition, this focuses on visualization and animation more and more as a way of understanding the behavior of a system using MATLAB in second year.

This curriculum divides up the course into two themes.

We first discuss those problems that can be solved using deterministic algorithms. For example, these might involve the numerical solution of differential equations using C/FORTRAN 90/95 and to simulate the classical motion of particles using MATLAB programming language/GNU plot. They are supposed to do more laboratory sessions because implementing algorithms are the heart of the course and students are actively working on the material. Finally, at final year they are supposed to complete a project. In each project, students:

1. start from a specific self-contained physics problem

2. design a computer simulation 3. write and debug computer code

4. run the simulation and collect numerical data 5. analyze and visualize these data

6. write a project report on their solution of the physics problem

7. finally a ppt presentation of the work will develop their confidence

Some of the project ideas for honours student are Radioactive decay, Chaotic dynamics of a damped driven pendulum, Eigen states of a particle in a quantum well, Geometric structure of multi-charge clusters, Quasiperiodic systems and quasicrystals, Molecular dynamics of a Lennard-Jones gas, Monte-Carlo simulation of the Ising model etc.

5.2 At Post Graduate Level

We can repeat our old simulations at postgraduate level with higher resolution and higher accuracy by comparing many algorithms or numerical techniques.

Since many subroutines or functions are readily

(4)

International Journal of Recent Advances in Engineering & Technology (IJRAET)

________________________________________________________________________________________________

________________________________________________________________________________________________

ISSN (Online): 2347 - 2812, Volume-2, Issue -9,10 2014 38

available for use, we may not implement them which will add complexity of solving a problem. For example we may use directly Ordinary Differential Equation (ODE) solver of MATLAB, not by implementing again.

Also we can make them familiar how to use toolboxes like mathematics, data analysis, graphics, 3-D visualization, curve fitting, filter design, control systems, communication toolboxes of MATLAB and simMechanics, aerospace blockset etc for their special papers. At this level students should familiar with how they are implemented and how to use them if they are available in that environment.

In first year, there will be substantial lab work using C or FORTRAN and MATLAB. Numerical techniques like Sorting, interpolation, extrapolation, regression, numerical integration, quadrature, random number generation, linear algebra and matrix manipulations, inversion, diagonalization, eigenvectors and eigenvalues, integration of initial-value problems, Euler, Runge-Kutta, and Verlet schemes, root searching, optimization, fast Fourier transforms should be implemented.

In second year, students are expected to perform simulation for quantum-mechanical problems, time- dependent Schrödinger equation, selected problems in percolation, cellular automata, nonlinear dynamics, traffic problems, diffusion-limited aggregation, celestial mechanics, etc using MATLAB/FORTRAN 90/95 with GNU plot.

5.3 At Pre-Ph.D. Course

Exploring the fundamentals of electromagnetism, quantum and classical mechanics, statistical physics, thermodynamics, ballistics and the properties of matter, Pre-PhD course work requires good numerical and computing skills. Pre-Ph.D. computational course should be a specialized one relevant to a particular area of research. For example if the study is to analyze the microscopic properties of liquids and solids by computer simulation, the simulation should allow us a deeper understanding of the basis of the properties of matter at atomic level and this can lead to simulate initial set up for research related to Ph.D. work.

VI. TRAININGS/RESOURCE PERSONS

This aspect of availability of more trained personnel or resource persons has its importance before introducing the proposed curriculum for computational science in physics course. For this University should come forward in imparting training to teachers at graduation as well as post graduation level through different schemes of UGC

like refresher course, workshop on priority to computational laboratory works. Next comes the teacher’s involvement in the subject.

VII. SUMMERY AND CONCLUSION

In any case, we recommend that students become familiar with at least two compiled languages (preferably one being C) at honours level, and that they keep their focus on how clearly the algorithm is implemented and not on solving numerical techniques using calculators as the purpose of learning numerical techniques is to solve it by computers.

One difficulty is that, students must learn how to program, learning syntax of a language and converting mathematical models to computer algorithms relevant to physics. Students are supposed to perform several computer labs in their honours courses and learn how to convert Newton’s second law and other techniques to simple numerical algorithms using C. A post graduate student or research scholar proficient in C can pick up other languages even FORTRAN or MATLAB if required.

Finally we conclude that computational physics with its clear links to computation at various levels of physics course can play a leading role in keeping the discipline of physics healthy and active.

REFERENCES

[1] Computational Science Demands a New Paradigm, D. E. Post and L. G. Votta, Physics Today 58 (1), 35–41 (2005).

[2] Computational Physics: A Better Model for Physics Education? R.H. Landau, Comput. Sci.

Eng. 8, 22–30 (2006).

[3] A Survey of Computational Physics, Introductory Computational Science, R. H. Landau, M. J.

Paez, and C. C. Bordeianu, Princeton U.P., Princeton, 2008.

[4] Computational Physics, Problem Solving with Computers, 2nd ed., R. H. Landau, M. J. Paez, and C. C. Bordeianu ,Wiley–VCH, Berlin,2007.

[5] FORTRAN 90/95 for Engineers and Scientists, 2nd ed., S. J. Chapman, McGraw–Hill, New York, 2004.

[6] The C Programming Language, 2nd ed., B.

Kernighan and D. Ritchie, Prentice–Hall, Englewood Cliff, 1988.



Referensi

Dokumen terkait