Files

Model file: 1cpt.model.R

## Description ####
# 1-compartment model with 1st-order absorption rate and 
# linear elimination 
#
# Date: 06-02-2019
# 
# Units: 
# - time in hr
# - volumes in L
# - masses of substances in mg
# - concentrations of substances in mg/L

## States ####
States = { 
  A_gut,      # Amount in the gut (mg)
  A_central,  # Amount in central compartment (mg)
  A_elim,     # Amount elimination (mg)
  }     

## Outputs ####
Outputs = {
  BW,         # Body weight (kg)
  C_central,  # Concentration in central compartment (mg/L)
  A_total,    # Total quantity for mass balance (Cumulative intake dose)
  }    

## Inputs ####
Inputs = { Dose } # Oral dose (mg) 

## Parameters ####

# Dosing
Dose = 1.0;   # Oral dose (mg/kg)
TChng = 0.05;   # Infusion duration (hr)

# Chemical-specific parameters
Ka = 0.1;             # Gut absorption rate constant (1/h)
Ke = 0.1;             # Elimination rate constant (1/h)
Pct_M_central = 0.05; # % body weight

## Dynamics ####
Dynamics {
  
  t1 = t / 24.0; # time in day
  
  # Body weight (kg) 
  BW = (t1 < 1 ? 60 : 
          (t1 < 2 ? 61 :
             (t1 < 3 ? 62 :
                (t1 < 4 ? 63 :
                   (t1 < 5 ? 64 :
                      65)))));
  
  V_central = BW * Pct_M_central; 
  
  # Infusion rate (/h)
  kDose = Dose / TChng; 
  
  # Rate of amount change in the gut (mg/h)
  dt (A_gut) = kDose - Ka * A_gut;
  dt (A_elim) = Ke * A_central;
  dt (A_central) = Ka * A_gut - dt(A_elim);
  
  C_central = A_central / V_central;
}

## CalcOutputs ####
CalcOutputs { 
  BW = BW;
  C_central = C_central;
  A_total = A_gut + A_central + A_elim;
}

End.

Input file: 1cpt.in.R

# ./mcsim.1cpt.model.R.exe 1cpt.in.R
Ka      = 1.9;  
Pct_M_central = 1;

Simulation { # Intake 1, 2, 3, 4, 5 mg at 1, 2,3, 4, 5 day 
  Dose = NDoses(10, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 
                0, 0.05, 24, 24.05, 48, 48.05, 72, 72.05, 96,   96.05 ); 
  #BW = 60;
  PrintStep (BW, Dose, A_central, A_elim, A_total, C_central, 0, 120, 24);
}

End.

Modeling

y <- mcsim("1cpt.model.R","1cpt.in.R")
Execute: ./mcsim.1cpt.model.R.exe modeling/1cpt.in.R

________________________________________

MCSim v6.1.0

Copyright (c) 1993-2019 Free Software Foundation, Inc.

MCSim comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions; see the GNU General Public License.

* Using `modeling/1cpt.model.R' model in file "1cpt.model.R.c" created by ./MCSim/mod.exe v6.1.0

Reading experiment 1.

Doing analysis - 1 normal experiment 
 1
Wrote output file "sim.out"
Done.
y

Estimated body burden

Body_burden <- y$Dose / y$BW
Body_burden
[1] 0.01666667 0.03278689 0.04838710 0.06349206 0.07812500 0.00000000
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCmVkaXRvcl9vcHRpb25zOiAKICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lCi0tLQoKIyMgRmlsZXMKCk1vZGVsIGZpbGU6IDFjcHQubW9kZWwuUgoKYGBgcgojIyBEZXNjcmlwdGlvbiAjIyMjCiMgMS1jb21wYXJ0bWVudCBtb2RlbCB3aXRoIDFzdC1vcmRlciBhYnNvcnB0aW9uIHJhdGUgYW5kIAojIGxpbmVhciBlbGltaW5hdGlvbiAKIwojIERhdGU6IDA2LTAyLTIwMTkKIyAKIyBVbml0czogCiMgLSB0aW1lIGluIGhyCiMgLSB2b2x1bWVzIGluIEwKIyAtIG1hc3NlcyBvZiBzdWJzdGFuY2VzIGluIG1nCiMgLSBjb25jZW50cmF0aW9ucyBvZiBzdWJzdGFuY2VzIGluIG1nL0wKCiMjIFN0YXRlcyAjIyMjClN0YXRlcyA9IHsgCiAgQV9ndXQsICAgICAgIyBBbW91bnQgaW4gdGhlIGd1dCAobWcpCiAgQV9jZW50cmFsLCAgIyBBbW91bnQgaW4gY2VudHJhbCBjb21wYXJ0bWVudCAobWcpCiAgQV9lbGltLCAgICAgIyBBbW91bnQgZWxpbWluYXRpb24gKG1nKQogIH0gICAgIAoKIyMgT3V0cHV0cyAjIyMjCk91dHB1dHMgPSB7CiAgQlcsICAgICAgICAgIyBCb2R5IHdlaWdodCAoa2cpCiAgQ19jZW50cmFsLCAgIyBDb25jZW50cmF0aW9uIGluIGNlbnRyYWwgY29tcGFydG1lbnQgKG1nL0wpCiAgQV90b3RhbCwgICAgIyBUb3RhbCBxdWFudGl0eSBmb3IgbWFzcyBiYWxhbmNlIChDdW11bGF0aXZlIGludGFrZSBkb3NlKQogIH0gICAgCgojIyBJbnB1dHMgIyMjIwpJbnB1dHMgPSB7IERvc2UgfSAjIE9yYWwgZG9zZSAobWcpIAoKIyMgUGFyYW1ldGVycyAjIyMjCgojIERvc2luZwpEb3NlID0gMS4wOyAgICMgT3JhbCBkb3NlIChtZy9rZykKVENobmcgPSAwLjA1OwkjIEluZnVzaW9uIGR1cmF0aW9uIChocikKCiMgQ2hlbWljYWwtc3BlY2lmaWMgcGFyYW1ldGVycwpLYSA9IDAuMTsgICAgICAgICAgICAgIyBHdXQgYWJzb3JwdGlvbiByYXRlIGNvbnN0YW50ICgxL2gpCktlID0gMC4xOyAgICAgICAgICAgICAjIEVsaW1pbmF0aW9uIHJhdGUgY29uc3RhbnQgKDEvaCkKUGN0X01fY2VudHJhbCA9IDAuMDU7ICMgJSBib2R5IHdlaWdodAoKIyMgRHluYW1pY3MgIyMjIwpEeW5hbWljcyB7CiAgCiAgdDEgPSB0IC8gMjQuMDsgIyB0aW1lIGluIGRheQogIAogICMgQm9keSB3ZWlnaHQgKGtnKSAKICBCVyA9ICh0MSA8IDEgPyA2MCA6IAogICAgICAgICAgKHQxIDwgMiA/IDYxIDoKICAgICAgICAgICAgICh0MSA8IDMgPyA2MiA6CiAgICAgICAgICAgICAgICAodDEgPCA0ID8gNjMgOgogICAgICAgICAgICAgICAgICAgKHQxIDwgNSA/IDY0IDoKICAgICAgICAgICAgICAgICAgICAgIDY1KSkpKSk7CiAgCiAgVl9jZW50cmFsID0gQlcgKiBQY3RfTV9jZW50cmFsOyAKICAKICAjIEluZnVzaW9uIHJhdGUgKC9oKQogIGtEb3NlID0gRG9zZSAvIFRDaG5nOyAKICAKICAjIFJhdGUgb2YgYW1vdW50IGNoYW5nZSBpbiB0aGUgZ3V0IChtZy9oKQogIGR0IChBX2d1dCkgPSBrRG9zZSAtIEthICogQV9ndXQ7CiAgZHQgKEFfZWxpbSkgPSBLZSAqIEFfY2VudHJhbDsKICBkdCAoQV9jZW50cmFsKSA9IEthICogQV9ndXQgLSBkdChBX2VsaW0pOwogIAogIENfY2VudHJhbCA9IEFfY2VudHJhbCAvIFZfY2VudHJhbDsKfQoKIyMgQ2FsY091dHB1dHMgIyMjIwpDYWxjT3V0cHV0cyB7IAogIEJXID0gQlc7CiAgQ19jZW50cmFsID0gQ19jZW50cmFsOwogIEFfdG90YWwgPSBBX2d1dCArIEFfY2VudHJhbCArIEFfZWxpbTsKfQoKRW5kLgoKYGBgCgpJbnB1dCBmaWxlOiAxY3B0LmluLlIKCmBgYHIKIyAuL21jc2ltLjFjcHQubW9kZWwuUi5leGUgMWNwdC5pbi5SCkthICAgICAgPSAxLjk7ICAKUGN0X01fY2VudHJhbCA9IDE7CgpTaW11bGF0aW9uIHsgIyBJbnRha2UgMSwgMiwgMywgNCwgNSBtZyBhdCAxLCAyLDMsIDQsIDUgZGF5IAogIERvc2UgPSBORG9zZXMoMTAsIDEsIDAsIDIsIDAsIDMsIDAsIDQsIDAsIDUsIDAsIAogICAgICAgICAgICAgICAgMCwgMC4wNSwgMjQsIDI0LjA1LCA0OCwgNDguMDUsIDcyLCA3Mi4wNSwgOTYsCTk2LjA1ICk7IAogICNCVyA9IDYwOwogIFByaW50U3RlcCAoQlcsIERvc2UsIEFfY2VudHJhbCwgQV9lbGltLCBBX3RvdGFsLCBDX2NlbnRyYWwsIDAsIDEyMCwgMjQpOwp9CgpFbmQuCmBgYAoKIyMgTW9kZWxpbmcKCmBgYHtyfQp5IDwtIG1jc2ltKCIxY3B0Lm1vZGVsLlIiLCIxY3B0LmluLlIiKQpgYGAKCmBgYHtyfQp5CmBgYAoKIyMgRXN0aW1hdGVkIGJvZHkgYnVyZGVuCgpgYGB7cn0KQm9keV9idXJkZW4gPC0geSREb3NlIC8geSRCVwpCb2R5X2J1cmRlbgpgYGAKCgo=