First Steps - rsachetto/MonoAlg3D_C GitHub Wiki

Using MonoAlg3D for the first time

Step 1 - Downloading

git clone https://github.com/rsachetto/MonoAlg3D_C.git

Step 2 - Compiling

To compile just the basic simulator, without GUI and GPU support you need just to perform the following commands after downloading the code:

cd MonoAlg3D_C
./build.sh simulator

To compile the simulator with the visualization program you have to perform the command above (extra dependencies libx11, libxcursor, libxrandr, libxinerama, libxi, libglu1-mesa libglvnd).

./build.sh simulator gui

Step 3 - Creating your first simulation (using the mono help script):

./mono simulation first_simulation

This will create a simple configuration file. Delete the extra_data section, and change the domain and the stim sections to be like the file below:

[main]
num_threads=2
dt_pde=0.02
simulation_time=400.0
abort_on_no_activity=false
use_adaptivity=false

[update_monodomain]
main_function=update_monodomain_default

[save_result]
print_rate=1
output_dir=first_simulation/output
main_function=save_as_vtu
init_function=init_save_as_vtk_or_vtu
end_function=end_save_as_vtk_or_vtu
file_prefix=V

[assembly_matrix]
init_function=set_initial_conditions_fvm
sigma_x=0.0000176
sigma_y=0.0001334
sigma_z=0.0000176
main_function=homogeneous_sigma_assembly_matrix

[linear_system_solver]
tolerance=1e-16
use_gpu=yes
max_iterations=200
main_function=conjugate_gradient
init_function=init_conjugate_gradient
end_function=end_conjugate_gradient

[domain]
name=Plain Mesh
num_layers=1
start_dx=100.0
start_dy=100.0
start_dz=100.0
side_length=10000
main_function=initialize_grid_with_square_mesh

[ode_solver]
dt=0.02
use_gpu=yes
gpu_id=0
library_file=shared_libs/libten_tusscher_2006.so

[stim_plain]
start = 0.0
duration = 2.0
period = 250.0
current = -50.0
x_limit = 100.0
main_function=stim_if_x_less_than

Step 4 - Running the simulation

./bin/MonoAlg3D -c first_simulation/first_simulation_config.ini

or to visualize in real time (press space to start the simulation):

./bin/MonoAlg3D -c first_simulation/first_simulation_config.ini --visualize