// (WARNING: DO NOT EDIT) Machine generated by pbpk2cpp.cpp on Sat Mar 08 15:12:11 2008 // Title: PBPk of Diazepam, (Oral: 2mg) (vs Friedman1992, 2mg) #include #include #include #include #include // global constants const double global_totalVolume = 70000.0 ; const double global_totalFlow = (6000.0 / 60.0) ; const double global_startTime = 0 ; const double global_stopTime = (13 * 3600) ; const double global_dTime = 1.0 ; // substance constants const double diazepam_blood2PlasmaRatio = 0.57 ; const double diazepam_siinternalTransitRate = (41.9e-5) ; const double diazepam_siabsorptionRate = (49.7e-5) ; // compartment constants const double venousBlood_volume = 0.0557 * global_totalVolume ; const double arterialBlood_volume = 0.0243 * global_totalVolume ; const double rest_volume = 0.1347 * global_totalVolume ; const double rest_bloodFlow = 0.08 ; const double adiposeTissue_volume = 0.25 * global_totalVolume ; const double adiposeTissue_bloodFlow = 0.10 ; const double skin_volume = 0.0371 * global_totalVolume ; const double skin_bloodFlow = 0.05 ; const double muscle_volume = 0.4143 * global_totalVolume ; const double muscle_bloodFlow = 0.17 ; const double gastrointestinalTract_volume = 0.0214 * global_totalVolume ; const double gastrointestinalTract_bloodFlow = 0.190 ; const double kidneys_volume = 0.0044 * global_totalVolume ; const double kidneys_bloodFlow = 0.19 ; const double liver_volume = 0.0257 * global_totalVolume ; const double liver_bloodFlow = 0.060 ; const double liver_bloodFlowOutput = 0.25 ; const double heart_volume = 0.0047 * global_totalVolume ; const double heart_bloodFlow = 0.04 ; const double brain_volume = 0.02 * global_totalVolume ; const double brain_bloodFlow = 0.120 ; const double lungs_volume = 0.0077 * global_totalVolume ; // compartment substance variables and constants double venousBlood_diazepam_amount = 0.0 ; const double venousBlood_diazepam_rateConstant = (global_totalFlow) / venousBlood_volume ; double arterialBlood_diazepam_amount = 0.0 ; const double arterialBlood_diazepam_rateConstant = (global_totalFlow) / arterialBlood_volume ; double rest_diazepam_amount = 0.0 ; const double rest_diazepam_partitionCoefficientBlood = 0.07 ; const double rest_diazepam_rateConstant = (rest_bloodFlow * global_totalFlow) / (rest_volume * rest_diazepam_partitionCoefficientBlood) ; double adiposeTissue_diazepam_amount = 0.0 ; const double adiposeTissue_diazepam_partitionCoefficientBlood = 4.4 ; const double adiposeTissue_diazepam_rateConstant = (adiposeTissue_bloodFlow * global_totalFlow) / (adiposeTissue_volume * adiposeTissue_diazepam_partitionCoefficientBlood) ; double skin_diazepam_amount = 0.0 ; const double skin_diazepam_partitionCoefficientBlood = 0.80 ; const double skin_diazepam_rateConstant = (skin_bloodFlow * global_totalFlow) / (skin_volume * skin_diazepam_partitionCoefficientBlood) ; double muscle_diazepam_amount = 0.0 ; const double muscle_diazepam_partitionCoefficientBlood = 0.38 ; const double muscle_diazepam_rateConstant = (muscle_bloodFlow * global_totalFlow) / (muscle_volume * muscle_diazepam_partitionCoefficientBlood) ; double gastrointestinalTract_diazepam_amount = 0.0 ; const double gastrointestinalTract_diazepam_partitionCoefficientBlood = 0.69 ; const double gastrointestinalTract_diazepam_rateConstant = (gastrointestinalTract_bloodFlow * global_totalFlow) / (gastrointestinalTract_volume * gastrointestinalTract_diazepam_partitionCoefficientBlood) ; double colon_diazepam_amount = 0.0 ; double smallIntestine5_diazepam_amount = 0.0 ; const double smallIntestine5_diazepam_internalTransitRateConstant = (diazepam_siinternalTransitRate) ; const double smallIntestine5_diazepam_absorptionRateConstant = (diazepam_siabsorptionRate ) ; double smallIntestine4_diazepam_amount = 0.0 ; const double smallIntestine4_diazepam_internalTransitRateConstant = (diazepam_siinternalTransitRate) ; const double smallIntestine4_diazepam_absorptionRateConstant = (diazepam_siabsorptionRate ) ; double smallIntestine3_diazepam_amount = 0.0 ; const double smallIntestine3_diazepam_internalTransitRateConstant = (diazepam_siinternalTransitRate) ; const double smallIntestine3_diazepam_absorptionRateConstant = (diazepam_siabsorptionRate ) ; double smallIntestine2_diazepam_amount = 0.0 ; const double smallIntestine2_diazepam_internalTransitRateConstant = (diazepam_siinternalTransitRate) ; const double smallIntestine2_diazepam_absorptionRateConstant = (diazepam_siabsorptionRate ) ; double smallIntestine1_diazepam_amount = 0.0 ; const double smallIntestine1_diazepam_internalTransitRateConstant = (diazepam_siinternalTransitRate) ; const double smallIntestine1_diazepam_absorptionRateConstant = (diazepam_siabsorptionRate ) ; double stomach_diazepam_amount = 0.0 ; const double stomach_diazepam_gastricEmptyingRateConstant = (167e-5) ; double kidneys_diazepam_amount = 0.0 ; const double kidneys_diazepam_partitionCoefficientBlood = 0.7 ; const double kidneys_diazepam_rateConstant = (kidneys_bloodFlow * global_totalFlow) / (kidneys_volume * kidneys_diazepam_partitionCoefficientBlood) ; double liver_diazepamExcreted_amount = 0.0 ; double liver_diazepam_amount = 0.0 ; const double liver_diazepam_partitionCoefficientBlood = 0.84 ; const double liver_diazepam_clearanceBlood = 0.9747 ; const double liver_diazepam_rateConstant = (liver_bloodFlowOutput * global_totalFlow) / (liver_volume * liver_diazepam_partitionCoefficientBlood) ; const double liver_diazepam_excretionRatio = liver_diazepam_clearanceBlood / liver_volume ; double heart_diazepam_amount = 0.0 ; const double heart_diazepam_partitionCoefficientBlood = 0.9 ; const double heart_diazepam_rateConstant = (heart_bloodFlow * global_totalFlow) / (heart_volume * heart_diazepam_partitionCoefficientBlood) ; double brain_diazepam_amount = 0.0 ; const double brain_diazepam_partitionCoefficientBlood = 0.35 ; const double brain_diazepam_rateConstant = (brain_bloodFlow * global_totalFlow) / (brain_volume * brain_diazepam_partitionCoefficientBlood) ; double lungs_diazepam_amount = 0.0 ; const double lungs_diazepam_partitionCoefficientBlood = 0.59 ; const double lungs_diazepam_rateConstant = (global_totalFlow) / (lungs_volume * lungs_diazepam_partitionCoefficientBlood) ; void InjectSubstance (double currentTime) { static int finished = 0; if (finished) { return; } /* if */ if (currentTime >= 0) { stomach_diazepam_amount += 2.0e6; finished = 1; } /* if */ } void PlotPhysiology (double currentTime) { static double nextPlot = 0.0; if (currentTime >= nextPlot) { nextPlot += 60; printf("%g ",currentTime / 3600.0); printf("%g ",brain_diazepam_amount / brain_volume); printf("%g ",kidneys_diazepam_amount / kidneys_volume); printf("%g ",adiposeTissue_diazepam_amount / adiposeTissue_volume); printf("%g ",venousBlood_diazepam_amount / (venousBlood_volume * diazepam_blood2PlasmaRatio )); // convert Cbloodtotal to Cplasma printf("\n"); printf("# diazepamTotal: %g\n",stomach_diazepam_amount + colon_diazepam_amount + smallIntestine1_diazepam_amount + smallIntestine2_diazepam_amount + smallIntestine3_diazepam_amount + smallIntestine4_diazepam_amount + smallIntestine5_diazepam_amount + lungs_diazepam_amount + brain_diazepam_amount + heart_diazepam_amount + liver_diazepam_amount + liver_diazepamExcreted_amount + kidneys_diazepam_amount + gastrointestinalTract_diazepam_amount + muscle_diazepam_amount + skin_diazepam_amount + adiposeTissue_diazepam_amount + rest_diazepam_amount + arterialBlood_diazepam_amount + venousBlood_diazepam_amount); } /* if */ } void ProcessPhysiologyTop (double currentTime) // Eulers { double venousBlood_diazepam_dAmount = 0.0; double arterialBlood_diazepam_dAmount = 0.0; double rest_diazepam_dAmount = 0.0; double adiposeTissue_diazepam_dAmount = 0.0; double skin_diazepam_dAmount = 0.0; double muscle_diazepam_dAmount = 0.0; double gastrointestinalTract_diazepam_dAmount = 0.0; double colon_diazepam_dAmount = 0.0; double smallIntestine5_diazepam_dAmount = 0.0; double smallIntestine4_diazepam_dAmount = 0.0; double smallIntestine3_diazepam_dAmount = 0.0; double smallIntestine2_diazepam_dAmount = 0.0; double smallIntestine1_diazepam_dAmount = 0.0; double stomach_diazepam_dAmount = 0.0; double kidneys_diazepam_dAmount = 0.0; double liver_diazepamExcreted_dAmount = 0.0; double liver_diazepam_dAmount = 0.0; double heart_diazepam_dAmount = 0.0; double brain_diazepam_dAmount = 0.0; double lungs_diazepam_dAmount = 0.0; venousBlood_diazepam_dAmount = -(venousBlood_diazepam_rateConstant * venousBlood_diazepam_amount) + (rest_diazepam_rateConstant * rest_diazepam_amount) + (adiposeTissue_diazepam_rateConstant * adiposeTissue_diazepam_amount) + (skin_diazepam_rateConstant * skin_diazepam_amount) + (muscle_diazepam_rateConstant * muscle_diazepam_amount) + (kidneys_diazepam_rateConstant * kidneys_diazepam_amount) + (liver_diazepam_rateConstant * liver_diazepam_amount) + (heart_diazepam_rateConstant * heart_diazepam_amount) + (brain_diazepam_rateConstant * brain_diazepam_amount) ; arterialBlood_diazepam_dAmount = -(arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) + (lungs_diazepam_rateConstant * lungs_diazepam_amount) ; rest_diazepam_dAmount = -(rest_diazepam_rateConstant * rest_diazepam_amount) + (rest_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; adiposeTissue_diazepam_dAmount = -(adiposeTissue_diazepam_rateConstant * adiposeTissue_diazepam_amount) + (adiposeTissue_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; skin_diazepam_dAmount = -(skin_diazepam_rateConstant * skin_diazepam_amount) + (skin_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; muscle_diazepam_dAmount = -(muscle_diazepam_rateConstant * muscle_diazepam_amount) + (muscle_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; gastrointestinalTract_diazepam_dAmount = -(gastrointestinalTract_diazepam_rateConstant * gastrointestinalTract_diazepam_amount) + (smallIntestine1_diazepam_absorptionRateConstant * smallIntestine1_diazepam_amount) + (smallIntestine2_diazepam_absorptionRateConstant * smallIntestine2_diazepam_amount) + (smallIntestine3_diazepam_absorptionRateConstant * smallIntestine3_diazepam_amount) + (smallIntestine4_diazepam_absorptionRateConstant * smallIntestine4_diazepam_amount) + (smallIntestine5_diazepam_absorptionRateConstant * smallIntestine5_diazepam_amount) + (gastrointestinalTract_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; colon_diazepam_dAmount = (smallIntestine5_diazepam_internalTransitRateConstant * smallIntestine5_diazepam_amount) ; smallIntestine5_diazepam_dAmount = -(smallIntestine5_diazepam_internalTransitRateConstant * smallIntestine5_diazepam_amount) - (smallIntestine5_diazepam_absorptionRateConstant * smallIntestine5_diazepam_amount) + (smallIntestine4_diazepam_internalTransitRateConstant * smallIntestine4_diazepam_amount) ; smallIntestine4_diazepam_dAmount = -(smallIntestine4_diazepam_internalTransitRateConstant * smallIntestine4_diazepam_amount) - (smallIntestine4_diazepam_absorptionRateConstant * smallIntestine4_diazepam_amount) + (smallIntestine3_diazepam_internalTransitRateConstant * smallIntestine3_diazepam_amount) ; smallIntestine3_diazepam_dAmount = -(smallIntestine3_diazepam_internalTransitRateConstant * smallIntestine3_diazepam_amount) - (smallIntestine3_diazepam_absorptionRateConstant * smallIntestine3_diazepam_amount) + (smallIntestine2_diazepam_internalTransitRateConstant * smallIntestine2_diazepam_amount) ; smallIntestine2_diazepam_dAmount = -(smallIntestine2_diazepam_internalTransitRateConstant * smallIntestine2_diazepam_amount) - (smallIntestine2_diazepam_absorptionRateConstant * smallIntestine2_diazepam_amount) + (smallIntestine1_diazepam_internalTransitRateConstant * smallIntestine1_diazepam_amount) ; smallIntestine1_diazepam_dAmount = -(smallIntestine1_diazepam_internalTransitRateConstant * smallIntestine1_diazepam_amount) - (smallIntestine1_diazepam_absorptionRateConstant * smallIntestine1_diazepam_amount) + (stomach_diazepam_gastricEmptyingRateConstant * stomach_diazepam_amount) ; stomach_diazepam_dAmount = -(stomach_diazepam_gastricEmptyingRateConstant * stomach_diazepam_amount) ; kidneys_diazepam_dAmount = -(kidneys_diazepam_rateConstant * kidneys_diazepam_amount) + (kidneys_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; liver_diazepamExcreted_dAmount = (liver_diazepam_excretionRatio * liver_diazepam_amount) ; liver_diazepam_dAmount = -(liver_diazepam_rateConstant * liver_diazepam_amount) - (liver_diazepam_excretionRatio * liver_diazepam_amount) + (liver_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) + (gastrointestinalTract_diazepam_rateConstant * gastrointestinalTract_diazepam_amount) ; heart_diazepam_dAmount = -(heart_diazepam_rateConstant * heart_diazepam_amount) + (heart_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; brain_diazepam_dAmount = -(brain_diazepam_rateConstant * brain_diazepam_amount) + (brain_bloodFlow * arterialBlood_diazepam_rateConstant * arterialBlood_diazepam_amount) ; lungs_diazepam_dAmount = -(lungs_diazepam_rateConstant * lungs_diazepam_amount) + (venousBlood_diazepam_rateConstant * venousBlood_diazepam_amount) ; venousBlood_diazepam_amount += venousBlood_diazepam_dAmount * global_dTime ; arterialBlood_diazepam_amount += arterialBlood_diazepam_dAmount * global_dTime ; rest_diazepam_amount += rest_diazepam_dAmount * global_dTime ; adiposeTissue_diazepam_amount += adiposeTissue_diazepam_dAmount * global_dTime ; skin_diazepam_amount += skin_diazepam_dAmount * global_dTime ; muscle_diazepam_amount += muscle_diazepam_dAmount * global_dTime ; gastrointestinalTract_diazepam_amount += gastrointestinalTract_diazepam_dAmount * global_dTime ; colon_diazepam_amount += colon_diazepam_dAmount * global_dTime ; smallIntestine5_diazepam_amount += smallIntestine5_diazepam_dAmount * global_dTime ; smallIntestine4_diazepam_amount += smallIntestine4_diazepam_dAmount * global_dTime ; smallIntestine3_diazepam_amount += smallIntestine3_diazepam_dAmount * global_dTime ; smallIntestine2_diazepam_amount += smallIntestine2_diazepam_dAmount * global_dTime ; smallIntestine1_diazepam_amount += smallIntestine1_diazepam_dAmount * global_dTime ; stomach_diazepam_amount += stomach_diazepam_dAmount * global_dTime ; kidneys_diazepam_amount += kidneys_diazepam_dAmount * global_dTime ; liver_diazepamExcreted_amount += liver_diazepamExcreted_dAmount * global_dTime ; liver_diazepam_amount += liver_diazepam_dAmount * global_dTime ; heart_diazepam_amount += heart_diazepam_dAmount * global_dTime ; brain_diazepam_amount += brain_diazepam_dAmount * global_dTime ; lungs_diazepam_amount += lungs_diazepam_dAmount * global_dTime ; } void RunSimulation () { double currentTime; for (currentTime = global_startTime; currentTime < global_stopTime; currentTime += global_dTime) { InjectSubstance(currentTime) ; ProcessPhysiologyTop(currentTime) ; PlotPhysiology(currentTime) ; } /* currentTimeForLoop */ } void main () { RunSimulation(); }