... | ... | @@ -3,11 +3,18 @@ |
|
|
OpenFPM stand for Open Framework for Particles Mesh simulation. Below we show with a graph the structure of the project.
|
|
|
|
|
|
|
|
|
Each node in the graph is a component, while arrow indicate the dependencies of the components, colored in red there are the projects that can be considered like the spine of OpenFPM. The graph itself show the highest level of modularity of OpenFPM project. Below we try introduce each for the component explaining why they exist basically their purpose.
|
|
|
Each node in the graph is a component, while arrow indicate the dependencies of the components, colored in red there are the components that can be considered like the spine of OpenFPM. The graph itself show the highest level of modularity of OpenFPM project. Below we try introduce each for the component explaining why they exist basically their purpose.
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
Any library or program that with a non trivial level of complexity, as most basic level operation manage the **Memory**: getting some chunk of memory, destroy it, or eventually resize it.
|
|
|
In any good software project, beforehand someone must define the design of the program/library, or its modularity at the highest level. The modularity of the software is the capability of the software to have replaceable components, or more in general the capabilities of a software to be changed without affecting other part of the programs. This is a fundamental requirement to have a flexible and maintainable software.
|
|
|
Example suppose to have a program that modularize each task (each task is a component).
|
|
|
|
|
|
For example we have a software based on library A, fortunately for us we modularized our software, and library A is used through a Component 1, at some point the library A die. Another scenario is library A introuce new features and you would like to try them based on.
|
|
|
|
|
|
Any library or program that with a non trivial level of complexity, as most basic level operation manage the **Memory**: getting some chunk of memory, destroy it, or eventually resize it. So at the most basic level of OpenFPM there is
|
|
|
|
|
|
|
|
|
Even for the librarary or program the most basic operation that in general has to do
|
|
|
What is the first things that we need in general to run a
|
|
|
At the question what is the base of any program ? we will answer the Memory, any |
|
|
\ No newline at end of file |