Questions tagged [software]

Questions about libraries and standalone software designed or well-suited for scientific or numerical calculations.

Filter by
Sorted by
Tagged with
165
votes
8answers
131k views

Recommendations for a usable, fast C++ matrix library?

Does anyone have recommendations on a usable, fast C++ matrix library? What I mean by usable is the following: Matrix objects have an intuitive interface (ex.: I can use rows and columns while ...
47
votes
8answers
2k views

What are good ways to document scientific software?

Many times, when I've inherited or encountered scientific code written by other people (or occasionally, even my own work), I've noticed that documentation is either sparse or nonexistent. If I'm ...
39
votes
11answers
2k views

Venues for publishing papers that emphasize software

Software is a fundamental part of computational science, and is increasingly recognized as an essential part of the scientific record. Given the value of using existing and well-tested code, it seems ...
35
votes
3answers
127k views

What is the simplest way to do a user-local install of a python package?

I don't want to deal with virtualenv for a local Python installation, I just want to install a few packages locally without dealing with the PYTHONPATH environment ...
34
votes
8answers
932 views

How do I make sure that the results of my simulations and the results in my paper are always in sync?

In one of my papers, I list some numerical results in addition to some figures. What I'd like to do is make sure that the numerical results in my paper always agree with the code. Right now, I just ...
31
votes
8answers
2k views

Scientific workflow management system

Can anyone recommend me a good workflow management system (WMS), preferably in Python? So far I have been using GNU Make, but it introduces a layer of complexity that I want to avoid. A good WMS ...
30
votes
3answers
4k views

What is the relationship of BLAS, LAPACK, and other linear algebra libraries?

I have been looking into C++ linear algebra libraries for a project I've been working on. Something that I still don't have any grasp on is the connection of BLAS and LAPACK to other linear algebra ...
29
votes
9answers
2k views

What is a good way to run parameter studies in C++

The problem I'm currently working on a Finite Element Navier Stokes simulation and I would like to investigate the effects of a variety of parameters. Some parameters are specified in an input file ...
27
votes
10answers
757 views

Recommendations and experiences on which license to choose for software?

Developers of software have the choice to choose an appropriate license in accordance with the goal(s) of the work. Can anyone give some recommendations/experiences on which license to pick for ...
27
votes
3answers
54k views

How should I install a Fortran compiler on a Mac? (OS X 10.x, x >= 4)

Related question: State of the Mac OS in Scientific Computing and HPC A significant number of software packages in computational science are written in Fortran, and Fortran isn't going away. A ...
26
votes
8answers
4k views

What software is good to use for parallel debugging?

I'm not running any parallel code right now, but I anticipate running parallel code in the future using a hybrid of OpenMP and MPI. Debuggers have been invaluable tools for me when running serial ...
25
votes
5answers
705 views

Is there software that can autogenerate numerically-accurate floating point C routines from symbolic formulae?

Given a real function of real variables, is there software available that can automatically generate numerically-accurate code to calculate the function over all inputs on a machine equipped with IEEE ...
25
votes
5answers
7k views

What are the main differences between PETSc and Trilinos?

As far as I can tell, the two big generic US Department of Energy computational science software frameworks are PETSc and Trilinos. They seem similar at first glance, beyond differences in language (...
24
votes
12answers
20k views

Is it possible to use Octave to learn MATLAB programming?

I want to learn MATLAB programming so that I can conduct some researh/analysis on my own and also, so that I can study/modify some MATLAB scripts that I have found online etc. However, the problem is ...
24
votes
5answers
496 views

What material should I include with a journal article (or post online) in order to make my computational research reproducible?

Reproducibility has become more and more important in computational science research. (For instance, see this article by Roger Peng in Science; I'm aware of other such articles and web sites also.) ...
19
votes
6answers
1k views

How do I write dimensionally agnostic code?

I often find myself writing very similar code for one, two, and three dimensional versions of a given operation/algorithm. Maintaining all of these versions can become tedious. Simple code ...
19
votes
6answers
1k views

What is the best way to do reproducible research if you need proprietary libraries?

Reproducible research in computation aims to make the code needed to generate the results in a computational paper available to other researchers so that they can run this code to reproduce the ...
18
votes
5answers
6k views

State of the Mac OS in Scientific Computing and HPC

Back towards the dawn of OS X, there seemed to be a great deal of hubbub, at least in the Mac world (I was nowhere near scientific computing at the time) about the Mac OS as a platform for scientific ...
18
votes
4answers
22k views

What's the fastest software(open source) to solve mixed integer programming problem

I have a mixed integer programming problem. And I am current using GLPK as my solver. But I found that GLPK is good for Linear Programming problem, but for Mixed Integer programming, it requires much ...
17
votes
5answers
3k views

Is there a good, easy-to-use, high quality open source CFD solver out there?

My thesis is on developing numerical methods for model reduction in combustion. I run my methods purely on the chemistry part of combustion simulations, and I have plenty of case studies for 0-D ...
16
votes
2answers
303 views

What are the best practices for algorithms and implementation of multi-physics simulations?

Multi-physics simulation involves coupling multiple "physics", often with different space and/or time scales. Additionally, the single-physics codes are often written by different teams. The most ...
14
votes
3answers
535 views

What guidelines should I follow for simulation software projects?

I am not sure whether this question belongs here, but I would like to give it a try and benefit from the experience of the people at scicomp.SE. From my experience, the software quality in ...
14
votes
4answers
411 views

What would be the most helpful way to write code for a paper so that readers can clearly match the results to the code that generates them?

I'm writing a reproducible paper, and the paper has computational results that are generated by a Python script (a similar MATLAB script generates nearly identical results). I feel that the paper ...
13
votes
5answers
571 views

How much should scientific software be optimized?

For applications requiring significant computational resources, high performance can be a critical factor when it comes to delivering scientific results or achieving "break-throughs" in reasonable ...
13
votes
5answers
1k views

On Finding Open Source Projects To Contribute To

This question has been asked a billion times on Stackoverflow however, the focus has always been on Non-Numerical Coding. I am looking for a project to contribute to within the confines of Numerical ...
12
votes
1answer
374 views

For software submitted to ACM TOMS, how does the ACM software license agreement interact with other licenses?

The journal Association for Computing Machinery Transactions on Mathematical Software (ACM TOMS) publishes many articles on numerical algorithms that include software implementations. According to ...
11
votes
5answers
340 views

Increasing the archival longevity of code

Is there a published list of best practices to ensure longevity of code, with an eye towards reproducible scientific results? (e.g. open source, documentation practices, selecting dependencies, ...
11
votes
4answers
4k views

Algebraic Multigrid Code

I would like to understand more details about the implementation of Algebraic Multigrid Methods (AMG). I have been reading "A Multigrid Tutorial", which is quite good and explain all the details of ...
11
votes
1answer
428 views

How should errors be reported in scientific libraries?

There are many philosophies in different software engineering disciplines about how libraries should cope with errors or other exceptional conditions. A few of the ones I've seen: Return an error ...
11
votes
2answers
593 views

Danger of complex arithmetics in scientific computing

The complex inner product $\langle u,v\rangle$ has two different definitions decided by conventions: $\bar{u}^Tv$ or $u^T\bar{v}$. In BLAS, I found the routines cdotu, zdotu, and cdotc, zdotc. The ...
11
votes
1answer
158 views

Does anyone use software estimation methods in their computational science research?

At work, I essentially function as an independent consultant. For management and customers, I need to estimate the amount of time it will take to develop software as part of my computational science ...
10
votes
3answers
504 views

Priorities for learning computational methods, when should I write my own code vs. using libraries as a beginning graduate student?

I am beginning my graduate studies in engineering and will be working on computational science projects. I noticed that there has been some discussion about the advantages and disadvantages of ...
10
votes
2answers
428 views

Task-based shared-memory parallel libraries in Scientific Computing

In recent years, several libraries/software projects have appeared that offer some form or another of general-purpose data-driven shared-memory parallelism. The main idea is that instead of writing ...
10
votes
1answer
292 views

Why do we have to rerun the CFD solver for higher Reynolds number?

I started to learn OpenFOAM from the Cavity tutorial which is provided at the web-site. When experimenting with different Reynolds numbers, in section "2.1.8.2 Running the code", tutorial says to ...
9
votes
1answer
2k views

PDE discretization with the method of rothe and the method of lines (Modular implementation)

The Heat equation is discretized in space with FV (or FEM), and a semi-discrete equation is obtained (system of ODEs). This approach, known as the method of lines, allows to easily switch from one ...
8
votes
3answers
2k views

Scientific Programming on Mac using Objective-C/Cocoa for MATLAB Users

I want to get started on scientific programming on the Mac using Objective-C. I am very familiar with MATLAB which makes it easy to store complex-valued waveform data in vectors and generating plots. ...
8
votes
4answers
642 views

Should I use a database to handle large amounts of results?

Background: I am currently running a large amount parameter variation experiments. They are being run in Python 2.6+, using numpy. These experiments are going to take about 2 weeks to run. Roughly I ...
8
votes
2answers
368 views

What is a good way to understand the overall structure of a code base?

Sometimes it is useful in my work to modify someone else open-source code or find out how to develop specific things for your own application. However, not all software have good documentation. What ...
8
votes
2answers
4k views

Open-source 3D FEM Solver for Electromagnetics (Time-Harmonic Maxwell)

I was wondering if there exist any good (accurate/fast/easy-to-use) open-source FEM solvers for 3D time-harmonic Maxwell's equations. I am looking to simulate systems a few wavelengths large in the X/...
8
votes
1answer
149 views

Testing and visualizing large index arrays

I will be implementing nodal discontinuous Galerkin method soon, and having done this before I know the basic indexing arrays I will need to compute, given a mesh and polynomial data. The problem I ...
8
votes
1answer
909 views

MPI policy for multiple asynchronous transfers

What is the policy of multiple overlapping asynchronous transfers in MPI? I have a program with several open asynchronous irecv operations. I find that transfers ...
7
votes
5answers
269 views

Computational science contests. Why arent there any?

I was wondering why there are no online or offline computational science contests? At least I couldn't find much by googling. I mean, like a topcoder for computational sciences. I assume one reason is ...
7
votes
2answers
8k views

Programming Finite Element Methods in C++

I am trying to develop a library for finite element methods in C++ and for that I am looking at the data structures for meshes. Based on what I've read up on fenics and deal.ii, the general ...
7
votes
3answers
3k views

FOSS tools for creating high quality physics animations and simulations in 2d and 3d

If I want to create a high quality figure to illustrate a scientific concept or experiment I usually use tikz together with ...
7
votes
2answers
234 views

Caching mechanism

I've been having problems designing an effective caching mechanism. The mechanism is to be used as part of a project developing scientific software. The goal is to save computation time by loading ...
7
votes
1answer
142 views

Do C++ matrix libraries translate compound vector operations to single loops?

I am trying to replicate Fortran90 array syntax using a C++ library. The libraries themselves are discussed at length in this question. They can all do something like this: ...
7
votes
2answers
960 views

Feasibility and software for acoustic simulation

I'm looking at doing a finite-element simulation of air flow essentially for the purposes of approximating the response to an external audio impulse of a smallish (~10-30 cm scale), stationary 3D-...
7
votes
1answer
775 views

Python trust region optimization code that allows ellipsoid-shaped trust regions

Are there any high quality trust region optimization implementations that allow nonspherical ellipsoid trust regions, and are written in Python, or are easy to call from python? By nonspherical ...
7
votes
1answer
308 views

Does some form of documentation of GMSH exist?

I am looking to implement GMSh into a simualtor that I am going to create. I am looking to integrate the geo, mesh, and post processor modules. However, looking online, it appears the documentation ...
7
votes
0answers
137 views

What is some of the best software design you've seen in a numerical code? [closed]

I don't think I've ever seen any scientific computational software that I would consider "good" in terms of software design. I don't mean in terms of functionality, but in terms of good high-level ...