diff --git a/.gitignore b/.gitignore index b9c043b7..dfb71557 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ tests/__pycache__/ *.whl + +testFiles/output/ diff --git a/CMakeLists.txt b/CMakeLists.txt index bb050d33..a685fbab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -189,6 +189,10 @@ find_package(HDF5 COMPONENTS HL CXX C) set(HDF_VERSION ${HDF5_VERSION}) ###### ${HDF5_HL_LIBRARIES} ${HDF5_CXX_LIBRARIES} +if (OPTION_TARGET_TESTS) + enable_testing() +endif () + add_subdirectory(VCellMessaging) add_subdirectory(VCellZipUtils) diff --git a/VCell/CMakeLists.txt b/VCell/CMakeLists.txt index fbd2bab8..468e98c3 100644 --- a/VCell/CMakeLists.txt +++ b/VCell/CMakeLists.txt @@ -243,5 +243,18 @@ endif() # add google tests if (OPTION_TARGET_TESTS) + enable_testing() + if (MINGW) + set(test_fvsolver_exe ${CMAKE_BINARY_DIR}/bin/${EXE_FILE}.exe) + set(python_cmd py) + else (MINGW) + set(test_fvsolver_exe ${CMAKE_BINARY_DIR}/bin/${EXE_FILE}) + set(python_cmd python3) + endif (MINGW) + set(test_dir ${CMAKE_CURRENT_SOURCE_DIR}/tests/smoke) + + # smoke test as a python script, for bash test example, see NFsim/tests/smoke + add_test(NAME ${EXE_FILE}_smoke COMMAND ${python_cmd} ${test_dir}/smoke.py ${test_fvsolver_exe} WORKING_DIRECTORY ${test_dir}) + add_subdirectory(tests) endif() \ No newline at end of file diff --git a/VCell/tests/smoke/SimID_1585623750_0_.functions b/VCell/tests/smoke/SimID_1585623750_0_.functions new file mode 100644 index 00000000..b7315341 --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.functions @@ -0,0 +1,19 @@ +##--------------------------------------------- +## /Users/jimschaff/.vcell/simdata/temp/SimID_1585623750_0_.functions +##--------------------------------------------- + +subdomain1::J_flux0; (2.0 * (RanC_cyt - RanC_nuc)); ; Volume_VariableType; false +subdomain1::J_r0; ((2.0 * RanC_cyt) - (1000.0 * Ran_cyt * C_cyt)); ; Volume_VariableType; false +subdomain1::KFlux_nm_cyt; 1.0; ; Volume_Region_VariableType; false +subdomain1::KFlux_nm_nuc; 1.0; ; Volume_Region_VariableType; false +subdomain1::RanC_cyt_init_uM; (1.0 + x); ; Volume_VariableType; false +subdomain0_subdomain1_membrane::s2; 0.0; ; Membrane_Region_VariableType; false +subdomain1::Size_cyt; vcRegionVolume('subdomain1'); ; Volume_Region_VariableType; false +subdomain0::Size_EC; vcRegionVolume('subdomain0'); ; Volume_Region_VariableType; false +subdomain1::Size_nm; vcRegionVolume('subdomain1'); ; Volume_Region_VariableType; false +subdomain1::Size_nuc; vcRegionVolume('subdomain1'); ; Volume_Region_VariableType; false +subdomain0_subdomain1_membrane::Size_pm; vcRegionArea('subdomain0_subdomain1_membrane'); ; Membrane_Region_VariableType; false +subdomain0_subdomain1_membrane::sobj_subdomain11_subdomain00_size; vcRegionArea('subdomain0_subdomain1_membrane'); ; Membrane_Region_VariableType; false +subdomain0::vobj_subdomain00_size; vcRegionVolume('subdomain0'); ; Volume_Region_VariableType; false +subdomain1::vobj_subdomain11_size; vcRegionVolume('subdomain1'); ; Volume_Region_VariableType; false + diff --git a/VCell/tests/smoke/SimID_1585623750_0_.fvinput b/VCell/tests/smoke/SimID_1585623750_0_.fvinput new file mode 100644 index 00000000..8dc82fe7 --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.fvinput @@ -0,0 +1,157 @@ +# Simulation Parameters +SIMULATION_PARAM_BEGIN +SOLVER SUNDIALS_PDE_SOLVER 1.0E-7 1.0E-9 0.1 +BASE_FILE_NAME /Users/jimschaff/.vcell/simdata/temp/SimID_1585623750_0_ +ENDING_TIME 0.01 +TIME_STEP 0.005 +KEEP_EVERY 1 +SIMULATION_PARAM_END + +# Model description: FEATURE name handle boundary_conditions +MODEL_BEGIN +FEATURE subdomain1 1 flux flux flux flux +FEATURE subdomain0 0 flux flux flux flux +MEMBRANE subdomain0_subdomain1_membrane subdomain1 subdomain0 flux flux flux flux +MODEL_END + +# Mesh file +MESH_BEGIN +VCG_FILE SimID_1585623750_0_.vcg +MESH_END + +# Variables : type name domain time_dependent_flag advection_flag grad_flag solve_whole_mesh_flag solve_regions +VARIABLE_BEGIN +VOLUME_PDE C_cyt subdomain1 false false false false subdomain1 +VOLUME_PDE Ran_cyt subdomain1 false false false false subdomain1 +VOLUME_PDE RanC_cyt subdomain1 false false false false subdomain1 +VOLUME_PDE RanC_nuc subdomain1 false false false false subdomain1 +VARIABLE_END + +POST_PROCESSING_BLOCK_BEGIN +POST_PROCESSING_BLOCK_END + +COMPARTMENT_BEGIN subdomain1 + +EQUATION_BEGIN RanC_cyt +INITIAL (1.0 + x); +RATE ( - ((2.0 * RanC_cyt) - (1000.0 * Ran_cyt * C_cyt)) - (2.0 * (RanC_cyt - RanC_nuc))); +DIFFUSION 10.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +EQUATION_BEGIN Ran_cyt +INITIAL 0.0; +RATE ((2.0 * RanC_cyt) - (1000.0 * Ran_cyt * C_cyt)); +DIFFUSION 10.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +EQUATION_BEGIN C_cyt +INITIAL 0.0; +RATE ((2.0 * RanC_cyt) - (1000.0 * Ran_cyt * C_cyt)); +DIFFUSION 10.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +EQUATION_BEGIN RanC_nuc +INITIAL 4.5E-4; +RATE (2.0 * (RanC_cyt - RanC_nuc)); +DIFFUSION 10.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +COMPARTMENT_END + +COMPARTMENT_BEGIN subdomain0 + +EQUATION_BEGIN C_cyt +INITIAL 0.0; +RATE 0.0; +DIFFUSION 0.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +EQUATION_BEGIN Ran_cyt +INITIAL 0.0; +RATE 0.0; +DIFFUSION 0.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +EQUATION_BEGIN RanC_cyt +INITIAL 0.0; +RATE 0.0; +DIFFUSION 0.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +EQUATION_BEGIN RanC_nuc +INITIAL 0.0; +RATE 0.0; +DIFFUSION 0.0; +VELOCITY_X 0.0; +VELOCITY_Y 0.0; +BOUNDARY_XM 0.0; +BOUNDARY_XP 0.0; +BOUNDARY_YM 0.0; +BOUNDARY_YP 0.0; +EQUATION_END + +COMPARTMENT_END + + +MEMBRANE_BEGIN subdomain0_subdomain1_membrane subdomain1 subdomain0 + +JUMP_CONDITION_BEGIN RanC_cyt +FLUX subdomain1 0.0; +JUMP_CONDITION_END + +JUMP_CONDITION_BEGIN Ran_cyt +FLUX subdomain1 0.0; +JUMP_CONDITION_END + +JUMP_CONDITION_BEGIN C_cyt +FLUX subdomain1 0.0; +JUMP_CONDITION_END + +JUMP_CONDITION_BEGIN RanC_nuc +FLUX subdomain1 0.0; +JUMP_CONDITION_END + +MEMBRANE_END + diff --git a/VCell/tests/smoke/SimID_1585623750_0_.hdf5 b/VCell/tests/smoke/SimID_1585623750_0_.hdf5 new file mode 100644 index 00000000..bde497a5 Binary files /dev/null and b/VCell/tests/smoke/SimID_1585623750_0_.hdf5 differ diff --git a/VCell/tests/smoke/SimID_1585623750_0_.hdf5.expected b/VCell/tests/smoke/SimID_1585623750_0_.hdf5.expected new file mode 100644 index 00000000..bde497a5 Binary files /dev/null and b/VCell/tests/smoke/SimID_1585623750_0_.hdf5.expected differ diff --git a/VCell/tests/smoke/SimID_1585623750_0_.log.expected b/VCell/tests/smoke/SimID_1585623750_0_.log.expected new file mode 100644 index 00000000..a700fb1c --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.log.expected @@ -0,0 +1,3 @@ + 0 SimID_1585623750_0_0000.sim SimID_1585623750_0_00.zip 0 + 1 SimID_1585623750_0_0001.sim SimID_1585623750_0_00.zip 0.005 + 2 SimID_1585623750_0_0002.sim SimID_1585623750_0_00.zip 0.01 diff --git a/VCell/tests/smoke/SimID_1585623750_0_.mesh b/VCell/tests/smoke/SimID_1585623750_0_.mesh new file mode 100644 index 00000000..6420eed5 --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.mesh @@ -0,0 +1,148 @@ +Version 1.2 +CartesianMesh { + // X Y Z + Size 51 51 1 + Extent 10 10 1 + Origin 0 0 0 + + VolumeRegionsMapSubvolume { + 2 + //VolRegID SubvolID Volume + 0 0 72.119999999999877 //subdomain0 + 1 1 27.879999999999583 //subdomain1 + } + + MembraneRegionsMapVolumeRegion { + 1 + //MemRegID VolReg1 VolReg2 Surface + 0 1 0 18.471391535623798 + } + + VolumeElementsMapVolumeRegion { + 2601 Compressed + 789CEDD6D11100100C0451FA6F5A0306397166D84D01EFEF26A51011DDAE76EFBC902B8D8D0C672E + EC4BEBC68EE3506286E6C40DC571289A1175505050FE545E5A4BCDD172182EC5F3C3AC4A39398C91 + 444474BF06C24102BA + } + + MembraneElements { + 116 + //Indx Vol1 Vol2 Conn0 Conn1 Conn2 Conn3 MemRegID + 0 581 530 1 12 -1 -1 0 + 1 582 531 2 0 -1 -1 0 + 2 583 532 3 1 -1 -1 0 + 3 584 533 4 2 -1 -1 0 + 4 585 534 5 3 -1 -1 0 + 5 586 535 6 4 -1 -1 0 + 6 587 536 7 5 -1 -1 0 + 7 588 537 8 6 -1 -1 0 + 8 589 538 9 7 -1 -1 0 + 9 590 539 10 8 -1 -1 0 + 10 591 540 14 9 -1 -1 0 + 11 630 579 13 17 -1 -1 0 + 12 581 580 13 0 -1 -1 0 + 13 631 580 12 11 -1 -1 0 + 14 591 592 15 10 -1 -1 0 + 15 643 592 16 14 -1 -1 0 + 16 644 593 19 15 -1 -1 0 + 17 630 629 18 11 -1 -1 0 + 18 680 629 17 22 -1 -1 0 + 19 644 645 20 16 -1 -1 0 + 20 696 645 24 19 -1 -1 0 + 21 729 678 23 27 -1 -1 0 + 22 680 679 23 18 -1 -1 0 + 23 730 679 22 21 -1 -1 0 + 24 696 697 25 20 -1 -1 0 + 25 748 697 26 24 -1 -1 0 + 26 749 698 29 25 -1 -1 0 + 27 729 728 28 21 -1 -1 0 + 28 779 728 27 31 -1 -1 0 + 29 749 750 30 26 -1 -1 0 + 30 801 750 32 29 -1 -1 0 + 31 779 778 33 28 -1 -1 0 + 32 801 802 35 30 -1 -1 0 + 33 830 829 34 31 -1 -1 0 + 34 880 829 33 37 -1 -1 0 + 35 852 853 36 32 -1 -1 0 + 36 904 853 39 35 -1 -1 0 + 37 880 879 38 34 -1 -1 0 + 38 930 879 37 41 -1 -1 0 + 39 904 905 40 36 -1 -1 0 + 40 956 905 42 39 -1 -1 0 + 41 930 929 43 38 -1 -1 0 + 42 956 957 45 40 -1 -1 0 + 43 981 980 44 41 -1 -1 0 + 44 1031 980 43 47 -1 -1 0 + 45 1007 1008 46 42 -1 -1 0 + 46 1059 1008 48 45 -1 -1 0 + 47 1031 1030 49 44 -1 -1 0 + 48 1059 1060 50 46 -1 -1 0 + 49 1082 1081 51 47 -1 -1 0 + 50 1110 1111 52 48 -1 -1 0 + 51 1133 1132 53 49 -1 -1 0 + 52 1161 1162 54 50 -1 -1 0 + 53 1184 1183 55 51 -1 -1 0 + 54 1212 1213 56 52 -1 -1 0 + 55 1235 1234 57 53 -1 -1 0 + 56 1263 1264 58 54 -1 -1 0 + 57 1286 1285 59 55 -1 -1 0 + 58 1314 1315 60 56 -1 -1 0 + 59 1337 1336 61 57 -1 -1 0 + 60 1365 1366 62 58 -1 -1 0 + 61 1388 1387 63 59 -1 -1 0 + 62 1416 1417 64 60 -1 -1 0 + 63 1439 1438 65 61 -1 -1 0 + 64 1467 1468 66 62 -1 -1 0 + 65 1490 1489 67 63 -1 -1 0 + 66 1518 1519 69 64 -1 -1 0 + 67 1541 1540 68 65 -1 -1 0 + 68 1541 1592 71 67 -1 -1 0 + 69 1569 1570 70 66 -1 -1 0 + 70 1569 1620 69 72 -1 -1 0 + 71 1593 1592 73 68 -1 -1 0 + 72 1619 1620 75 70 -1 -1 0 + 73 1644 1643 74 71 -1 -1 0 + 74 1644 1695 77 73 -1 -1 0 + 75 1670 1671 76 72 -1 -1 0 + 76 1670 1721 75 79 -1 -1 0 + 77 1696 1695 78 74 -1 -1 0 + 78 1696 1747 81 77 -1 -1 0 + 79 1720 1721 80 76 -1 -1 0 + 80 1720 1771 79 82 -1 -1 0 + 81 1748 1747 83 78 -1 -1 0 + 82 1770 1771 85 80 -1 -1 0 + 83 1799 1798 84 81 -1 -1 0 + 84 1799 1850 87 83 -1 -1 0 + 85 1821 1822 86 82 -1 -1 0 + 86 1821 1872 85 91 -1 -1 0 + 87 1851 1850 88 84 -1 -1 0 + 88 1851 1902 89 87 -1 -1 0 + 89 1852 1903 93 88 -1 -1 0 + 90 1870 1921 92 95 -1 -1 0 + 91 1871 1872 92 86 -1 -1 0 + 92 1871 1922 91 90 -1 -1 0 + 93 1904 1903 94 89 -1 -1 0 + 94 1904 1955 97 93 -1 -1 0 + 95 1920 1921 96 90 -1 -1 0 + 96 1920 1971 95 101 -1 -1 0 + 97 1956 1955 98 94 -1 -1 0 + 98 1956 2007 99 97 -1 -1 0 + 99 1957 2008 103 98 -1 -1 0 + 100 1969 2020 102 114 -1 -1 0 + 101 1970 1971 102 96 -1 -1 0 + 102 1970 2021 101 100 -1 -1 0 + 103 2009 2008 104 99 -1 -1 0 + 104 2009 2060 105 103 -1 -1 0 + 105 2010 2061 106 104 -1 -1 0 + 106 2011 2062 107 105 -1 -1 0 + 107 2012 2063 108 106 -1 -1 0 + 108 2013 2064 109 107 -1 -1 0 + 109 2014 2065 110 108 -1 -1 0 + 110 2015 2066 111 109 -1 -1 0 + 111 2016 2067 112 110 -1 -1 0 + 112 2017 2068 113 111 -1 -1 0 + 113 2018 2069 115 112 -1 -1 0 + 114 2019 2020 115 100 -1 -1 0 + 115 2019 2070 114 113 -1 -1 0 + } +} diff --git a/VCell/tests/smoke/SimID_1585623750_0_.meshmetrics b/VCell/tests/smoke/SimID_1585623750_0_.meshmetrics new file mode 100644 index 00000000..3564b35d --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.meshmetrics @@ -0,0 +1,120 @@ +MembraneElements { +116 +Index RegionIndex X Y Z Area Nx Ny Nz +0 0 4 2.1000000000000001 0.5 0.1576600448900663 0.31622776601683805 0.94868329805051377 0 +1 0 4.2000000000000002 2.1000000000000001 0.5 0.19310372521920716 0.25084130827922091 0.96802822172742919 0 +2 0 4.4000000000000004 2.1000000000000001 0.5 0.19572845137701056 0.21169969595797161 0.97733476287877041 0 +3 0 4.6000000000000005 2.1000000000000001 0.5 0.19800882094883634 0.12724528989938305 0.99187128005524083 0 +4 0 4.8000000000000007 2.1000000000000001 0.5 0.19950347360150952 0.042438147897979769 0.99909909598747471 0 +5 0 5 2.1000000000000001 0.5 0.19990990959874749 1.4018682666819418e-17 1 0 +6 0 5.2000000000000002 2.1000000000000001 0.5 0.19950347360150952 -0.042438147897979867 0.99909909598747471 0 +7 0 5.4000000000000004 2.1000000000000001 0.5 0.19800882094883634 -0.12724528989938308 0.99187128005524083 0 +8 0 5.6000000000000005 2.1000000000000001 0.5 0.19572845137701056 -0.21169969595797153 0.97733476287877041 0 +9 0 5.8000000000000007 2.1000000000000001 0.5 0.19310372521920716 -0.2508413082792208 0.96802822172742919 0 +10 0 6 2.1000000000000001 0.5 0.1576600448900663 -0.31622776601683777 0.94868329805051388 0 +11 0 3.6000000000000001 2.3000000000000003 0.5 0.16092854191265982 0.39752916315578052 0.91758954028512374 0 +12 0 3.9000000000000004 2.2000000000000002 0.5 0.12341678847597956 -0.28780607997286867 -0.95768870742567014 0 +13 0 3.8000000000000003 2.3000000000000003 0.5 0.15467381216523363 0.32983009295532012 0.94404031152334 0 +14 0 6.0999999999999996 2.2000000000000002 0.5 0.12341678847597957 -0.28780607997286872 0.95768870742567014 0 +15 0 6.2000000000000002 2.3000000000000003 0.5 0.15467381216523363 -0.32983009295532018 0.94404031152334 0 +16 0 6.4000000000000004 2.3000000000000003 0.5 0.16092854191265982 -0.39752916315578068 0.91758954028512374 0 +17 0 3.5 2.4000000000000004 0.5 0.13155667624213047 -0.43935144615960892 -0.89831526022742159 0 +18 0 3.4000000000000004 2.5 0.5 0.1339314234199373 0.5504910087462066 0.83484109223826775 0 +19 0 6.5 2.4000000000000004 0.5 0.13155667624213047 -0.4393514461596088 0.8983152602274217 0 +20 0 6.6000000000000005 2.5 0.5 0.1339314234199373 -0.5504910087462066 0.83484109223826775 0 +21 0 3 2.7000000000000002 0.5 0.14600154314582386 0.65727466833508164 0.75365111979284449 0 +22 0 3.3000000000000003 2.6000000000000001 0.5 0.13647423613795884 -0.56959483776260145 -0.82192561755562521 0 +23 0 3.2000000000000002 2.7000000000000002 0.5 0.14170769337734293 0.65520174136012899 0.75545395499570633 0 +24 0 6.7000000000000011 2.6000000000000001 0.5 0.13647423613795884 -0.56959483776260156 0.8219256175556251 0 +25 0 6.8000000000000007 2.7000000000000002 0.5 0.14170769337734293 -0.65520174136012899 0.75545395499570622 0 +26 0 7 2.7000000000000002 0.5 0.14600154314582386 -0.6572746683350813 0.75365111979284483 0 +27 0 2.9000000000000004 2.8000000000000003 0.5 0.13627375623990445 -0.65727466833508152 -0.75365111979284449 0 +28 0 2.8000000000000003 2.9000000000000004 0.5 0.13627375623990445 0.75365111979284449 0.65727466833508152 0 +29 0 7.0999999999999996 2.8000000000000003 0.5 0.13627375623990445 -0.65727466833508119 0.75365111979284483 0 +30 0 7.2000000000000002 2.9000000000000004 0.5 0.13627375623990448 -0.75365111979284438 0.65727466833508186 0 +31 0 2.7000000000000002 3 0.5 0.14600154314582386 -0.75365111979284449 -0.65727466833508164 0 +32 0 7.3000000000000007 3 0.5 0.14600154314582386 -0.75365111979284438 0.65727466833508186 0 +33 0 2.7000000000000002 3.2000000000000002 0.5 0.14170769337734293 -0.75545395499570633 -0.65520174136012899 0 +34 0 2.6000000000000001 3.3000000000000003 0.5 0.13647423613795884 0.82192561755562521 0.56959483776260145 0 +35 0 7.3000000000000007 3.2000000000000002 0.5 0.14170769337734293 -0.75545395499570644 0.65520174136012888 0 +36 0 7.4000000000000004 3.3000000000000003 0.5 0.13647423613795884 -0.82192561755562521 0.56959483776260122 0 +37 0 2.5 3.4000000000000004 0.5 0.1339314234199373 -0.83484109223826775 -0.5504910087462066 0 +38 0 2.4000000000000004 3.5 0.5 0.13155667624213047 0.89831526022742159 0.43935144615960892 0 +39 0 7.5 3.4000000000000004 0.5 0.1339314234199373 -0.83484109223826786 0.55049100874620649 0 +40 0 7.6000000000000005 3.5 0.5 0.13155667624213049 -0.89831526022742147 0.43935144615960914 0 +41 0 2.3000000000000003 3.6000000000000001 0.5 0.16092854191265982 -0.91758954028512374 -0.39752916315578052 0 +42 0 7.7000000000000011 3.6000000000000001 0.5 0.16092854191265984 -0.91758954028512374 0.39752916315578052 0 +43 0 2.3000000000000003 3.8000000000000003 0.5 0.15467381216523363 -0.94404031152334 -0.32983009295532012 0 +44 0 2.2000000000000002 3.9000000000000004 0.5 0.12341678847597956 0.95768870742567014 0.28780607997286867 0 +45 0 7.7000000000000011 3.8000000000000003 0.5 0.15467381216523363 -0.94404031152334 0.32983009295532018 0 +46 0 7.8000000000000007 3.9000000000000004 0.5 0.12341678847597955 -0.95768870742567014 0.28780607997286856 0 +47 0 2.1000000000000001 4 0.5 0.1576600448900663 -0.94868329805051377 -0.31622776601683805 0 +48 0 7.9000000000000004 4 0.5 0.1576600448900663 -0.94868329805051388 0.31622776601683789 0 +49 0 2.1000000000000001 4.2000000000000002 0.5 0.19310372521920716 -0.96802822172742919 -0.25084130827922091 0 +50 0 7.9000000000000004 4.2000000000000002 0.5 0.19310372521920716 -0.96802822172742919 0.25084130827922091 0 +51 0 2.1000000000000001 4.4000000000000004 0.5 0.19572845137701056 -0.97733476287877041 -0.21169969595797161 0 +52 0 7.9000000000000004 4.4000000000000004 0.5 0.19572845137701056 -0.97733476287877041 0.21169969595797161 0 +53 0 2.1000000000000001 4.6000000000000005 0.5 0.19800882094883634 -0.99187128005524083 -0.12724528989938305 0 +54 0 7.9000000000000004 4.6000000000000005 0.5 0.19800882094883634 -0.99187128005524083 0.12724528989938338 0 +55 0 2.1000000000000001 4.8000000000000007 0.5 0.19950347360150952 -0.99909909598747471 -0.042438147897979769 0 +56 0 7.9000000000000004 4.8000000000000007 0.5 0.19950347360150952 -0.99909909598747471 0.042438147897979936 0 +57 0 2.1000000000000001 5 0.5 0.19990990959874749 -1 -1.4018682666819418e-17 0 +58 0 7.9000000000000004 5 0.5 0.19990990959874749 -1 1.4018682666819418e-17 0 +59 0 2.1000000000000001 5.2000000000000002 0.5 0.19950347360150952 -0.99909909598747471 0.042438147897979867 0 +60 0 7.9000000000000004 5.2000000000000002 0.5 0.19950347360150952 -0.99909909598747471 -0.042438147897980033 0 +61 0 2.1000000000000001 5.4000000000000004 0.5 0.19800882094883634 -0.99187128005524083 0.12724528989938308 0 +62 0 7.9000000000000004 5.4000000000000004 0.5 0.19800882094883634 -0.99187128005524083 -0.12724528989938341 0 +63 0 2.1000000000000001 5.6000000000000005 0.5 0.19572845137701056 -0.97733476287877041 0.21169969595797153 0 +64 0 7.9000000000000004 5.6000000000000005 0.5 0.19572845137701056 -0.97733476287877041 -0.21169969595797153 0 +65 0 2.1000000000000001 5.8000000000000007 0.5 0.19310372521920716 -0.96802822172742919 0.2508413082792208 0 +66 0 7.9000000000000004 5.8000000000000007 0.5 0.19310372521920716 -0.96802822172742919 -0.2508413082792208 0 +67 0 2.1000000000000001 6 0.5 0.1576600448900663 -0.94868329805051388 0.31622776601683777 0 +68 0 2.2000000000000002 6.0999999999999996 0.5 0.12341678847597957 -0.95768870742567014 0.28780607997286872 0 +69 0 7.9000000000000004 6 0.5 0.1576600448900663 -0.94868329805051399 -0.31622776601683766 0 +70 0 7.8000000000000007 6.0999999999999996 0.5 0.12341678847597956 0.95768870742567014 0.28780607997286856 0 +71 0 2.3000000000000003 6.2000000000000002 0.5 0.15467381216523363 -0.94404031152334 0.32983009295532018 0 +72 0 7.7000000000000011 6.2000000000000002 0.5 0.15467381216523363 -0.94404031152333989 -0.32983009295532018 0 +73 0 2.3000000000000003 6.4000000000000004 0.5 0.16092854191265982 -0.91758954028512374 0.39752916315578068 0 +74 0 2.4000000000000004 6.5 0.5 0.13155667624213047 -0.8983152602274217 0.4393514461596088 0 +75 0 7.7000000000000011 6.4000000000000004 0.5 0.16092854191265982 -0.91758954028512374 -0.3975291631557808 0 +76 0 7.6000000000000005 6.5 0.5 0.13155667624213047 0.89831526022742159 0.43935144615960892 0 +77 0 2.5 6.6000000000000005 0.5 0.1339314234199373 -0.83484109223826775 0.5504910087462066 0 +78 0 2.6000000000000001 6.7000000000000011 0.5 0.13647423613795884 -0.8219256175556251 0.56959483776260156 0 +79 0 7.5 6.6000000000000005 0.5 0.13393142341993733 -0.83484109223826786 -0.55049100874620649 0 +80 0 7.4000000000000004 6.7000000000000011 0.5 0.13647423613795889 0.8219256175556251 0.56959483776260156 0 +81 0 2.7000000000000002 6.8000000000000007 0.5 0.14170769337734293 -0.75545395499570622 0.65520174136012899 0 +82 0 7.3000000000000007 6.8000000000000007 0.5 0.14170769337734296 -0.75545395499570644 -0.65520174136012888 0 +83 0 2.7000000000000002 7 0.5 0.14600154314582386 -0.75365111979284483 0.6572746683350813 0 +84 0 2.8000000000000003 7.0999999999999996 0.5 0.13627375623990445 -0.75365111979284483 0.65727466833508119 0 +85 0 7.3000000000000007 7 0.5 0.14600154314582386 -0.75365111979284449 -0.65727466833508152 0 +86 0 7.2000000000000002 7.0999999999999996 0.5 0.13627375623990445 0.7536511197928446 0.65727466833508141 0 +87 0 2.9000000000000004 7.2000000000000002 0.5 0.13627375623990448 -0.65727466833508186 0.75365111979284438 0 +88 0 3 7.3000000000000007 0.5 0.14600154314582386 -0.65727466833508186 0.75365111979284438 0 +89 0 3.2000000000000002 7.3000000000000007 0.5 0.14170769337734293 -0.65520174136012888 0.75545395499570644 0 +90 0 6.8000000000000007 7.3000000000000007 0.5 0.14170769337734296 0.65520174136012888 0.75545395499570644 0 +91 0 7.0999999999999996 7.2000000000000002 0.5 0.13627375623990445 -0.65727466833508141 -0.7536511197928446 0 +92 0 7 7.3000000000000007 0.5 0.14600154314582386 0.65727466833508152 0.75365111979284449 0 +93 0 3.3000000000000003 7.4000000000000004 0.5 0.13647423613795884 -0.56959483776260122 0.82192561755562521 0 +94 0 3.4000000000000004 7.5 0.5 0.1339314234199373 -0.55049100874620649 0.83484109223826786 0 +95 0 6.7000000000000011 7.4000000000000004 0.5 0.13647423613795889 -0.56959483776260156 -0.8219256175556251 0 +96 0 6.6000000000000005 7.5 0.5 0.13393142341993733 0.55049100874620649 0.83484109223826786 0 +97 0 3.5 7.6000000000000005 0.5 0.13155667624213049 -0.43935144615960914 0.89831526022742147 0 +98 0 3.6000000000000001 7.7000000000000011 0.5 0.16092854191265984 -0.39752916315578052 0.91758954028512374 0 +99 0 3.8000000000000003 7.7000000000000011 0.5 0.15467381216523363 -0.32983009295532018 0.94404031152334 0 +100 0 6.2000000000000002 7.7000000000000011 0.5 0.15467381216523363 0.32983009295532018 0.94404031152333989 0 +101 0 6.5 7.6000000000000005 0.5 0.13155667624213047 -0.43935144615960892 -0.89831526022742159 0 +102 0 6.4000000000000004 7.7000000000000011 0.5 0.16092854191265982 0.3975291631557808 0.91758954028512374 0 +103 0 3.9000000000000004 7.8000000000000007 0.5 0.12341678847597955 -0.28780607997286856 0.95768870742567014 0 +104 0 4 7.9000000000000004 0.5 0.1576600448900663 -0.31622776601683789 0.94868329805051388 0 +105 0 4.2000000000000002 7.9000000000000004 0.5 0.19310372521920716 -0.25084130827922091 0.96802822172742919 0 +106 0 4.4000000000000004 7.9000000000000004 0.5 0.19572845137701056 -0.21169969595797161 0.97733476287877041 0 +107 0 4.6000000000000005 7.9000000000000004 0.5 0.19800882094883634 -0.12724528989938338 0.99187128005524083 0 +108 0 4.8000000000000007 7.9000000000000004 0.5 0.19950347360150952 -0.042438147897979936 0.99909909598747471 0 +109 0 5 7.9000000000000004 0.5 0.19990990959874749 -1.4018682666819418e-17 1 0 +110 0 5.2000000000000002 7.9000000000000004 0.5 0.19950347360150952 0.042438147897980033 0.99909909598747471 0 +111 0 5.4000000000000004 7.9000000000000004 0.5 0.19800882094883634 0.12724528989938341 0.99187128005524083 0 +112 0 5.6000000000000005 7.9000000000000004 0.5 0.19572845137701056 0.21169969595797153 0.97733476287877041 0 +113 0 5.8000000000000007 7.9000000000000004 0.5 0.19310372521920716 0.2508413082792208 0.96802822172742919 0 +114 0 6.0999999999999996 7.8000000000000007 0.5 0.12341678847597956 -0.28780607997286856 -0.95768870742567014 0 +115 0 6 7.9000000000000004 0.5 0.1576600448900663 0.31622776601683766 0.94868329805051399 0 +} \ No newline at end of file diff --git a/VCell/tests/smoke/SimID_1585623750_0_.subdomains b/VCell/tests/smoke/SimID_1585623750_0_.subdomains new file mode 100644 index 00000000..f864bb11 --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.subdomains @@ -0,0 +1,5 @@ +# CompartmentSubDomain name, handle +# MembraneSubDomain name, inside compartment name, handle, outside compartment name, handle +CompartmentSubDomain, subdomain1, 1 +CompartmentSubDomain, subdomain0, 0 +MembraneSubDomain, subdomain0_subdomain1_membrane, subdomain1, 1, subdomain0, 0 diff --git a/VCell/tests/smoke/SimID_1585623750_0_.vcg b/VCell/tests/smoke/SimID_1585623750_0_.vcg new file mode 100644 index 00000000..9f89452a --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0_.vcg @@ -0,0 +1,128 @@ +name Geometry1608955162 +dimension 2 +size 10.0 10.0 +origin 0.0 0.0 +volumeRegions 2 +subdomain00 72.11999999999999 0 +subdomain11 27.88 1 +membraneRegions 1 +membrane_subdomain00_subdomain11 18.75734357308505 1 0 +volumeSamples 51 51 +789CEDD6D11100100C0451FA6F5A0306397166D84D01EFEF26A51011DDAE76EFBC902B8D8D0C672EEC4BEBC68EE3506286E6C40DC571289A1175505050FE545E5A4BCDD172182EC5F3C3AC4A39398C91444474BF06C24102BA +cells 116 +0 530 581 0.1620535100894932 4.053100189278201 2.153100189278201 5.0 0.2718090395465309 0.962351207211168 0.0 +1 531 582 0.17922797450101335 4.22000366773106 2.1200036677310585 5.0 0.12356014301545262 0.9923370853989086 0.0 +2 532 583 0.19286842463761217 4.405296656217725 2.1052966562177247 5.0 0.03768677469425233 0.9992896011733259 0.0 +3 533 584 0.1985224296849064 4.600920806604385 2.100920806604384 5.0 0.007470744560612548 0.9999720935984714 0.0 +4 534 585 0.1998293054058975 4.800093867643376 2.100093867643375 5.0 8.545671514118731E-4 0.9999996348574253 0.0 +5 535 586 0.19998303227353897 5.0 2.1000084838632307 5.0 0.0 1.0 0.0 +6 536 587 0.19982930540589838 5.199906132356626 2.100093867643375 5.0 -8.545671514118693E-4 0.9999996348574253 0.0 +7 537 588 0.1985224296849064 5.399079193395617 2.100920806604384 5.0 -0.007470744560612548 0.9999720935984714 0.0 +8 538 589 0.19286842463761217 5.594703343782276 2.1052966562177247 5.0 -0.03768677469425233 0.9992896011733259 0.0 +9 539 590 0.1792279745010125 5.779996332268942 2.1200036677310585 5.0 -0.12356014301545322 0.9923370853989085 0.0 +10 540 591 0.16205351008949234 5.946899810721799 2.153100189278201 5.0 -0.27180903954653235 0.9623512072111676 0.0 +11 579 630 0.14693727343815555 3.637561996872243 2.3375619968722434 5.0 0.48863891709688895 0.872486108026013 0.0 +12 580 581 0.15204150137885475 3.9053862819294847 2.2053862819294845 5.0 0.3980793126949183 0.9173510019639929 0.0 +13 580 631 0.14936574143087963 3.768655465949866 2.268655465949866 5.0 0.4419607269938355 0.8970344005639251 0.0 +14 592 591 0.15204150137885558 6.094613718070516 2.2053862819294845 5.0 -0.39807931269491614 0.9173510019639938 0.0 +15 592 643 0.14936574143087925 6.231344534050136 2.268655465949866 5.0 -0.4419607269938367 0.8970344005639246 0.0 +16 593 644 0.14693727343815594 6.362438003127758 2.3375619968722434 5.0 -0.4886389170968877 0.8724861080260138 0.0 +17 629 630 0.14357072470788254 3.5147112534449496 2.41471125344495 5.0 0.5746244099504347 0.8184172453517305 0.0 +18 629 680 0.1424213881882999 3.400004241931615 2.5000042419316157 5.0 0.6184937186923493 0.7857897428308092 0.0 +19 645 644 0.1435707247078829 6.485288746555051 2.41471125344495 5.0 -0.5746244099504333 0.8184172453517317 0.0 +20 645 696 0.14242138818829958 6.599995758068386 2.5000042419316157 5.0 -0.6184937186923508 0.785789742830808 0.0 +21 678 729 0.1458545882010359 3.0375619968722427 2.737561996872243 5.0 0.5126029411868405 0.8586257768589298 0.0 +22 679 680 0.14352724170990003 3.2853868561300414 2.5853868561300413 5.0 0.5760473998521798 0.817416291202679 0.0 +23 679 730 0.14631975496160807 3.1634526773755165 2.663452677375516 5.0 0.5020043131925671 0.86486511638293 0.0 +24 697 696 0.14352724170990003 6.714613143869959 2.5853868561300413 5.0 -0.5760473998521798 0.817416291202679 0.0 +25 697 748 0.14631975496160807 6.836547322624485 2.663452677375516 5.0 -0.5020043131925671 0.86486511638293 0.0 +26 698 749 0.1458545882010359 6.962438003127758 2.737561996872243 5.0 -0.5126029411868405 0.8586257768589298 0.0 +27 728 729 0.14213657216332456 2.9199098000876837 2.819909800087683 5.0 0.6327021551504655 0.7743952368577407 0.0 +28 728 779 0.14213657216332456 2.8199098000876837 2.9199098000876837 5.0 0.7743952368577407 0.6327021551504655 0.0 +29 750 749 0.14213657216332456 7.080090199912317 2.819909800087683 5.0 -0.6327021551504655 0.7743952368577407 0.0 +30 750 801 0.14213657216332456 7.180090199912318 2.9199098000876837 5.0 -0.7743952368577407 0.6327021551504655 0.0 +31 778 779 0.1458545882010359 2.737561996872243 3.037561996872243 5.0 0.8586257768589298 0.5126029411868405 0.0 +32 802 801 0.1458545882010359 7.262438003127758 3.037561996872243 5.0 -0.8586257768589298 0.5126029411868405 0.0 +33 829 830 0.14631975496160807 2.663452677375516 3.163452677375516 5.0 0.86486511638293 0.5020043131925671 0.0 +34 829 880 0.14352724170990003 2.5853868561300413 3.2853868561300414 5.0 0.817416291202679 0.5760473998521798 0.0 +35 853 852 0.1463197549616083 7.336547322624485 3.163452677375516 5.0 -0.8648651163829286 0.5020043131925694 0.0 +36 853 904 0.1435272417098995 7.41461314386996 3.2853868561300414 5.0 -0.817416291202682 0.5760473998521757 0.0 +37 879 880 0.14242138818830027 2.5000042419316157 3.4000042419316157 5.0 0.7857897428308103 0.6184937186923477 0.0 +38 879 930 0.14357072470788218 2.41471125344495 3.5147112534449496 5.0 0.8184172453517294 0.5746244099504361 0.0 +39 905 904 0.1424213881883011 7.499995758068385 3.4000042419316157 5.0 -0.7857897428308058 0.6184937186923535 0.0 +40 905 956 0.14357072470788193 7.585288746555052 3.5147112534449496 5.0 -0.818417245351731 0.5746244099504341 0.0 +41 929 930 0.14693727343815555 2.3375619968722434 3.6375619968722432 5.0 0.872486108026013 0.48863891709688895 0.0 +42 957 956 0.14693727343815532 7.6624380031277575 3.6375619968722432 5.0 -0.8724861080260142 0.48863891709688667 0.0 +43 980 981 0.14936574143087963 2.268655465949866 3.7686554659498657 5.0 0.8970344005639251 0.4419607269938355 0.0 +44 980 1031 0.15204150137885475 2.2053862819294845 3.9053862819294842 5.0 0.9173510019639929 0.3980793126949183 0.0 +45 1008 1007 0.14936574143087983 7.731344534050136 3.7686554659498657 5.0 -0.8970344005639239 0.44196072699383787 0.0 +46 1008 1059 0.15204150137885442 7.794613718070517 3.9053862819294847 5.0 -0.9173510019639949 0.39807931269491337 0.0 +47 1030 1031 0.16205351008949234 2.153100189278201 4.053100189278201 5.0 0.9623512072111676 0.27180903954653235 0.0 +48 1060 1059 0.16205351008949234 7.8468998107217995 4.053100189278201 5.0 -0.9623512072111676 0.27180903954653235 0.0 +49 1081 1082 0.17922797450101335 2.1200036677310585 4.220003667731058 5.0 0.9923370853989086 0.12356014301545262 0.0 +50 1111 1110 0.1792279745010133 7.8799963322689415 4.220003667731058 5.0 -0.992337085398909 0.12356014301545017 0.0 +51 1132 1133 0.19286842463761217 2.1052966562177247 4.405296656217725 5.0 0.9992896011733259 0.03768677469425233 0.0 +52 1162 1161 0.19286842463761217 7.894703343782275 4.405296656217725 5.0 -0.9992896011733259 0.03768677469425233 0.0 +53 1183 1184 0.1985224296849073 2.100920806604384 4.6009208066043845 5.0 0.9999720935984714 0.007470744560612514 0.0 +54 1213 1212 0.1985224296849073 7.899079193395616 4.6009208066043845 5.0 -0.9999720935984714 0.007470744560616989 0.0 +55 1234 1235 0.19982930540589838 2.100093867643375 4.800093867643376 5.0 0.9999996348574253 8.545671514118693E-4 0.0 +56 1264 1263 0.19982930540589838 7.899906132356625 4.800093867643376 5.0 -0.9999996348574253 8.54567151409647E-4 0.0 +57 1285 1286 0.19998303227353809 2.1000084838632307 5.000000000000001 5.0 1.0 -0.0 0.0 +58 1315 1314 0.19998303227353809 7.89999151613677 5.000000000000001 5.0 -1.0 0.0 0.0 +59 1336 1337 0.19982930540589838 2.100093867643375 5.199906132356626 5.0 0.9999996348574253 -8.545671514118693E-4 0.0 +60 1366 1365 0.19982930540589838 7.899906132356625 5.199906132356626 5.0 -0.9999996348574253 -8.54567151409647E-4 0.0 +61 1387 1388 0.1985224296849064 2.100920806604384 5.399079193395616 5.0 0.9999720935984714 -0.007470744560612548 0.0 +62 1417 1416 0.1985224296849064 7.899079193395616 5.399079193395616 5.0 -0.9999720935984714 -0.007470744560617022 0.0 +63 1438 1439 0.19286842463761217 2.1052966562177247 5.594703343782276 5.0 0.9992896011733259 -0.03768677469425233 0.0 +64 1468 1467 0.19286842463761217 7.894703343782275 5.594703343782276 5.0 -0.9992896011733259 -0.03768677469425233 0.0 +65 1489 1490 0.17922797450101335 2.1200036677310585 5.779996332268942 5.0 0.9923370853989086 -0.12356014301545262 0.0 +66 1519 1518 0.1792279745010133 7.8799963322689415 5.779996332268942 5.0 -0.992337085398909 -0.12356014301545017 0.0 +67 1540 1541 0.16205351008949234 2.153100189278201 5.9468998107218 5.0 0.9623512072111676 -0.27180903954653235 0.0 +68 1592 1541 0.15204150137885558 2.2053862819294845 6.094613718070517 5.0 0.9173510019639938 -0.39807931269491614 0.0 +69 1570 1569 0.16205351008949234 7.8468998107217995 5.9468998107218 5.0 -0.9623512072111676 -0.27180903954653235 0.0 +70 1620 1569 0.15204150137885525 7.794613718070517 6.094613718070517 5.0 -0.9173510019639958 -0.3980793126949112 0.0 +71 1592 1593 0.14936574143087925 2.268655465949866 6.231344534050136 5.0 0.8970344005639246 -0.4419607269938367 0.0 +72 1620 1619 0.14936574143087944 7.731344534050136 6.231344534050136 5.0 -0.8970344005639234 -0.4419607269938391 0.0 +73 1643 1644 0.14693727343815516 2.3375619968722434 6.3624380031277585 5.0 0.8724861080260123 -0.4886389170968903 0.0 +74 1695 1644 0.1435707247078829 2.41471125344495 6.485288746555051 5.0 0.8184172453517317 -0.5746244099504333 0.0 +75 1671 1670 0.14693727343815494 7.6624380031277575 6.3624380031277585 5.0 -0.8724861080260135 -0.48863891709688795 0.0 +76 1721 1670 0.14357072470788265 7.585288746555052 6.485288746555051 5.0 -0.818417245351733 -0.5746244099504312 0.0 +77 1695 1696 0.14242138818829958 2.5000042419316157 6.599995758068386 5.0 0.785789742830808 -0.6184937186923508 0.0 +78 1747 1696 0.14352724170990078 2.5853868561300413 6.714613143869959 5.0 0.817416291202681 -0.5760473998521768 0.0 +79 1721 1720 0.14242138818830039 7.499995758068385 6.599995758068386 5.0 -0.7857897428308035 -0.6184937186923566 0.0 +80 1771 1720 0.14352724170990025 7.41461314386996 6.714613143869959 5.0 -0.8174162912026839 -0.5760473998521727 0.0 +81 1747 1748 0.14631975496160807 2.663452677375516 6.836547322624485 5.0 0.86486511638293 -0.5020043131925671 0.0 +82 1771 1770 0.1463197549616083 7.336547322624485 6.836547322624485 5.0 -0.8648651163829286 -0.5020043131925694 0.0 +83 1798 1799 0.14585458820103514 2.737561996872243 6.962438003127758 5.0 0.8586257768589282 -0.5126029411868431 0.0 +84 1850 1799 0.14213657216332456 2.8199098000876837 7.080090199912317 5.0 0.7743952368577407 -0.6327021551504655 0.0 +85 1822 1821 0.14585458820103514 7.262438003127757 6.962438003127758 5.0 -0.8586257768589282 -0.5126029411868431 0.0 +86 1872 1821 0.14213657216332456 7.180090199912318 7.080090199912317 5.0 -0.7743952368577407 -0.6327021551504655 0.0 +87 1850 1851 0.14213657216332456 2.9199098000876837 7.180090199912318 5.0 0.6327021551504655 -0.7743952368577407 0.0 +88 1902 1851 0.1458545882010359 3.0375619968722427 7.262438003127757 5.0 0.5126029411868405 -0.8586257768589298 0.0 +89 1903 1852 0.1463197549616083 3.1634526773755165 7.336547322624485 5.0 0.5020043131925694 -0.8648651163829286 0.0 +90 1921 1870 0.1463197549616083 6.836547322624485 7.336547322624485 5.0 -0.5020043131925694 -0.8648651163829286 0.0 +91 1872 1871 0.14213657216332456 7.080090199912317 7.180090199912318 5.0 -0.6327021551504655 -0.7743952368577407 0.0 +92 1922 1871 0.1458545882010359 6.962438003127758 7.262438003127758 5.0 -0.5126029411868405 -0.8586257768589298 0.0 +93 1903 1904 0.1435272417098995 3.2853868561300414 7.414613143869959 5.0 0.5760473998521757 -0.817416291202682 0.0 +94 1955 1904 0.14242138818830075 3.400004241931615 7.499995758068385 5.0 0.618493718692355 -0.7857897428308046 0.0 +95 1921 1920 0.1435272417098995 6.714613143869959 7.414613143869959 5.0 -0.5760473998521757 -0.817416291202682 0.0 +96 1971 1920 0.14242138818830039 6.599995758068386 7.499995758068385 5.0 -0.6184937186923566 -0.7857897428308035 0.0 +97 1955 1956 0.1435707247078823 3.5147112534449496 7.585288746555052 5.0 0.5746244099504326 -0.8184172453517321 0.0 +98 2007 1956 0.14693727343815532 3.637561996872243 7.6624380031277575 5.0 0.48863891709688667 -0.8724861080260142 0.0 +99 2008 1957 0.14936574143087983 3.768655465949866 7.731344534050136 5.0 0.44196072699383787 -0.8970344005639239 0.0 +100 2020 1969 0.14936574143087944 6.231344534050136 7.731344534050136 5.0 -0.4419607269938391 -0.8970344005639234 0.0 +101 1971 1970 0.14357072470788265 6.485288746555051 7.585288746555052 5.0 -0.5746244099504312 -0.818417245351733 0.0 +102 2021 1970 0.1469372734381557 6.362438003127758 7.6624380031277575 5.0 -0.48863891709688545 -0.872486108026015 0.0 +103 2008 2009 0.15204150137885442 3.9053862819294842 7.794613718070517 5.0 0.39807931269491337 -0.9173510019639949 0.0 +104 2060 2009 0.16205351008949345 4.053100189278201 7.8468998107217995 5.0 0.271809039546536 -0.9623512072111665 0.0 +105 2061 2010 0.1792279745010133 4.22000366773106 7.879996332268942 5.0 0.12356014301545017 -0.992337085398909 0.0 +106 2062 2011 0.19286842463761217 4.405296656217725 7.894703343782276 5.0 0.03768677469425233 -0.9992896011733259 0.0 +107 2063 2012 0.1985224296849064 4.600920806604385 7.899079193395617 5.0 0.007470744560617022 -0.9999720935984714 0.0 +108 2064 2013 0.1998293054058975 4.800093867643376 7.899906132356627 5.0 8.545671514096507E-4 -0.9999996348574253 0.0 +109 2065 2014 0.19998303227353897 5.0 7.899991516136771 5.0 -0.0 -1.0 0.0 +110 2066 2015 0.19982930540589838 5.199906132356626 7.899906132356627 5.0 -8.54567151409647E-4 -0.9999996348574253 0.0 +111 2067 2016 0.1985224296849064 5.399079193395617 7.899079193395617 5.0 -0.007470744560617022 -0.9999720935984714 0.0 +112 2068 2017 0.19286842463761217 5.594703343782276 7.894703343782276 5.0 -0.03768677469425233 -0.9992896011733259 0.0 +113 2069 2018 0.1792279745010124 5.779996332268942 7.879996332268942 5.0 -0.12356014301545078 -0.9923370853989089 0.0 +114 2020 2019 0.15204150137885525 6.094613718070516 7.794613718070517 5.0 -0.3980793126949112 -0.9173510019639958 0.0 +115 2070 2019 0.1620535100894926 5.946899810721799 7.8468998107217995 5.0 -0.27180903954653746 -0.9623512072111662 0.0 diff --git a/VCell/tests/smoke/SimID_1585623750_0_00.zip.expected b/VCell/tests/smoke/SimID_1585623750_0_00.zip.expected new file mode 100644 index 00000000..f11190ef Binary files /dev/null and b/VCell/tests/smoke/SimID_1585623750_0_00.zip.expected differ diff --git a/VCell/tests/smoke/SimID_1585623750_0__0.simtask.xml b/VCell/tests/smoke/SimID_1585623750_0__0.simtask.xml new file mode 100644 index 00000000..caace01d --- /dev/null +++ b/VCell/tests/smoke/SimID_1585623750_0__0.simtask.xml @@ -0,0 +1,155 @@ + + + 96485.3321 + 9.64853321E-5 + 1.0E-9 + 6.02214179E11 + 3.141592653589793 + 8314.46261815 + 300.0 + 1.0 + 1.0 + 10.0 + 0.0 + 1000.0 + 2.0 + 2.0 + 0.001660538783162726 + 1000.0 + 1.0 + 10.0 + 0.0 + 10.0 + 10.0 + 4.5E-4 + 0.0 + 0.0 + 0.0 + 1.0 + 1.0 + 1.0 + + + + + (kfl * (RanC_cyt - RanC_nuc)) + ((Kf * RanC_cyt) - ((Kr * Ran_cyt) * C_cyt)) + (AreaPerUnitArea_pm * s2_init_molecules_um_2) + (AreaPerUnitVolume_nm / VolumePerUnitVolume_cyt) + (AreaPerUnitVolume_nm / VolumePerUnitVolume_nuc) + (1.0 + x) + (K_s2_total / AreaPerUnitArea_pm) + (VolumePerUnitVolume_cyt * vcRegionVolume('subdomain1')) + (VolumePerUnitVolume_EC * vcRegionVolume('subdomain0')) + (AreaPerUnitVolume_nm * vcRegionVolume('subdomain1')) + (VolumePerUnitVolume_nuc * vcRegionVolume('subdomain1')) + (AreaPerUnitArea_pm * vcRegionArea('subdomain0_subdomain1_membrane')) + vcRegionArea('subdomain0_subdomain1_membrane') + vcRegionVolume('subdomain0') + vcRegionVolume('subdomain1') + + + + + + + + + ( - J_r0 - (KFlux_nm_cyt * J_flux0)) + RanC_cyt_diffusionRate + RanC_cyt_init_uM + + + J_r0 + Ran_cyt_diffusionRate + Ran_cyt_init_uM + + + J_r0 + C_cyt_diffusionRate + C_cyt_init_uM + + + (KFlux_nm_nuc * J_flux0) + RanC_nuc_diffusionRate + RanC_nuc_init_uM + + + + + + + + + + + + + + + + + + + 0.0 + 0.0 + + + 0.0 + 0.0 + + + 0.0 + 0.0 + + + 0.0 + 0.0 + + + + + + + + + + + + + + + 2 + + 1 + + + + + + + + + + + + + + + ((((x - 5.0) ^ 2.0) + ((y - 5.0) ^ 2.0)) < (3.0 ^ 2.0)) + + + 1.0 + + + + + + + + + + + + + \ No newline at end of file diff --git a/VCell/tests/smoke/smoke.py b/VCell/tests/smoke/smoke.py new file mode 100755 index 00000000..6ef3937a --- /dev/null +++ b/VCell/tests/smoke/smoke.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 + +import os +import posixpath +import subprocess +import sys +from pathlib import Path + +import h5py + +def compare_hdf5_structure(file1: Path, file2: Path) -> bool: + def compare_groups(group1, group2): + # Compare group keys + if set(group1.keys()) != set(group2.keys()): + return False + + # Compare attributes + if set(group1.attrs.keys()) != set(group2.attrs.keys()): + return False + for key in group1.attrs.keys(): + if group1.attrs[key] != group2.attrs[key]: + return False + + # Recursively compare sub-groups and datasets + for key in group1.keys(): + item1 = group1[key] + item2 = group2[key] + if isinstance(item1, h5py.Group) and isinstance(item2, h5py.Group): + if not compare_groups(item1, item2): + return False + elif isinstance(item1, h5py.Dataset) and isinstance(item2, h5py.Dataset): + if item1.shape != item2.shape or item1.dtype != item2.dtype: + return False + else: + return False + return True + + with h5py.File(file1, 'r') as f1, h5py.File(file2, 'r') as f2: + return compare_groups(f1, f2) + + +# get the directory of this script +test_dir = os.path.dirname(os.path.realpath(__file__)) +# in the path replace \ with /, D:\ with /d/ +test_dir = test_dir.replace("\\", "/") +# tell os.path.join to use / as the path separator +os.path.sep = "/" +exe = sys.argv[1] + +print(f"test_dir: {test_dir}") +print(f"exe: {exe}") + +fv_input_file = posixpath.join(test_dir, "SimID_1585623750_0_.fvinput") +vcg_input_file = posixpath.join(test_dir, "SimID_1585623750_0_.vcg") +output_file = posixpath.join(test_dir, "SimID_1585623750_0_.hdf5") +expected_output_file = posixpath.join(test_dir, "SimID_1585623750_0_.hdf5.expected") + +if not posixpath.exists(exe): + print(f"FiniteVolume_x64 executable {exe} not found. Exiting...") + sys.exit(1) + +if not posixpath.exists(fv_input_file): + print(f".fvinput input file {fv_input_file} not found. Exiting...") + sys.exit(1) + +if not posixpath.exists(vcg_input_file): + print(f".vcg input file {vcg_input_file} not found. Exiting...") + sys.exit(1) + +if not posixpath.exists(expected_output_file): + print(f"Expected output file {expected_output_file} not found. Exiting...") + sys.exit(1) + +command = [exe, fv_input_file, vcg_input_file] +print(" ".join(command)) + +try: + subprocess.check_call(command) +except subprocess.CalledProcessError: + print("FiniteVolume_x64 failed to run. Exiting...") + sys.exit(1) + +# verify that the output files exist +if not os.path.isfile(output_file): + print(f"Output file {output_file} not found. Exiting...") + sys.exit(1) + +# verify that the output files match the expected output files +if not compare_hdf5_structure(file1=Path(output_file), file2=Path(expected_output_file)): + print(f"Output file {output_file} does not match expected output {expected_output_file}. Exiting...") + sys.exit(1) + +print("FiniteVolume_x64 solver completed and solution matched expected output. Exiting...") +sys.exit(0)