def make_lems_unit(newunit): """ Returns from *newunit* to a lems.Unit definition. """ strunit = _to_lems_unit(newunit) power = int(np.log10((mmetre**2).base)) dimension = _determine_dimension(newunit) return lems.Unit(strunit, symbol=strunit, dimension=dimension, power=power)
#! /usr/bin/python import lems.api as lems model = lems.Model() model.add(lems.Dimension('voltage', m=1, l=3, t=-3, i=-1)) model.add(lems.Dimension('time', t=1)) model.add(lems.Dimension('capacitance', m=-1, l=-2, t=4, i=2)) model.add(lems.Unit('milliVolt', 'mV', 'voltage', -3)) model.add(lems.Unit('milliSecond', 'ms', 'time', -3)) model.add(lems.Unit('microFarad', 'uF', 'capacitance', -12)) iaf1 = lems.ComponentType('iaf1') model.add(iaf1) iaf1.add(lems.Parameter('threshold', 'voltage')) iaf1.add(lems.Parameter('reset', 'voltage')) iaf1.add(lems.Parameter('refractoryPeriod', 'time')) iaf1.add(lems.Parameter('capacitance', 'capacitance')) iaf1.add(lems.Exposure('vexp', 'voltage')) dp = lems.DerivedParameter('range', 'threshold - reset', 'voltage') iaf1.add(dp) iaf1.dynamics.add(lems.StateVariable('v','voltage', 'vexp')) iaf1.dynamics.add(lems.DerivedVariable('v2',dimension='voltage', value='v*2')) cdv = lems.ConditionalDerivedVariable('v_abs','voltage') cdv.add(lems.Case('v .geq. 0','v')) cdv.add(lems.Case('v .lt. 0','-1*v')) iaf1.dynamics.add(cdv)
#!/usr/bin/env python3 import lems.api as lems from lems.base.util import validate_lems model = lems.Model() model.add(lems.Dimension(name="time", t=1)) model.add(lems.Unit(name="second", symbol="s", dimension="time", power=1)) model.add( lems.Unit(name="milli second", symbol="ms", dimension="time", power=-3)) lorenz = lems.ComponentType( name="lorenz1963", description= "The Lorenz system is a simplified model for atomspheric convection, derived from the Navier Stokes equations" ) model.add(lorenz) lorenz.add( lems.Parameter(name="sigma", dimension="none", description="Prandtl Number")) lorenz.add( lems.Parameter(name="beta", dimension="none", description="Also named b elsewhere")) lorenz.add( lems.Parameter( name="rho", dimension="none",