Projects tagged ‘numerical’ and ‘physics’


[10 total ]

4 Users

OOFEM is an open source multi-physics parallel finite element code with object oriented architecture. The aim of this project is to provide efficient and robust tool for FEM computations as well as to ... [More] offer highly modular and extensible environment for development. [Less]
Created 6 months ago.

1 Users

XMDS is a code generator that integrates equations. You write them down in human readable form in a XML file, and it goes away and writes and compiles a C++ program that integrates those equations as ... [More] fast as it can possibly be done in your architecture. [Less]
Created over 2 years ago.

1 Users

The Finite Difference Template Library (FDTL) was created for the purposes of quickly solving partial differential equations using the finite difference method. It is implemented in C++ using both the ... [More] object oriented (OO) paradigm and generic programming techniques (templates). It is meant to be fast in the sense that the times required for theoretical preparation, software development and program execution are all small. The project was initially begun to solve a form of the Gross-Pitaevskii equation (describing the Bose-Einstein Condensate from low temperature physics) and source is available for an executable serving this purpose. [Less]
Created about 1 year ago.

0 Users

A set of classes for working with tensors of various ranks and their derivatives. I will write a more detailed description soon.
Created about 1 month ago.

0 Users

Split operator for the Time Dependent Schroedinger Equation (TDSE) in a cartesian 3D space. Works as a lab for attosecond physics. The software provided is a library fro the quick and massive ... [More] development of numerical simulations of the TDSE. It is based on the very simple Split Operator method in Cartesian Coordinates which involve the Fast Fourier Transform or FFT. This library depends on the http://www.fftw.org library developed at MIT under the GNU license. [Less]
Created 12 months ago.

0 Users

The program WAVE was written to model wave propagation in a 2-D or 3-D elastic medium. This wave propagation can be followed from its initiation at a source, through its reflection and refraction from ... [More] structures in the stope vicinity. Interlaced finite difference equations are used on an orthogonal grid with uniform grid spacing, with an emphasis on optimal speed, accuracy and memory usage. A variety of dynamic sources can be simulated in WAVE. It provides assorted 'smoothed-step' and cosine wave-shapes, which can be applied to shear or dilational sources of any size and placed at any point in the grid. Absorbing boundaries are provided which simulate an infinite rock mass and reduce reflections from the edges of the numerical grid. Material properties may vary throughout the grid, allowing features such as dykes and softened material to be represented. The orthogonality of the grid means that the relative orientations of features must be approximated in the grid. This orthogonality gives WAVE its simplicity and efficiency of solution. Although openings may be constructed by setting the elastic constants to zero over part of the grid, a special discontinuity - called a stope - is provided, which has zero thickness, and can exhibit non-linear stress-displacement behaviour. This feature is intended to represent a thin, mined-out seam, with yielding or hardening support (hydraulic supports, or backfill). Passive faults are provided as a similar construct to that of the stope. Plotting and printing of any quantity is provided. Plots involve 'snapshots' of the grid (or part of the grid) or time histories. Snapshots show grid variable values at some instant in time. Time histories show how a particular parameter at a point or line of points in the grid evolves with time (these are essentially seismograms). Plot data is saved to file and can be analysed later with the 'WVPLOT' post-processing package, where various representations are supported. [Less]
Created 12 months ago.

0 Users

Sailfish is an Open Source fluid dynamics solver for CUDA devices. It uses the Lattice Boltzmann method to simulate incompressible flows in 2D (3D in the works). The project uses Python to ... [More] maintain a rapid pace of development and high level of code readability. pycuda and numpy allow it to achieve high performance without compromising the flexibility offered by Python. [Less]
Created 4 months ago.

0 Users

MADNESS provides a high-level environment for the solution of integral and differential equations in many dimensions using adaptive, fast methods with guaranteed precision based on multi-resolution ... [More] analysis and novel separated representations. There are three main components to MADNESS. At the lowest level is a new petascale parallel programming environment that increases programmer productivity and code performance/scalability while maintaining backward compatibility with current programming tools such as MPI and Global Arrays. The numerical capabilities built upon the parallel tools provide a high-level environment for composing and solving numerical problems in many (1-6+) dimensions. Finally, built upon the numerical tools are new applications with initial focus upon chemistry, atomic and molecular physics, material science, and nuclear structure. The developers gratefully acknowledge the support of the Department of Energy, Office of Science, Office of Basic Energy Sciences and Office of Advanced Scientific Computing Research, under contract DE-AC05-00OR22725 with Oak Ridge National Laboratory. The developers gratefully acknowledge the support of the National Science Foundation under grant 0509410 to the University of Tennessee in collaboration with The Ohio State University (P. Sadayappan). The MADNESS parallel runtime and parallel tree-algorithms include concepts and software developed under this project. The developers gratefully acknowledge the support of the Defense Advanced Research Projects Agency (DARPA) under subcontract from Argonne National Laboratory as part of the High-Productivity Computer Systems (HPCS) language evaluation project. Please look in the wiki for more information and project activity. Anonymous, read-only source checkout: svn checkout http://m-a-d-n-e-s-s.googlecode.com/svn/local/trunk m-a-d-n-e-s-s-read-onlyDevelopers, please see the wiki Subversion page for instructions. If you would like a glimpse at what's going on under the hood have a look at this call graph generated using the Google perftools. It nicely shows how work is funneled through the task-queue and how about 50% of the time is spent in the optimized matrix routines. The calculation computed the energy and gradient for di-nitrogen using the local density approximation on a two-core Thinkpad x61t. [Less]
Created about 1 year ago.

0 Users

What is h5py?HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the ... [More] fast, flexible storage of enormous amounts of data. From a Python programmer's perspective, HDF5 provides a robust way to store data, organized by name in a tree-like fashion. You can create datasets (arrays on disk) hundreds of gigabytes in size, and perform random-access I/O on desired sections. Datasets are organized in a filesystem-like hierarchy using containers called "groups", and accessed using the tradional POSIX /path/to/resource syntax. A generic NumPy interface to HDF5 dataH5py provides a simple, robust read/write interface to HDF5 data from Python. Existing Python and Numpy concepts are used for the interface; for example, datasets on disk are represented by a proxy class that supports slicing, and has dtype and shape attributes. HDF5 groups are presented using a dictionary metaphor, indexed by name. A major design goal of h5py is interoperability; you can read your existing data in HDF5 format, and create new files that any HDF5- aware program can understand. No Python-specific extensions are used; you're free to implement whatever file structure your application desires. Almost all HDF5 features are available from Python, including things like compound datatypes (as used with Numpy recarray types), HDF5 attributes, hyperslab and point-based I/O, and more recent features in HDF 1.8 like resizable datasets and recursive iteration over entire files. A foundation for other HDF5 applications in PythonIn addition to the NumPy-like high-level interface, the foundation of h5py is a near-complete wrapping of the HDF5 C API. It includes the majority of the API with the following major improvements: HDF5 identifiers are first-class objects which participate in Python reference counting HDF5 errors are automatically mapped to native Python exceptions Functions and methods take Python-style arguments; not all parameters are required The API closely follows existing conventions (e.g. H5Gopen() -> h5g.open()) Transparently supports both HDF5 1.6 and 1.8. Applications which want to access HDF5 data in a less-generic manner, or which need a different performance/flexibility ratio, can access HDF5 directly through this Python API. In this sense, the NumPy-like layer is itself an application written to the native HDF5 API. CompatibilityRuns on Linux, Mac OS-X and Windows Reads and writes standard HDF5 files (with no Python-specific extensions) Works with HDF5 versions 1.6.5 through 1.8.2 Here's a trivial example showing how to create a new HDF5 file and store a 100 x 20 array of floats: >>> f = h5py.File("myfile.hdf5", 'w') >>> f["MyDataset"] = numpy.ones((100,20))And to get your data back: >>> dset = f["MyDataset"] >>> subset = dset[20:80,:]See the links to the right for documentation, download and installation instructions. Contact email is "h5py" at the domain "alfven dot org". [Less]
Created about 1 year ago.

0 Users

This is a project implementing a three-dimensional (3-D) finite-difference time-domain (FDTD) method for parallel Beowulf computer clusters.
Created 12 months ago.