#
#
# File author(s): <Julian Andres Garcia Grajales>, (C) 2014
#
# Copyright: this software is licenced under the terms stipulated in the license.txt file located in its root directory
#
#
#!/bin/bash
if [ $# -ne 3 ]; then
cat >&2<<EOF
¡¡¡ERROR!!!: The number of parameters is not correct ($#).
==================================================
$0 'solver' 'type' 'configuration'
----------------------------------
Example:
$0 cpu I case_defined_by_the_user
==================================================
EOF
exit -1
fi
export idGPU=0; # In case you have more than one graphics card in your machine, you must give the corresponding label to Neurite. Typing nvidia-smi in the terminal you can see the characteristics of your graphics cards
DIRECTORY=$(pwd);
export working_directory=$(pwd);
rm -rf "outputs"
mkdir "outputs";
mkdir "outputs/GUI_captures";
# Type of simulation to run (the functions to create the discretization are in the space.cpp file):
# simulation=
# Only_HH_Model: only one HH element. This simulation is only available with the sequential version of the explicit scheme
# HH_axon: axon without branching
# HH_Y_branching: axon with one branching point
# CT_cable: passive structure without branching
# CT_Y_branching: passive structure with one branching point
# CT_symmetric_tree: passive dendritic symmetric structure with several branching points
# CT_segmented_neuron: segmented neuron structure
# Type of execution in the simulation environment
export simulation=HH_axon;
# The processor to use
# Warning: You have to put the number of "../" to reach the bin folder!!!
case $1 in
"cpu")
COMM=../../bin/Neurite_solver-cpu
SOLVER="solver-cpu"
;;
"gpu")
COMM=../../bin/Neurite_solver-gpu
SOLVER="solver-gpu"
;;
*)
echo "ERROR: this processor, ($1), does not exist [cpu or gpu]">&2
exit -1;
;;
esac
# The solver: Explicit or Implicit
case $2 in
"E")
S_TYPE=e
dtf=0.6
;;
"I")
S_TYPE=i
dtf=100
;;
*)
echo "ERROR: this solver ($2) does not exist [E or I]">&2
exit -1;
;;
esac
# General parameters to run Neurite. Type man ./neurite.7 in the documentation folder to see the list of parameters
case $3 in
"example_9")
# dtf implicit=100 explicit=0.6
echo "Explicit simulations for one axon"
OPT="Tt 0.06 dtf ${dtf}"
PATH="$DIRECTORY/outputs"
;;
*)
echo "ERROR: this type of simulation, ($3), does not exist. Please, you should create and configure your own simulation in this file">&2
exit -1;
;;
esac
if [ ! -d ${PATH} ]; then
echo "ERROR: you did not create the folder to place the results of the simulations">&2
exit -1;
fi
# The command line that you are executing
echo "time ${COMM} ${S_TYPE} ${OPT} out ${PATH}/${SOLVER}_${S_TYPE}_simulation.dat log ${PATH}/${SOLVER}_${S_TYPE}_simulation.log"
time ./${COMM} ${S_TYPE} ${OPT} out ${PATH}/${SOLVER}_${S_TYPE}_simulation.dat log ${PATH}/${SOLVER}_${S_TYPE}_simulation.log