Commit dfeb1440 authored by COULAUD Olivier's avatar COULAUD Olivier

New architecture and add the driver to build distributions

parent 19996b55
......@@ -29,7 +29,7 @@ project(ScalFMM)
# ScalFMM version number. An even minor number corresponds to releases.
SET(ScalFMM_MAJOR_VERSION 1)
SET(ScalFMM_MINOR_VERSION 1)
SET(ScalFMM_MINOR_VERSION 2)
SET(ScalFMM_PATCH_VERSION 1)
SET(ScalFMM_VERSION "${ScalFMM_MAJOR_VERSION}.${ScalFMM_MINOR_VERSION}.${ScalFMM_PATCH_VERSION}" )
......@@ -217,6 +217,10 @@ add_subdirectory(Src)
# Link with scalfmm lib
set(scalfmm_lib scalfmm)
# Build - Examples and drivers
add_subdirectory(Examples)
# Build - Tests
MESSAGE( STATUS "ScalFMM_BUILD_TESTS = ${ScalFMM_BUILD_TESTS}" )
if( ScalFMM_BUILD_TESTS )
......
......@@ -34,7 +34,7 @@ PROJECT_NAME = "ScalFmm"
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
PROJECT_NUMBER = @ScalFMM_MAJOR_VERSION@.@ScalFMM_MINOR_VERSION@
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
......@@ -665,7 +665,8 @@ WARN_LOGFILE =
# with spaces.
INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../Doc/Site_dox \
@CMAKE_CURRENT_SOURCE_DIR@/../Src/
@CMAKE_CURRENT_SOURCE_DIR@/../Src/ \
@CMAKE_CURRENT_SOURCE_DIR@/../Examples/
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
......
......@@ -21,9 +21,13 @@
* <li> Bérenger Bramas </li>
* <li> Cyrille Piacibello </li>
* <li> Pierre Blanchard </li>
* </ul>
* Old contributors
*
* <ul>
* <li> Matthias Messner </li>
* </ul>
*/
......@@ -12,33 +12,54 @@
#include <string>
#include "Utils/FMath.hpp"
#include "Utils/FGenerateDistribution.hpp"
/// \file
//! \example generateDistributions.cpp
//! \brief generateDistributions: Driver to generate N points (non)uniformly distributed on a geometry
//! Options
//! -h to see the parameters available in this driver
//! -N The number of points in the distribution
//! Geometry
//! \arg \b -unitSphere uniform distribution on unit sphere
//! \arg -sphere uniform distribution on sphere of radius given by
//
/// \file generateDistributions.cpp
//!
//! \brief generateDistributions: Driver to generate N points (non)uniformly distributed on a given geometry
//!
//! The goal of this driver is to generate uniform or non uniform points on the following geometries
//!
//! Uniform : sphere, prolate,
//!
//! Non uniform : ellipsoid, prolate
//!
//! You can set two kind of physical values depending of your problem. By default all values are between 0 and 1.
//! If you select the argument -charge (see bellow) the values are between -1 and 1.
//! The arguments available are
//!
//! <b> General arguments:</b>
//! \param -h to see the parameters available in this driver
//! \param -N The number of points in the distribution
//! \param -filename name: generic name for files (without extension) and save data
//! with following format in name.xxx or name.bin in -bin (not yet implemented) is set
//! \param -visu save output in filename.txt
//!
//! <b> Geometry arguments:</b>
//! \param -unitSphere uniform distribution on unit sphere
//! \param -sphere uniform distribution on sphere of radius given by
//! \arg -radius R - default value for R is 2.0
//! \arg -ellipsoid non uniform distribution on an ellipsoid of aspect ratio given by
//! -ar a:b:c with a, b and c > 0
//! \param -ellipsoid non uniform distribution on an ellipsoid of aspect ratio given by
//! \arg -ar a:b:c with a, b and c > 0
//! \param -prolate ellipsoid with aspect ratio a:a:c given by
//! \arg -ar a:a:c with c > a > 0
//! \param -plummer (Highly non uniform) plummer distribution (astrophysics)
//! \arg -radius R - default value 10.0"
//!
//!
//! <b> Physical values argument:</b>
//! \param -charge generate physical values between -1 and 1 otherwise generate between 0 and 1
//!
//! -prolate ellipsoid with aspect ratio a:a:c
//! -ar a:a:c with c > a > 0
//! -plummer (Highly non unuiform) plummer distrinution (astrophysics)"
//! -radius R - default value 10.0"
//! \b examples
//!
//! -filename name: generic name for files (without extension) and save data
//! with following format in name.xxx or name.bin in -bin is set
//! -visu save output in name.txt
//! generateDistributions -prolate -ar 2:2:4 -N 20000 -filename prolate -visu
//!
//! \b Physical values
//! -charge generate physical values between -1 and 1 otherwise generate between 0 and 1
//!
//
//
void genDistusage() {
std::cout << "Driver to generate N points (non)uniformly distributed on a geometry"
std::cout << "Driver to generate N points (non)uniformly distributed on a given geometry"
<< std::endl;
std::cout << "Options "<< std::endl
<< " -h to see the parameters " << std::endl
......
......@@ -18,6 +18,7 @@ file(
# Adding the project sources dir as an include dir
INCLUDE_DIRECTORIES(
${CMAKE_BINARY_DIR}/Src
${CMAKE_SOURCE_DIR}/Src
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment