GithubHelp home page GithubHelp logo

molsim's Introduction

molsim's People

Contributors

fg-tum avatar johahu avatar samnewcome avatar tim-scholl avatar

Stargazers

 avatar  avatar

molsim's Issues

update build instructions

I'm not so sure how I feel about the build instructions. They are not wrong, but very specific.
For example, these environment variables make everything sound more complicated than it is. I would just go with an example build folder called build.
Also, for the cmake command, I would just say cmake instead of specifying the full path, since this would not work if CMake is installed in a different place. Then -S $(pwd) is not really needed when you already say that this command should be executed in the root folder. And -DCMAKE_EXPORT_COMPILE_COMMANDS=ON is only needed for the clang-tidy analysis I believe.

Worksheet1 Task5

The code frame in its current state is not very suitable as a base for building up
a molecular dynamics simulator. Refactor it, especially concerning the following
issues:

  • #16
    It should be possible to iterate over the particles as well as the particle pairs in a simple way.
    → Which software design patterns are suitable?
    During this course, we will use different methods for I/O and for calculating
    the force between particles.
    → What might be an easy and extensible way to do that?
  • #17
    Also, pay attention where you use copies or references!
    → This is highlighted by the output produced by the constructor and destruc-
    tor of the Particle.
  • #18
    → What can you do with a system like Doxygen, what is it useful for?
    → Document the interfaces and implementations you created with Doxygen.
    → Set the main page of your Doxygen documentation to your projects’ Readme
    file.
    → Do not commit the Doxygen output to your repository.
  • #19
    Required features are:
    → Create the documentation by calling make doc doxygen.
    → Exclude the Doxygen target from the all / default target.
    → An CMake Option to disable creating the Doxygen target.
    (Useful if you build your code on a machine that does not have Doxygen).
  • #20
    → Consider using the latest Clang compiler: https://apt.llvm.org/.
    → State which compiler you used in your report

Worksheet1 Task3

As we discussed in the meeting, the basic algorithm of the molecular dynamics
simulation consists of the following steps:

don't hard-code initialization ParticleContainer,

  1. Don't initialize PaticleContainer with a hardcoded value

  2. "This constructor does more than allocating memory. It already creates capacity number of particles. If you only want to allocate memory, std::vector<>.reserve() would be the method to call" ParticleContainer.h

resolve moodle issues

Readme good
Doxygen ok- The documentation could be slightly more complete on ParticleContainer / PairIterator
git ok
Slides ok
Report ok
Video okYou can use Paraview’s export functionalities to export videos directly.
Build Instructions A bit unconventional / too specific
Force Calculation ok+ Nice that you are using Newton’s third law already!
Input ok
Cmake (doc_doxygen) - Missing optionality for Doxygen
Code Structure - global variables,- A few minor things (see PR review)
Misc - You should calculate forces once before the simulation loop starts - else your first updates on positions and velocities use and old Force of 0

create CMake variable for doxygen

Create a custom CMake variable such that the user can disable the doxygen setup and still run your main program even when doxygen is not installed on their system.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.