Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • openfpm_data openfpm_data
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Sbalzarini Lab
    • SSoftware
    • PParallel Computing
  • OpenFPM
  • openfpm_dataopenfpm_data
  • Wiki
  • Home

Last edited by Anonymous Aug 25, 2015
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Home

OpenFPM Project

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

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

Clone repository
  • Basic objects
  • Home
  • Iterators
  • Memory mappings
  • Memory objects
  • Template order