public PressureOutletRCR(BoundaryCondition BC, GetBetaFunction getElsticBeta, double _R1, double _R2, double _C) : base(BC.core_node, BC.current_time) { // Windkessel params, R2 is parallel to C // R1 = _R1; R2 = _R2; C = _C; //////////////////////////////////////////// //tx_ij - i - time moment, j - space point, 1 - current moment (core node), 0 -previous moment (previus point)/ U_tx_10 = 0; U_tx_01 = 0; P_tx_10 = GlobalDefs.DIASTOLIC_PRESSURE; P_tx_01 = GlobalDefs.DIASTOLIC_PRESSURE; P_tx_11 = GlobalDefs.DIASTOLIC_PRESSURE; A_tx_01 = core_node.lumen_sq_0; A_tx_10 = core_node.lumen_sq_0; Q_t_1 = 0; Q_t_0 = 0; /////////////////////////////////////////// beta_1 = GlobalDefs.getBoileauBeta(core_node.radius, core_node.elasticity) / core_node.lumen_sq_0; chrt_function = delegate(double A_tx_11) { double chrt_frw_right = Q_t_1 / A_tx_11 + 4 * Math.Pow(A_tx_11, 0.25f) * Math.Sqrt(beta_1 / 2.0f / GlobalDefs.BLOOD_DENSITY); return(chrt_frw_left - chrt_frw_right); }; DefineSign(); }
public void setRad(float _rad, float _elasticity) { lumen_sq_0 = (double)Math.PI * _rad * _rad; radius = _rad; double beta = GlobalDefs.getBoileauBeta(_rad, _elasticity); lumen_sq = lumen_sq_0; }
public VascularNode(int _id, Vector1 _position, double _rad, double _elasticity, int _nodetype) { radius = (float)_rad; id = _id; position = _position; neighbours = new List <VascularNode>(); lumen_sq_0 = (double)Math.PI * _rad * _rad; double beta = GlobalDefs.getBoileauBeta(_rad, _elasticity); lumen_sq = lumen_sq_0; pressure = GlobalDefs.DIASTOLIC_PRESSURE; velocity = 0; elasticity = _elasticity; nodetype = _nodetype; }
public WaveTransmissive(BoundaryCondition BC, GetBetaFunction getElsticBeta) : base(BC.core_node, BC.current_time) { //tx_ij - i - time moment, j - space point, 1 - current moment (core node), 0 -previous moment (previus point)/ Q_tx_10 = 0; Q_tx_01 = 0; P_tx_10 = GlobalDefs.DIASTOLIC_PRESSURE; P_tx_01 = GlobalDefs.DIASTOLIC_PRESSURE; P_tx_11 = GlobalDefs.DIASTOLIC_PRESSURE; Q_t_1 = 0; Q_t_1 = 0; /////////////////////////////////////////// beta_1 = GlobalDefs.getBoileauBeta(core_node.radius, core_node.elasticity) / core_node.lumen_sq_0; chrt_function = delegate(double A_tx_11) { double chrt_frw_right = Q_t_1 / A_tx_11 + 4 * Math.Pow(A_tx_11, 0.25f) * Math.Sqrt(beta_1 / 2.0f / GlobalDefs.BLOOD_DENSITY); return(chrt_frw_left - chrt_frw_right); }; DefineSign(); }