This is a preliminary launcher for the MUSCLE3 toolkit. It serves to automatically set up MUSCLE3 simulations, launch the manager and its submodels, and keep all the associated data organized.
The diffusion and reaction functions represent different components of a multiscale simulation
.
- This function implements a simple diffusion model on a 1D grid.
- It simulates the diffusion of a substance over time in a spatial domain.
- The state of the system is represented by a 1D grid of concentrations.
- It sends out the state on each timestep on the state_out port and can receive an updated state on the state_in port at each state update.
- This function implements a simple exponential reaction model on a 1D grid.
- It simulates a chemical reaction occurring in the same spatial domain as the diffusion process.
- The state of the system is also represented by a 1D grid of concentrations.
- It sends out the final state of the reaction on the final_state port.
- Both functions are part of a larger multiscale simulation framework.
- The diffusion function represents a macroscopic scale component responsible for simulating diffusion phenomena.
- The reaction function represents a microscopic scale component responsible for simulating chemical reactions.
- These components interact with each other through input and output ports (state_out, state_in, initial_state, final_state) to exchange data and synchronize their simulations.
- The main reaction_diffusion script orchestrates the execution of these components by defining a model with appropriate conduits and settings and running the simulation using the run_simulation function.
Simply type:
fabsim localhost install_plugin:FabMUSCLE
On a local machine, just use:
pip3 install muscle3
On a remote machine where you don't have admin rights, you can use:
fabsim <machine> install_muscle:install_muscle
Note: If encountered any issues, install muscle3 manually.
To run a unified MUSCLE test job, type:
fabsim localhost muscle_unified:config=muscle_rd_test,muscle_script=reaction_diffusion.py
To run an ensembled MUSCLE test job, type:
fabsim localhost muscle_ensemble:config=muscle_rd_distr_test,ymmsl_file=reaction_diffusion.ymmsl,replicas=2
To run a unified MUSCLE test job, type:
fabsim archer2 muscle_unified:config=muscle_rd_test,muscle_script=reaction_diffusion.py
To run an ensembled MUSCLE test job, type:
fabsim archer2 muscle_ensemble:config=muscle_rd_distr_test,ymmsl_file=reaction_diffusion.ymmsl,replicas=2
And, QCG Pilot Jobs:
fabsim archer2 muscle_ensemble:test_rd_distr_muscle,diffusion_reaction.ymmsl,replicas=2,PJ=True
"https://muscle3.readthedocs.io/en/latest/index.html"