= Documentation = The MUSCLE library contains the API and configuration necessary to implement a multiscale model. Neither depends on the hardware that the model will executed on, whether that is local, distributed, or through a job scheduler. When using the Java API, the principle is write once, use everywhere. For C/C++ code, recompilation might be necessary depending on the operating system and hardware, but if the submodel code is standards-compliant, this should not pose a problem. The MUSCLE runtime environment is then able to run the multiscale model on different resources. The actual runtime location only depends on the command-line arguments given to MUSCLE, not on the implementation of the submodels. For getting started, see the [[Installation|Installation section]]. == The MUSCLE library == * Using the MUSCLE API * [[Java API|Java]] * [[C++ API|C/C++]] * [[Fortran API|Fortran]] * [[Configuration|MUSCLE configuration file]] * [[Compiling]] == The MUSCLE runtime environment == The runtime environment is managed by the muscle2 command-line program. It can be directly called, or through services such as QCG-Broker. Finally, if MUSCLE will be executed across multiple clusters, the MUSCLE transport overlay can be run to forward all traffic from MUSCLE. === Manual Execution === * [[Command-line execution]] === Tools and Services === * [[QCG-SimpleClient|QCG-SimpleClient (Command-line, single cluster)]] * [[QCG-Icon|QCG-Icon (Desktop application, single cluster)]] * [[QCG-AdvancedClient|QCG-AdvancedClient (Command-line, single and cross-cluster)]] * [[Toolchain|MaMe, MAD, GridSpace, QCG Toolchain (Web application, single and cross-cluster)]] === Cross-cluster connectivity === * [[MTO|Muscle Transport Overlay (MTO)]]