Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
19

Let me try and break down your requirements: Maintainability Reading/writing text data Strong interfaces/capability for LU factorizations Sparse linear solvers Performance and scalability to large data From this list, I would consider the following languages: C, C++, Fortran, Python, MATLAB, Java Julia is a promising new language, but the community is ...


16

As far as I'm aware, the most accurate methods for static calculations are Full Configuration Interaction with a fully relativistic four-component Dirac Hamiltonian and a "complete enough" basis set. I'm not an expert in this particular area, but from what I know of the method, solving it using a variational method (rather than a Monte-Carlo based method) ...


16

One of the leaders in the field of using CFD for animation, Ron Fedkiw, had a web page with some fantastic examples, including references to the relevant publications.


13

Atmosphere and ocean have highly-stratified flows in which the Coriolis force is a major source of dynamics. Maintaining geostrophic balance is extremely important and many numerical schemes are intended to be exactly compatible (at least in the absence of topography) to avoid radiating energy in gravity waves. Due to the stratification, limiting vertical ...


11

The fundamental challenge of quantum mechanical calculations is that they do not scale very well—from what I recall, the current best-case scaling is approximately $O(N_e^{3.7})$, where $N_e$ is the number of electrons contained in the system. Thus, 13 water molecules will scale as having $N_e = 104$ electrons instead of just $N = 39$ atoms. (That's a factor ...


11

To get something that looks realistic for planetary orbits, you shouldn't use the forward or backward Euler methods. These will cause your planets to spiral outward or inward. You should use a symplectic method. You may also need to adjust the timestep to be smaller when two bodies are very close to each other. Read Chambers (1999) A hybrid symplectic ...


11

Both the standard cluster and custom supercomputer (Anton) versions of molecular dynamics at D. E. Shaw Research are both deterministic and parallel invariant. That is, a test run on a single core generates the same bits as a massively parallel run. The techniques include Integer summation: Although each force term is computed in floating point, the total ...


10

Particle and domain decomposition are directly connected to the two main methods of speeding up force calculations for systems with limited-range interactions - Verlet neighbour lists and cell linked lists. If you'd like to get into details, there is a pretty nice book from Allen and Tildesley, called Computer Simulation of Liquids, considered by many to be ...


10

A good introduction to how issues of element shape influence quality and ease of solution, with pictures, is Jon Shewchuk's "What Is a Good Linear Finite Element? Interpolation, Conditioning, Anisotropy, and Quality Measures" http://www.cs.berkeley.edu/~jrs/papers/elemj.pdf


9

The long thermalization time that you're running into is a generic problem that typically goes under the name "critical slowing down" and is common to the local-update scheme that you're using (you update by locally changing a single spin at a time). Once you realize that, the way out is to do better sampling - local updates are out so you have to invent ...


9

There was a paper in Notices of the American Mathematical Society on this subject: Crashing Waves, Awesome Explosions, Turbulent Smoke and Beyond: Applied Mathematics and Scientific Computing in the Visual Effects Industry. In particular, these commercial packages constitute examples of simulation software used in the film industry.


9

256 equations is a relatively small number. All of the usual integrators, such as those included in Matlab, Maple or Mathematica should have no real problem with equations of this size and should be able to return answers in a fraction of the time it would take an algorithm you would implement yourself, because they use sophisticated explicit/implicit and ...


9

Any general-purpose ODE solver should be able to handle this linear coupled system of ODE very easily, for example: scipy.integrate.ode CVODE from the Sundials solver suite; it appears to have Python bindings here, and perhaps there are others. This kind of thing is typically discussed in any textbook on numerical methods. In general, computing the matrix ...


9

The problem you describe, how to prescribe non-reflecting or absorbing boundary conditions when solving partial differential equations (PDE) has been extensively studied. For complex (e.g. nonlinear) systems of PDE and general boundaries, it can be quite challenging and is something of an ongoing research problem. You can find many references on the topic, ...


9

I maintain (and am the main coder of) a simulation software that has been developed for ~8 years and is used by few hundreds people. It all started as a side project during my PhD, and it clearly outgrew itself. It is both over- and under-engineered: the architecture of some parts is too complicated for their own good, whereas some other parts (whose ...


8

Since the size of each type of atom is fixed, for a given level of accuracy the asymptotic cost is dominated by far field electrostatic interactions. These are $O(n)$ using multigrid and $O(n \log n)$ using FFTs. Thus the optimal complexity is $O(n)$ per time step as a function of the number of atoms simulated. The time step is also asymptotically ...


8

One commonly used approach is the "Response Surface Method" in which you sample the feasible region, running the full simulation at the sample points, then use regression techniques to fit a surrogate model to these points. You'll be assuming that the response in between your sample points is relatively smooth. Once you've fit that surrogate model, you ...


7

Our Matlab package SnobFit was created precisely for this purpose. No assumption about the distribution of the noise is needed. Moreover, function values can be supplied through text files, thus you can apply it to functions implemented in any system able to write a text file. See http://www.mat.univie.ac.at/~neum/software/snobfit/ SnobFit had been ...


7

There are several Bayesian optimization techniques you could try. Easiest are based on Gaussian process: Harold J. Kushner. A new method of locating the maximum of an arbitrary multipeak curve in the presence of noise. Journal of Basic Engineering, pages 86:97–106, March 1964. J. Mockus. The Bayesian approach to global optimization. Lecture Notes in Control ...


7

As a general rule, when dealing with "big" things like cells, you shouldn't simulate the individual charged particles. A useful abstraction is charge density, the charge per unit volume, usually denoted $\rho$. The equations of electrodynamics can be formulated in terms of this charge density $\rho$ and the current density ${\bf J}$. Electrodynamics is a ...


7

Conventional integrators do not preserve the "shape" of phase space, leading to systematic energy gain or loss, thus you should consider "sympelectic" integrators. For close encounters, you should consider the method of Chambers (1999) A hybrid symplectic integrator that permits close encounters between massive bodies.


7

Model Exchange vs. Co-Simulation This depends on how you export your FMUs: You can either use FMI for model-exchange or FMI for co-simulation. In the model-exchange scenario, the FMU contains only the model and no solver. Therefore the solver of the importing simulator is used. In the co-simulation scenario, the FMU contains both the model and a solver. ...


7

Have you had a look at VMD? I used it ages ago to produce movies from simulation snapshots. Way back then, it could read a sequence of PDB files, render them (or generate POV-Ray scripts to raytrace them), and store them as individual images. I then used mencoder to generate MPEG-4 files out of the stills. Those were the days. I haven't used VMD since, but ...


7

"developers lack the skills". Maybe. I think it's much more likely that the developers lack the incentives. Making solid code is difficult and expensive and, in academia, comes with minimal-to-negative reward. You're asking for a list of things of guidelines, but all of your examples are specific to the technical situation, not the social situation. That'...


6

The problem is broadly equivalent to the difference between classical computers and quantum computers. Classical computers work on single values at once, as only one future/history is possible for one deterministic input. However, a quantum computer can operate on every possible input simultaneously, because it can be put in a superposition of all the ...


6

The dealiasing of the convolution doesn't act as numerical dissipation. In fact, energy is conserved only if you kick out the aliased terms. The idea behind dealiasing FFT-based convolutions is to get rid of extra terms that are added by the FFT. A convolution is just a sum, and you can compute it by just calculating the sum. However, this is really slow, ...


6

(actually the comments provide an answer to your question, but this is additional information). 1) http://qblade.de.to/ This is a link to a free software called as QBlade. It is a wind turbine design and optimization software with emphasis on blade design (using XFOIL). This might come useful in designing/ optimization the rotor blades. What can it be ...


6

Disclaimer: most of this is purely opinion. In the $600 range for a whole computer, I'm not sure that processor matters all that much, as long as the architecture is x86. If you want to run simulations locally, memory would probably be the first thing that I'd look at spending money on, and since the main use of the computer is scientific computing, you'll ...


6

(1) Using the previous value of $\ddot{r}_j$ is like adding an error term to the r.h.s. of your equation of magnitude $\mathit{const}\times(\ddot{r}_j(t+\delta t) - \ddot{r}_j(t))$, meaning your scheme will only be first-order correct, regardless of whether the integration method you use has a higher order. (2) I believe what you are describing is similar ...


6

There is a recently published paper addressing the question of what is the optimal combination of hardware on which to run GROMACS: Kutzner, C., Páll, S., Fechner, M., Esztermann, A., de Groot, B. L., & Grubmüller, H. (2015). Best bang for your buck: GPU nodes for GROMACS biomolecular simulations. Journal of Computational Chemistry, (Spp 1648). doi:10....


Only top voted, non community-wiki answers of a minimum length are eligible