# Monthly Archives: February 2019

Welcome back to the n-body-problem series. Last time we’ve been setting up our project structure and CMake setup. According to some helpful reddit comments, I adapted our CMake setup a bit, but I’m still not absolutely sure if the project structure, as it is now, will last to the end of the project. If you’ve missed any of the earlier posts, you can find them here:

Because we want to exercise TDD, we somehow need to define some test cases first before we can implement our solver library. A simple scenario would be two points with an equivalent mass $M$, a distance of $r$ and no initial velocity and acceleration. Clearly we could do hundreds of different complex tests with it. But i would like to start with two very simple and specific tests, point masses accelerating and moving only in x- and y-direction sole. This way we can check that, at least the basis, assumptions, formulas, and implementations are correct.

Read Full Article

Sometimes I need to execute an operation, like std::sort or std::transform, on a container of structs or objects using a lambda or function pointers which should take type defined criteria. Another scenario might be a global minima search of an arbitrary brane which could be described by a vector of 3-dimensional vectors. In such cases, we often use pointer to members. Read Full Article

Sometimes it seems to me that tools are getting too important. Don’t get me wrong, I really appreciate those little helpers modern IDE’s and their plugins are offering. For example if they’re suggesting to me a method might be rather static instead of const. Or not all paths of a lengthy, chained and nested If statement are returning something. Especially with legacy code those tools are very helpful.

Read Full Article

Welcome back at the 2nd part of the n-body-problem series. With the first post we had a short view on the equations of motion we need to calculate the position in space of a point mass. This time we need to conclude our equations and create a minimum project setup. I would like to use CMake for project setup for two reasons.

Read Full Article

My personal view on programming languages is like my view on any other spoken language, such as french, german or english. My mother tongue is german, but I also speak enough English to express myself. For me the difference between both languages is just who to speak to so whoever I speak with understands the best of what I want to express. The language itself is secondary, in my point of view all of them have the same concepts, such as grammar and tense (I hope no linguistic experts are reading this post;). In other words, I think the concepts are important, not the language itself.

Read Full Article

I thought it would be a very nice idea to start my blog with a small project I wanted to do since a long time. A small tool/solver of the n-body-problem. It’s not just only the interest of solving a challenging mathematical problem with modern C++. I also love clean, concise and readable code, which is also something I would like to train and share with this project. You can find the empty repository setup at GitHub. I will always try to tag the end state of the repository after each post of this blog series.

Read Full Article

So this is my first blog and I would like to share my experiences as a mechanical engineer in the world of software development. I will write on this blog on an irregular base about all different kind of topics I’m interested in, such as programming, team management or other topics.

Processing…
Success! You're on the list.