/* * Guyton Model: Angiotensin * * Model Status * * This CellML model has been validated. Due to the differences * between procedural code (in this case C-code) and declarative * languages (CellML), some aspects of the original model were * not able to be encapsulated by the CellML model (such as the * damping of variables). This may effect the transient behaviour * of the model, however the steady-state behaviour would remain * the same. The equations in this file and the steady-state output * from the model conform to the results from the MODSIM program. * * Model Structure * * Arthur Guyton (1919-2003) was an American physiologist who became * famous for his 1950s experiments in which he studied the physiology * of cardiac output and its relationship with the peripheral circulation. * The results of these experiments challenged the conventional * wisdom that it was the heart itself that controlled cardiac * output. Instead Guyton demonstrated that it was the need of * the body tissues for oxygen which was the real regulator of * cardiac output. The "Guyton Curves" describe the relationship * between right atrial pressures and cardiac output, and they * form a foundation for understanding the physiology of circulation. * * The Guyton model of fluid, electrolyte, and circulatory regulation * is an extensive mathematical model of human circulatory physiology, * capable of simulating a variety of experimental conditions, * and contains a number of linked subsystems relating to circulation * and its neuroendocrine control. * * This is a CellML translation of the Guyton model of the regulation * of the circulatory system. The complete model consists of separate * modules each of which characterise a separate physiological * subsystems. The Circulation Dynamics is the primary system, * to which other modules/blocks are connected. The other modules * characterise the dynamics of the kidney, electrolytes and cell * water, thirst and drinking, hormone regulation, autonomic regulation, * cardiovascular system etc, and these feedback on the central * circulation model. The CellML code in these modules is based * on the C code from the programme C-MODSIM created by Dr Jean-Pierre * Montani. * * This particular CellML model describes the control functions * of angiotensin, beginning with the control of angiotensin formation * by the kidneys in response to changes in the rate of flow of * fluid in the renal tubules at the macula densa (MDFLW), and * extending through a series of curve-fitting and sensitivity * controlled equations to determine the multiple feedback effects * of angiotensin to control the various aspects of circulatory * function. * * model diagram * * [[Image file: full_model.png]] * * A systems analysis diagram for the full Guyton model describing * circulation regulation. * * model diagram * * [[Image file: angiotensin.png]] * * A schematic diagram of the components and processes described * in the current CellML model. * * There are several publications referring to the Guyton model. * One of these papers is cited below: * * Circulation: Overall Regulation, A.C. Guyton, T.G. Coleman, * and H.J. Granger, 1972, Annual Review of Physiology , 34, 13-44. * PubMed ID: 4334846 */ import nsrunit; unit conversion on; unit minute=60 second^1; unit L_per_minute=1.6666667E-5 meter^3*second^(-1); math main { realDomain time minute; time.min=0; extern time.max; extern time.delta; real MDFLW L_per_minute; MDFLW=1.00051; real ANGSCR dimensionless; real MDFLW3 L_per_minute; real ANX1(time) dimensionless; when(time=time.min) ANX1=0.0; real ANXM dimensionless; ANXM=0; real ANV minute; ANV=5000; real ANX dimensionless; real ANPR(time) dimensionless; real REK dimensionless; REK=1; real ANPRT(time) dimensionless; real ANPR1(time) dimensionless; real ANGKNS dimensionless; ANGKNS=0; real ANGINF dimensionless; ANGINF=0; real ANC(time) dimensionless; when(time=time.min) ANC=0.859476; real ANT minute; ANT=12; real ANM(time) dimensionless; real ANMUL dimensionless; ANMUL=1.8; real ANMLL dimensionless; ANMLL=0.7; real ANCSNS dimensionless; ANCSNS=0.4; real ANU(time) dimensionless; real ANUM dimensionless; ANUM=6; real ANULL dimensionless; ANULL=0.8; real ANU1(time) dimensionless; real ANUVN(time) dimensionless; real ANUVM dimensionless; ANUVM=0; real Z12 dimensionless; Z12=5; // // // MDFLW3=MDFLW; ANGSCR=(if (MDFLW3>(1 L_per_minute)) (1 L_per_minute)/((1 L_per_minute)+(MDFLW3-(1 L_per_minute))*72) else 10-(9 L_per_minute)/((1 L_per_minute)+((1 L_per_minute)-MDFLW3)*8)); // ANX=((ANGSCR-1)*ANXM); ANX1:time=((ANX-ANX1)/ANV); // ANPRT=((ANGSCR+ANX1)*REK); ANPR=(if (ANPRT<1E-5) 1E-5 else ANPRT); // ANPR1=(if (ANGKNS>0) ANGKNS else ANPR+ANGINF); // ANC:time=((ANPR1-ANC)/ANT); // ANM=(ANMUL-(ANMUL-1)/((ANMLL-1)/(ANMLL-ANMUL)*(ANC-1)*ANCSNS+1)); // ANU1=((ANM-1)*ANUM+1); ANU=(if (ANU1 ANUVN=((ANU-1)*ANUVM+1); // }