@@ -487,91 +487,86 @@ def p_BiV_func(V_LV, V_RV, t):
487487 regazzoni .print_info ()
488488
489489
490- def main ():
491- circulation .log .setup_logging (logging .INFO )
492- log .set_log_level (log .LogLevel .INFO )
493- logger = logging .getLogger ("pulse" )
494- comm = MPI .COMM_WORLD
495-
496- geodir = Path ("ukb" )
497- if not geodir .exists ():
498- comm .barrier ()
499- cardiac_geometries .mesh .ukb (
500- outdir = geodir ,
501- comm = comm ,
502- mode = - 1 ,
503- case = "ED" ,
504- char_length_max = 10.0 ,
505- char_length_min = 10.0 ,
506- fiber_angle_endo = 60 ,
507- fiber_angle_epi = - 60 ,
508- fiber_space = "DG_0" ,
509- clipped = True ,
510- )
511-
512- outdir = Path ("bleeding_biv" )
513- outdir .mkdir (exist_ok = True )
514-
515- geo = cardiac_geometries .geometry .Geometry .from_folder (
516- comm = comm ,
517- folder = geodir ,
518- )
519- dt = 0.001
520- zenker_history = run_zenker (outdir = outdir )
521- HR_before = zenker_history ["HR_before" ]
522- R_TPR_factor = zenker_history ["R_TPR_factor" ]
523- C_PRSW_factor = zenker_history ["C_PRSW_factor" ]
524- HR_after = zenker_history ["HR_after" ]
525- Pa_before = zenker_history ["Pa" ][zenker_history ["before_index" ]]
526- Pcvp_before = zenker_history ["Pcvp" ][zenker_history ["before_index" ]]
527-
528- Pa_after = zenker_history ["Pa" ][zenker_history ["after_index" ]]
529- Pcvp_after = zenker_history ["Pcvp" ][zenker_history ["after_index" ]]
530- print (f"Pa: { Pa_before } mmHg, Pcvp: { Pcvp_before } mmHg" )
531- print (f"Pa: { Pa_after } mmHg, Pcvp: { Pcvp_after } mmHg" )
532- print (f"HR before: { HR_before } , HR after: { HR_after } " )
533-
534- get_activation_before = run_TorOrdLand (
535- comm , outdir , HR_before , Ta_factor = 1 , label = "before" , dt = dt ,
536- )
537- get_activation_after = run_TorOrdLand (
538- comm , outdir , HR_after , Ta_factor = C_PRSW_factor , label = "after" , dt = dt ,
539- )
490+ circulation .log .setup_logging (logging .INFO )
491+ log .set_log_level (log .LogLevel .INFO )
492+ logger = logging .getLogger ("pulse" )
493+ comm = MPI .COMM_WORLD
540494
541- run_3D_model (
542- comm = comm ,
543- geo = geo ,
544- get_activation = get_activation_before ,
545- outdir = outdir ,
546- label = "before" ,
547- num_beats = 5 ,
548- dt = dt ,
549- HR = HR_before ,
550- p_AR_SYS = Pa_before ,
551- p_AR_PUL = Pa_before * 0.4375 ,
552- p_VEN_SYS = Pcvp_before ,
553- p_VEN_PUL = Pcvp_before * 0.8 ,
554- )
555- run_3D_model (
495+ geodir = Path ("ukb" )
496+ if not geodir .exists ():
497+ comm .barrier ()
498+ cardiac_geometries .mesh .ukb (
499+ outdir = geodir ,
556500 comm = comm ,
557- geo = geo ,
558- get_activation = get_activation_after ,
559- outdir = outdir ,
560- label = "after" ,
561- num_beats = 5 ,
562- dt = dt ,
563- HR = HR_after ,
564- R_TPR_factor = R_TPR_factor ,
565- C_PRSW_factor = C_PRSW_factor ,
566- p_AR_SYS = Pa_after ,
567- p_AR_PUL = Pa_after * 0.4375 ,
568- p_VEN_SYS = Pcvp_after ,
569- p_VEN_PUL = Pcvp_after * 0.8 ,
501+ mode = - 1 ,
502+ case = "ED" ,
503+ char_length_max = 10.0 ,
504+ char_length_min = 10.0 ,
505+ fiber_angle_endo = 60 ,
506+ fiber_angle_epi = - 60 ,
507+ fiber_space = "DG_0" ,
508+ clipped = True ,
570509 )
571510
572-
573- if __name__ == "__main__" :
574- main ()
511+ outdir = Path ("bleeding_biv" )
512+ outdir .mkdir (exist_ok = True )
513+
514+ geo = cardiac_geometries .geometry .Geometry .from_folder (
515+ comm = comm ,
516+ folder = geodir ,
517+ )
518+ dt = 0.001
519+ zenker_history = run_zenker (outdir = outdir )
520+ HR_before = zenker_history ["HR_before" ]
521+ R_TPR_factor = zenker_history ["R_TPR_factor" ]
522+ C_PRSW_factor = zenker_history ["C_PRSW_factor" ]
523+ HR_after = zenker_history ["HR_after" ]
524+ Pa_before = zenker_history ["Pa" ][zenker_history ["before_index" ]]
525+ Pcvp_before = zenker_history ["Pcvp" ][zenker_history ["before_index" ]]
526+
527+ Pa_after = zenker_history ["Pa" ][zenker_history ["after_index" ]]
528+ Pcvp_after = zenker_history ["Pcvp" ][zenker_history ["after_index" ]]
529+ print (f"Pa: { Pa_before } mmHg, Pcvp: { Pcvp_before } mmHg" )
530+ print (f"Pa: { Pa_after } mmHg, Pcvp: { Pcvp_after } mmHg" )
531+ print (f"HR before: { HR_before } , HR after: { HR_after } " )
532+
533+ get_activation_before = run_TorOrdLand (
534+ comm , outdir , HR_before , Ta_factor = 1 , label = "before" , dt = dt ,
535+ )
536+ get_activation_after = run_TorOrdLand (
537+ comm , outdir , HR_after , Ta_factor = C_PRSW_factor , label = "after" , dt = dt ,
538+ )
539+
540+ run_3D_model (
541+ comm = comm ,
542+ geo = geo ,
543+ get_activation = get_activation_before ,
544+ outdir = outdir ,
545+ label = "before" ,
546+ num_beats = 5 ,
547+ dt = dt ,
548+ HR = HR_before ,
549+ p_AR_SYS = Pa_before ,
550+ p_AR_PUL = Pa_before * 0.4375 ,
551+ p_VEN_SYS = Pcvp_before ,
552+ p_VEN_PUL = Pcvp_before * 0.8 ,
553+ )
554+ run_3D_model (
555+ comm = comm ,
556+ geo = geo ,
557+ get_activation = get_activation_after ,
558+ outdir = outdir ,
559+ label = "after" ,
560+ num_beats = 5 ,
561+ dt = dt ,
562+ HR = HR_after ,
563+ R_TPR_factor = R_TPR_factor ,
564+ C_PRSW_factor = C_PRSW_factor ,
565+ p_AR_SYS = Pa_after ,
566+ p_AR_PUL = Pa_after * 0.4375 ,
567+ p_VEN_SYS = Pcvp_after ,
568+ p_VEN_PUL = Pcvp_after * 0.8 ,
569+ )
575570
576571# Below we plot the pressure volume loop, volumes, pressures and flows for 50 beats
577572
0 commit comments