1 // =============================================================================
2 // PROJECT CHRONO - http://projectchrono.org
3 //
4 // Copyright (c) 2016 projectchrono.org
5 // All right reserved.
6 //
7 // Use of this source code is governed by a BSD-style license that can be found
8 // in the LICENSE file at the top level of the distribution and at
9 // http://projectchrono.org/license-chrono.txt.
10 //
11 // =============================================================================
12 // Authors: Nic Olsen
13 // =============================================================================
14 
15 #ifndef CH_API_DISTRIBUTED_H
16 #define CH_API_DISTRIBUTED_H
17 
18 #include "chrono/core/ChPlatform.h"
19 
20 // When compiling this library, remember to define CH_API_COMPILE_DISTRIBUTED
21 // (so that the symbols with 'CH_DISTR_API' in front of them will be
22 // marked as exported). Otherwise, just do not define it if you
23 // link the library to your code, and the symbols will be imported.
24 
25 #if defined(CH_API_COMPILE_DISTRIBUTED)
26 #define CH_DISTR_API ChApiEXPORT
27 #else
28 #define CH_DISTR_API ChApiIMPORT
29 #endif
30 
31 /**
32     @defgroup distributed_module DISTRIBUTED module
33     @brief Module for distributed parallel simulation
34 
35     This module provides support for granular dynamics on distributed parallel computing
36     architectures through MPI. This module depends on the Chrono::Multicore module.
37 
38     For additional information, see:
39     - the [installation guide](@ref module_distributed_installation)
40     - the [tutorials](@ref tutorial_table_of_content_chrono_distributed)
41 
42     @{
43         @defgroup distributed_collision Collision objects
44         @defgroup distributed_comm Communication objects
45         @defgroup distributed_physics Physics objects
46     @}
47 
48 */
49 
50 #endif
51