# ---------------------------------------------------------------------- # RTD without units # ---------------------------------------------------------------------- """PVL perfusion sampling model.""" from sbmlutils.cytoscape import visualize_sbml from sbmlutils.factory import * from sbmlutils.metadata import * mid = "RTD" version = 1 _m = Model( sid=f"{mid}", name="RTD", notes=f""" SBML format. **version:** {version} ## Changelog **version 1** - initial """, creators=[ Creator( familyName="Höpfl", givenName="Sebastian", email="sebastian.hoepfl@isa.uni-stuttgart.de", organization="University of Stuttgart, Institute for Stochastics and Applications", ) ] ) _m.functions = [ Function( sid="time_trafo", name="Time transformation for the retarded response", value="lambda(time, Tshift, Trange, " "1 * (log(power(10, (time*10 /Trange)) + power(10, Tshift/1))" " - log(1 + power(10, Tshift/1))))", sboTerm=SBO.SBO_0000474 ) ] _m.parameters.extend([ Parameter(sid="Asus", value=1.0), Parameter(sid="Atrans", value=1.0), Parameter(sid="t1", value=1.0), Parameter(sid="t11", value=1.0), Parameter(sid="t2", value=3.0), Parameter(sid="p0", value=0.1), Parameter(sid="Tshift", value=-2.0), Parameter(sid="Trange", value=5.0) ]) _m.rules.extend([ AssignmentRule( "y", value="Asus * (1 - exp(-time_trafo(time, Tshift, Trange)/t1)) " "+ Atrans * (1 - exp(-time_trafo(time, Tshift, Trange)/t11)) * exp(-time_trafo(time, Tshift, Trange)/t2)" " + p0", name="response", ) ]) if __name__ == "__main__": results = create_model( filepath= f"{mid}.xml", model=[ _m, ], sbml_level=3, sbml_version=2, validation_options=ValidationOptions(units_consistency=False) ) visualize_sbml(results.sbml_path, delete_session=False)