27

There are a few ways to conserve energy during ODE integration. Method 1: Symplectic Integration The cheapest way that is to use a symplectic integrator. A symplectic integrator solves the ODE on a symplectic manifold if it comes from one, and so if the system comes from a Hamlitonian system, then it will solve on some perturbed Hamiltonian trajectory. Some ...


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

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


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 ...


11

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 ...


10

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, ...


10

"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'...


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 ...


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 ...


8

Up until a couple of decades ago, science was based on two large pillars. Those were theory and actual physical experiments. It is an exciting time to see a third pillar arise with numerical simulations. In between pure theory and expensive real-world experiments, we can now run simulations! When it comes to these simulations, you may observe two types of ...


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 ...


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

The selection of colormap should be based on your dataset and audience, e.g., you do not want to use a colormap that have some cultural background for a group of people. Also, if your images are going to be printed (in grey scale), you should consider using a colormap that will preserve the ordering after the color transformation. Then, you should take into ...


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....


6

I think you are missing a very important and crucial step that lies exactly between the physics and simulation: the mathematical model. In order to model any physics, one has to formulate the mathematical description of the physical phenomenon. Depending on the goals of the simulation, different approximations and assumptions can be made resulting in ...


6

A first step, if you "have never been up in computing", is to read the literature and see what others are doing and have done. The second step is that you will likely learn that what you want to do is not possible today -- at least unless you have access to supercomputers. I suspect that 3 billion particles is possible today, but only if you have access to ...


6

So bottom line is I don't see any comprehensive work on the use of AI in M&S as a whole, let's say having models that can learn how to produce new improved models using the existing models. There's definitely some work out there on this. This is the field of scientific machine learning. Currently there's three major paths that I'd break it into: Neural ...


5

You could try using a library that implements the Fast Multipole Method (FMM), which should drastically reduce the amount of memory you need and will decrease the complexity of matrix-vector products from $\mathcal{O}(N^{2})$ to $\mathcal{O}(N)$. It is difficult to implement, but there should be some libraries out there. Another algorithm for N-body ...


5

If you just want the computational results and aren't running benchmarking tests then this isn't a serious problem. If you're trying to benchmark the performance of the code and get repeatable run times for comparisons with a an alternate version of the code, then this can be an issue.


5

This is possible (see [1]) but uncommon, as it requires Monte Carlo moves that alter the current conformations by a very small perturbation. In that setting of "small" Metropolis MC moves, it is usually easier (both in theory and in practice) to just use Molecular Dynamics instead. [1] Kikuchi, K., Yoshida, M., Maekawa, T., & Watanabe, H. (1991). ...


5

It is in some cases possible to map the dynamics obtained in MC simulations to other (more realistic) dynamics, especially for the case of dense colloidal suspensions. The following two papers talk about the problems and caveats of performing such a mapping: http://aip.scitation.org/doi/10.1063/1.3414827 (spherical particles) http://aip.scitation.org/doi/10....


5

Both approaches apply to the same problem (numerical minimization of functionals which involve the solution of a PDE, although both extend to a larger class of problems). The difficulty is that for all but academic examples, the numerical solution of the PDEs requires a huge number of degrees of freedom which a) means that it takes a long time and b) ...


5

This report on exascale computing from the DOE might be useful: https://science.energy.gov/~/media/ascr/ascac/pdf/reports/Exascale_subcommittee_report.pdf


5

The short answer is: it depends. Some journals have a requirement or a guideline to have experimental results that corroborate the numerical simulations. For example, IEEE Transactions on Microwave Theory and Techniques rarely publishes papers that do not have experimental results in one form or another. However, this is very different for IEEE Transactions ...


5

Your question is a bit broad, I think. Lacking concreteness, I would give a high-level overview. Terms that you can search for are in italics. Machine learning is a huge field, that includes many techniques. It has traditionally been used (and still is) in image processing, speech recognition, etc. In these applications, data are abundant. What you call ...


4

You'd like to sort eigenvalues/eigenvectors in a way that is continuous as you move through momentum. This highly constrains the sorting - for most k-points, you must sort the eigenvalues to be a close as possible to the eigenvalues from a neighboring k-point. Only at eigenvalue crossings are you allowed to permute the order of bands. Furthermore, in many ...


4

This is actually a standard modeling problem if you consider the medium that flows through the network to be incompressible (e.g., liquids, or gases at low velocity). Then, you formulate everything in terms of fluxes (liters or kg per second) rather than in discrete parcels. The key realization is that the flux that goes into one end of the pipe equals the ...


4

From the comments, it sounds like your problem is stiff, and using an implicit integrator will help you a lot more than trying to parallelize. But in case someone comes here looking for information on parallel time integration, you can find a discussion of some simple parallel extrapolation and deferred correction methods in this preprint of mine. It's not ...


4

This depends a great deal on the type of CFD problem and the methods being used. But as a rough start using a lightweight geometric multigrid for the pressure solve and explicit time stepping for velocity, suppose you have 100 bytes per cell. If you have 8 GB of memory, you could solve a problem with about 80 million cells. This will likely be slower than ...


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