How To Select Which Plugin Modules To Build
The COOLFluiD Kernel does not have any solving functionality. It delegates the solving actions to the plugin modules. A developer needs to choose which plugin modules he needs to work. This information is placed in the 'coolfluid.conf' file and is used to retrieve the plugin sources.
Some definitions before we start
Plugin - is a piece of code that can be connected to the COOLFluiD framework.
It can be a Library, an Application or a Unit Test.
Module - is a directory containing one or more Plugins. Usually identifiable
because it contains a CMakeLists.txt file defining how to build the plugins.
All the COOLFluiD plugins are store in https://coolfluidsrv.vki.ac.be/svn/coolfluid/Plugins.
Selecting which modules you want
To retrieve the plugins you need to edit your 'coolfluid.conf' and place a line indicating which modules you want to get form the server.
For example, to get the 'ForwardEuler' module but skip the 'BackwardEuler', you should add:
mod_ForwardEuler = on mod_BackwardEuler = off
Then you run the prepare script with the following parameters:
./prepare.pl --mods-update
This will checkout the modules which you requested and skip the others.
You should also run this same command whenever you want to update to the latest version of all the modules. This in fact runs "svn update" on all the directories.
Where will the modules be placed?
The modules when checked out by the previous command, will be placed in the directory plugins/ inside the COOLFluiD directory, parallel to the kernel sources direcotry (src).
This will be initially empty and is filled with the prepare.pl command.
What plugins are really needed?
No plugin is really essential (else would not be a plugin) but to perform any simulations, you must turn on the 'Solver' module:
mod_Solver = on
Without this the coolfluid solver application will not be retrieved and built.
How to see which modules are available?
To get the whole list of modules available in the repository just run:
./prepare.pl --mods-list
or type
svn list https://coolfluidsrv.vki.ac.be/svn/coolfluid/Plugins
How to add all the modules?
Add the following instruction in the coolfluid.conf
mods-getall = 1
This will put ALL of the modules inside the plugins dir. This is only recommended to developers of the kernel libraries, who have to check that they don't break any module when committing.
Updating the modules seem slow...
Well, if you have many of them, the command prepare.pl --mods-update will seem very slow, because it actually makes one svn command per directory.
If you want to update only a few modules, then use:
./prepare.pl --mods-update --mods-select=FluctSplit,Solver,RungeKutta
How to check what changes I have made in the plugins?
Indeed the command 'svn update' will no longer show the changes done in the plugins. Only if you go directly into the directory of the plugin.
cd plugins/ForwardEuler svn update
As an alternative, you can run:
./prepare.pl --mods-status
which will do that for all the directories.
You can also list which plugins or files have been modified by using the scripts:
./tools/svn/modified-plugins.sh ./tools/svn/modified-files.sh
