make_declarative#

pharmpy.modeling.make_declarative(model)[source]#

Make the model statments declarative

Each symbol will only be declared once.

Parameters:

model (Model) – Pharmpy model

Returns:

Model – Pharmpy model object

Examples

>>> from pharmpy.modeling import *
>>> model = load_example_model("pheno")
>>> model.statements.before_odes
BTIME = {TIME  for AMT > 0
TAD = -BTIME + TIME
TVCL = PTVCL⋅WGT
TVV = PTVV⋅WGT
      ⎧TVV⋅(THETA₃ + 1)  for APGR < 5

TVV = ⎩       TVV           otherwise
           ETA₁
CL = TVCL⋅ℯ
         ETA₂
V = TVV⋅ℯ
S₁ = V
>>> model = make_declarative(model)
>>> model.statements.before_odes
BTIME = {TIME  for AMT > 0
TAD = -BTIME + TIME
TVCL = PTVCL⋅WGT
      ⎧PTVV⋅WGT⋅(THETA₃ + 1)  for APGR < 5

TVV = ⎩      PTVV⋅WGT          otherwise
           ETA₁
CL = TVCL⋅ℯ
         ETA₂
V = TVV⋅ℯ
S₁ = V