diff --git a/core/MarkovProcesses.jl b/core/MarkovProcesses.jl index 946d155f36bb24e0928ee995ff53710196bcaef9..5fb0ec4540c0c6e4ca0ac7eff053e5d72f4e2f54 100644 --- a/core/MarkovProcesses.jl +++ b/core/MarkovProcesses.jl @@ -22,6 +22,7 @@ export load_automaton, get_index, get_value, length_var, isaccepted # Model related methods export simulate, set_param!, get_param, set_observed_var! +export set_time_bound! export isbounded, isaccepted, check_consistency export load_model, get_module_path diff --git a/core/model.jl b/core/model.jl index 03099d0a294d3b6a7f1c7f9df5cf446fa183a212..bbbf51d092dd8a3f6b73ded353828b7903d77554 100644 --- a/core/model.jl +++ b/core/model.jl @@ -139,4 +139,5 @@ end set_param!(m::ContinuousTimeModel, p::Vector{Float64}) = (m.p = p) set_param!(m::ContinuousTimeModel, name_p::String, p_i::Float64) = (m.p[m.map_param_idx[name_p]] = p_i) get_param(m::ContinuousTimeModel) = m.p +set_time_bound!(m::ContinuousTimeModel, b::Float64) = (m.time_bound = b) diff --git a/tests/cosmos/distance_F/ER_1D.jl b/tests/cosmos/distance_F/ER_1D.jl index 4c7a50288c2f4106e3497ed7a336644a949e7d4c..96ce2bf6e61226b050c27931a51ab2ebfab95465 100644 --- a/tests/cosmos/distance_F/ER_1D.jl +++ b/tests/cosmos/distance_F/ER_1D.jl @@ -39,7 +39,7 @@ for exp in l_exp for i in 1:nb_param # Cosmos estimation k3 = l_k3[i] - command = `Cosmos $(absolute_path * "distance_F/" * str_model * ".gspn") + command = `Cosmos $(absolute_path * "models/" * str_model * ".gspn") $(absolute_path * "distance_F/dist_F_" * str_model * ".lha") --njob $(ENV["JULIA_NUM_THREADS"]) --const k_3=$(k3),x1=$x1,x2=$x2,t1=$t1,t2=$t2 --level $(level) --width $(width) diff --git a/tests/cosmos/distance_F/ER.gspn b/tests/cosmos/models/ER.gspn similarity index 100% rename from tests/cosmos/distance_F/ER.gspn rename to tests/cosmos/models/ER.gspn diff --git a/tests/cosmos/models/SIR.gspn b/tests/cosmos/models/SIR.gspn new file mode 100644 index 0000000000000000000000000000000000000000..9fc21ae877089522be5264d46a9cc0d6dd1de041 --- /dev/null +++ b/tests/cosmos/models/SIR.gspn @@ -0,0 +1,33 @@ + +const double ki = 0.0012; +const double kr = 0.05; + +NbPlaces = 3; +NbTransitions = 2; + +PlacesList ={ S, I, R }; + +TransitionsList ={ Infection, Recovery }; + +Marking={ + (S, 95); + (I, 5); + (R, 0); +}; + +Transitions ={ + (Infection, EXPONENTIAL(ki*S*I), 1, 1, SINGLE); + (Recovery, EXPONENTIAL(kr*I), 1, 1, SINGLE); +}; + +InArcs ={ + (S, Infection, 1); + (I, Infection, 1); + (I, Recovery, 1); +}; + +OutArcs ={ + (Infection, I, 2); + (Recovery, R, 1); +}; +