Full description of code changes between 2011 (V2 change to V3) upto 2016 LaGriT Open Source V3 LA-CC-15-069 LaGriT V3 LA-CC-15-069 https://github.com/losalamos/LaGriT GRIDDER LA-CC-15-082 https://github.com/losalamos/gridder Versions merged for github repo: All conversions and merge are in /n/swdev/LAGRIT/github/hg2git VERS_3.108_016_AUG compile and test before putting on github Clone and use scripts to import hg into git Clean up remove bin and lib and update copyrights /n/swdev/LAGRIT/github/hg2git/lagrit /n/swdev/LAGRIT/github/hg2git/lg_util Mikita cygwin compile for windows: /n/swdev/LAGRIT/lucia/mikita_windows_backup/304285_bak2/dev See notes in /n/swdev/LAGRIT/work/README.mikita.txt Mikita static ubuntu compile (has V3.2 Aug 2015 in banner) /scratch/sft/yanki lagrit and lg_util ============================================================ August 2017 for V3.203 open source on github See https://lagrit.lanl.gov/release_notes/lagrit_release_notes_V3.200.html ============================================================ August 2016 for V3.2 open source on github Appears that /n/swdev/LAGRIT/lucia/mikita_windows_backup/304285_bak2/dev has the final version code and tests for cygwin executable. This code has a few minor differences from current code and will merge with V3.108 for version to build and test for release V3.2 on github ============================================================ July 2016 with Lucia Short Move from mercurial to open source git Use current version running on ubuntu linux as first git version LaGriT V3.107 date_compile: 2015/06/24 Ubu gf.so V3.108 tamiller tag Jul 26 2016 instead of V3.107 because 107 tag already exists from previous push changeset 57b6bf4e6471 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=57b6bf4e6471 summary: Added tag Release V3.108 for changeset 9035aecce4aa lg_util changeset 3a8d87bbf9fd in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=3a8d87bbf9fd summary: Added tag Release V3.108 for changeset 0c592f39efb9 changeset 5dd3e8a2bd60 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=5dd3e8a2bd60 summary: For release V3.107 lagrit, the only changes are mac libs and Makefile changeset aa1295f412a6 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=aa1295f412a6 summary: Version 3.103 modified default compile for 64 bit instead of 32 bit changeset 0c592f39efb9 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=0c592f39efb9 summary: These are the V3.103 libs used with lagrit builds for V3.107 lagrit V3.107 tamiller commit all Jul 25 2016 Need to resolve conflicts with Mikita changes: susfty-aquifer:lagrit:bsh% hg pull http authorization required realm: LaGrit Mercurial repository user: tam password: pulling from https://ancho.lanl.gov/lagrit/hg/lagrit searching for changes adding changesets adding manifests adding file changes added 8 changesets with 214 changes to 177 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge) susfty-aquifer:lagrit:bsh% hg heads changeset: 346:a5f6fb10ecce tag: tip user: Mikita Yankouski date: Mon Aug 03 12:51:02 2015 -0600 summary: Added LaGrit executable control to suite.py, fixed bugs with exodus_prisms input file. changeset: 338:3db9d5fbd183 user: Terry Miller date: Mon Jul 25 14:19:11 2016 -0600 summary: Final update of V3.107 code for first version of open source susfty-aquifer:lagrit:bsh% hg merge test/level01/intrp_2D_sizes/2d_sink_new.gmv: untracked file differs abort: untracked files in working directory differ from files in requested revision susfty-aquifer:lagrit:bsh% hg remove test/level01/intrp_2D_sizes/2d_sink_new.gmv not removing test/level01/intrp_2D_sizes/2d_sink_new.gmv: file is untracked susfty-aquifer:lagrit:bsh% hg heads changeset: 346:a5f6fb10ecce tag: tip user: Mikita Yankouski date: Mon Aug 03 12:51:02 2015 -0600 summary: Added LaGrit executable control to suite.py, fixed bugs with exodus_prisms input file. changeset: 338:3db9d5fbd183 user: Terry Miller date: Mon Jul 25 14:19:11 2016 -0600 summary: Final update of V3.107 code for first version of open source merging src/lagrit.h 149 files updated, 1 files merged, 107 files removed, 0 files unresolved lagrit: 7 new changesets July 26 2016 changeset 6d6844a6da9f in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=6d6844a6da9f summary: Fixed seg fault for 0 elem report message by using a,a instead of a format. changeset 064ec0cde79a in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=064ec0cde79a summary: Updated all lagrit*h to this version 3.107 changeset 3db9d5fbd183 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=3db9d5fbd183 summary: Final update of V3.107 code for first version of open source changeset bdd9ef2826f8 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=bdd9ef2826f8 summary: dumpexodusII.f replacement stub to compile without Exodus libraries. changeset f94bc06b60cc in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=f94bc06b60cc summary: Extra commit for V3.107 changeset 8524530343c2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=8524530343c2 summary: Extra V3.107 commit changeset 9035aecce4aa in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=9035aecce4aa summary: Version V3.107 merge with Mikita test dirs and my updates diffstat: src/README.compile | 132 - src/README.compile.txt | 179 + src/dumpexodusII.f.withnoexo | 40 + src/exo_files/exodusII.h | 2012 + src/exo_files/exodusII.inc | 230 + src/exo_files/exodusII_int.h | 748 + src/exo_files/exodusII_int.inc | 167 + src/exo_files/netcdf.h | 1833 + src/exodusII.h | 2012 - src/exodusII_int.h | 748 - src/exodusII_int.inc | 167 - src/go | 25 - src/gomac | 74 - src/lagrit.h | 1 + src/lagrit.template.h | 2 +- src/lagrit_lin.h | 2 +- src/lagrit_lin64.h | 2 +- src/lagrit_mac.h | 2 +- src/lagrit_macOS11.h | 2 +- src/lagrit_macOS12.h | 2 +- src/lagrit_maci.h | 2 +- src/lagrit_maci32.h | 2 +- src/lagrit_maci64.h | 2 +- src/lagrit_rlin64.h | 2 +- src/lagrit_sgi.h | 2 +- src/lagrit_sun.h | 2 +- src/lagrit_ulin64.h | 4 +- src/netcdf.h | 1833 - src/read_fehm_zone.f | 9 +- test/00README | 3 + test/level01/addmesh_add/polygon.gmv | Bin test/level01/addmesh_add/polygon.inp | 21194 +- test/level01/check_test.py | 33 +- test/level01/check_test.pyc | Bin test/level01/clean_testdirs.scr | 2 +- test/level01/control01.py | 54 + test/level01/control01.pyc | Bin test/level01/diffout_lin.txt | 1197 + test/level01/eltset/eset01.cellset | 24 +- test/level01/eltset/eset02.cellset | 18 +- test/level01/eltset/eset03.cellset | 24 +- test/level01/eltset/eset05.cellset | 24 +- test/level01/eltset/eset06.cellset | 24 +- test/level01/eltset/eset07.cellset | 24 +- test/level01/eltset/eset08_eset1.cellset | 24 +- test/level01/eltset/eset08_eset2.cellset | 18 +- test/level01/eltset/eset09_eset1.cellset | 24 +- test/level01/eltset/eset09_eset2.cellset | 18 +- test/level01/eltset/eset10_eset1.cellset | 24 +- test/level01/eltset/eset10_eset2.cellset | 18 +- test/level01/eltset/test01.gmv | Bin test/level01/hybrid_volume/test01.gmv | Bin test/level01/hybrid_volume/test01.stor | 4509 - test/level01/hybrid_volume/test02.gmv | Bin test/level01/hybrid_volume/test03.gmv | Bin test/level01/hybrid_volume/test04.gmv | Bin test/level01/hybrid_volume/test04.stor | 189 - test/level01/hybrid_volume/test05.stor | 11176 - test/level01/hybrid_volume/test06.stor | 7808 - test/level01/hybrid_volume/test07.stor | 4509 - test/level01/hybrid_volume/test08.stor | 926560 ---------- test/level01/hybrid_volume/test09_hybrid.stor | 14 - test/level01/hybrid_volume/test09_nohybrid.stor | 14 - test/level01/hybrid_volume/test11.stor | 65 - test/level01/hybrid_volume/test11_h.stor | 65 - test/level01/intrp_2D_sizes/2d_sink_new.gmv | 87611 + test/level01/intrp_2D_sizes/2d_sink_new.inp | 15544 +- test/level01/intrp_2D_sizes/2d_source.gmv | Bin test/level01/intrp_2D_sizes/2d_triangle_sink.gmv | Bin test/level01/intrp_2D_sizes/view_field2_id_elem.gmv | Bin test/level01/intrp_2D_sizes/view_field2_id_elem.inp | 47554 +- test/level01/pset/pset01.vertexset | 24 +- test/level01/pset/pset02.vertexset | 18 +- test/level01/pset/pset03.vertexset | 24 +- test/level01/pset/pset05.vertexset | 24 +- test/level01/pset/pset06.vertexset | 24 +- test/level01/pset/pset07.vertexset | 24 +- test/level01/pset/pset08_pset1.vertexset | 24 +- test/level01/pset/pset08_pset2.vertexset | 18 +- test/level01/pset/pset09_pset1.vertexset | 24 +- test/level01/pset/pset09_pset2.vertexset | 18 +- test/level01/pset/pset10_pset1.vertexset | 24 +- test/level01/pset/pset10_pset2.vertexset | 18 +- test/level01/pset/test01.gmv | Bin test/level01/recon1/input_tri_dfn.gmv | Bin test/level01/recon1/tmp.stor | 14656 + test/level01/recon1/tmp2.gmv | Bin test/level01/result_files/diffout_lin.txt | 1195 - test/level01/result_files/diffout_mac.txt | 3326 - test/level01/result_files/diffout_sgi32.txt | 903 - test/level01/result_files/diffout_sun.txt | 466 - test/level01/result_files/reference/diffout_lin.txt | 911 - test/level01/result_files/reference/diffout_mac.txt | 928 - test/level01/result_files/reference/diffout_sgi32.txt | 903 - test/level01/result_files/reference/diffout_sun.txt | 402 - test/level01/result_files/reference/stdout_lin.txt | 18186 - test/level01/result_files/reference/stdout_mac.txt | 18186 - test/level01/result_files/reference/stdout_sgi32.txt | Bin test/level01/result_files/reference/stdout_sun.txt | 18190 - test/level01/result_files/stdout_lin.txt | 34 - test/level01/result_files/stdout_lin64.txt | 28503 - test/level01/result_files/stdout_mac.txt | 18191 - test/level01/result_files/stdout_sgi32.txt | Bin test/level01/result_files/stdout_sun.txt | 18195 - test/level01/run_test.py | 185 +- test/level01/run_test.pyc | Bin test/level01/test_results/diffout_lin.txt | 1209 + test/level01/test_results/diffout_mac.txt | 3326 + test/level01/test_results/diffout_sgi32.txt | 903 + test/level01/test_results/diffout_sun.txt | 466 + test/level01/test_results/reference/diffout_lin.txt | 911 + test/level01/test_results/reference/diffout_mac.txt | 928 + test/level01/test_results/reference/diffout_sgi32.txt | 903 + test/level01/test_results/reference/diffout_sun.txt | 402 + test/level01/test_results/reference/stdout_lin.txt | 18186 + test/level01/test_results/reference/stdout_mac.txt | 18186 + test/level01/test_results/reference/stdout_sgi32.txt | Bin test/level01/test_results/reference/stdout_sun.txt | 18190 + test/level01/test_results/stdout_lin.txt | 34 + test/level01/test_results/stdout_lin64.txt | 28509 + test/level01/test_results/stdout_linux2.txt | 28511 + test/level01/test_results/stdout_mac.txt | 18191 + test/level01/test_results/stdout_random.txt | 2079 + test/level01/test_results/stdout_sgi32.txt | Bin test/level01/test_results/stdout_sun.txt | 18195 + test/level02/check_test.py | 493 + test/level02/clean_testdirs.scr | 53 + test/level02/control02.py | 53 + test/level02/control02.pyc | Bin test/level02/diffout_lin.txt | 415 + test/level02/exo_eltset/input.lgi | 6 +- test/level02/exo_eltset/reference/input.lgi | 6 +- test/level02/exo_eltset/reference/logx3dgen | 6 +- test/level02/exo_eltset/reference/out_3D_hex.exo | Bin test/level02/exo_eltset/reference/out_3D_tet.exo | Bin test/level02/exo_eltset/reference/out_3D_tri.exo | Bin test/level02/exo_eltset/reference/outx3dgen | 24 +- test/level02/exo_eltset/reference/test3D_hex.exo | Bin test/level02/exo_eltset/reference/test3D_hex.exo.ascii | 244 - test/level02/exo_eltset/reference/test3D_tet.exo | Bin test/level02/exo_eltset/reference/test3D_tet.exo.ascii | 244 - test/level02/exo_eltset/reference/test3D_tri.exo | Bin test/level02/exo_eltset/reference/test3D_tri.exo.ascii | 190 - test/level02/exo_pset_eltset/._temp.nc | Bin test/level02/exo_pset_eltset/input.lgi | 18 +- test/level02/exo_pset_eltset/reference/input.lgi | 18 +- test/level02/exo_pset_eltset/reference/logx3dgen | 18 +- test/level02/exo_pset_eltset/reference/out_2D_tri_eltset.exo | Bin test/level02/exo_pset_eltset/reference/out_2D_tri_pset.exo | Bin test/level02/exo_pset_eltset/reference/out_2D_tri_pset_eltset.exo | Bin test/level02/exo_pset_eltset/reference/out_3D_hex_eltset.exo | Bin test/level02/exo_pset_eltset/reference/out_3D_hex_pset.exo | Bin test/level02/exo_pset_eltset/reference/out_3D_hex_pset_eltset.exo | Bin test/level02/exo_pset_eltset/reference/out_3D_tet_eltset.exo | Bin test/level02/exo_pset_eltset/reference/out_3D_tet_pset.exo | Bin test/level02/exo_pset_eltset/reference/out_3D_tet_pset_eltset.exo | Bin test/level02/exo_pset_eltset/reference/outx3dgen | 63 +- test/level02/exo_pset_eltset/reference/test2D_tri_eltset.exo | Bin test/level02/exo_pset_eltset/reference/test2D_tri_eltset.exo.ascii | 164 - test/level02/exo_pset_eltset/reference/test2D_tri_pset.exo | Bin test/level02/exo_pset_eltset/reference/test2D_tri_pset.exo.ascii | 164 - test/level02/exo_pset_eltset/reference/test2D_tri_pset_eltset.exo | Bin test/level02/exo_pset_eltset/reference/test2D_tri_pset_eltset.exo.ascii | 190 - test/level02/exo_pset_eltset/reference/test3D_hex_eltset.exo | Bin test/level02/exo_pset_eltset/reference/test3D_hex_eltset.exo.ascii | 214 - test/level02/exo_pset_eltset/reference/test3D_hex_pset.exo | Bin test/level02/exo_pset_eltset/reference/test3D_hex_pset.exo.ascii | 218 - test/level02/exo_pset_eltset/reference/test3D_hex_pset_eltset.exo | Bin test/level02/exo_pset_eltset/reference/test3D_hex_pset_eltset.exo.ascii | 244 - test/level02/exo_pset_eltset/reference/test3D_tet_eltset.exo | Bin test/level02/exo_pset_eltset/reference/test3D_tet_eltset.exo.ascii | 437 - test/level02/exo_pset_eltset/reference/test3D_tet_pset.exo | Bin test/level02/exo_pset_eltset/reference/test3D_tet_pset.exo.ascii | 433 - test/level02/exo_pset_eltset/reference/test3D_tet_pset_eltset.exo | Bin test/level02/exo_pset_eltset/reference/test3D_tet_pset_eltset.exo.ascii | 466 - test/level02/exodus_cube/logx3dgen | 66 - test/level02/exodus_cube/out_tmp_sort1.gmv | Bin test/level02/exodus_cube/out_tmp_sort2.gmv | Bin test/level02/exodus_cube/output_1_bottom.faceset | 8 - test/level02/exodus_cube/output_2_top.faceset | 8 - test/level02/exodus_cube/output_hex_final.exo | Bin test/level02/exodus_cube/output_hex_final.inp | 78 - test/level02/exodus_cube/output_hex_final_ascii.exo | 133 - test/level02/exodus_cube/output_hex_start.gmv | Bin test/level02/exodus_cube/output_hex_surface.gmv | Bin test/level02/exodus_cube/output_mat_1.cellset | 3 - test/level02/exodus_cube/outx3dgen | 532 - test/level02/exodus_prisms/fs_1_bottom.faceset | 204 - test/level02/exodus_prisms/fs_1_bottom.gmv | Bin test/level02/exodus_prisms/fs_2_top.faceset | 204 - test/level02/exodus_prisms/fs_2_top.gmv | Bin test/level02/exodus_prisms/fs_3_right.faceset | 24 - test/level02/exodus_prisms/fs_3_right.gmv | Bin test/level02/exodus_prisms/fs_4_back.faceset | 24 - test/level02/exodus_prisms/fs_4_back.gmv | Bin test/level02/exodus_prisms/fs_5_left.faceset | 24 - test/level02/exodus_prisms/fs_5_left.gmv | Bin test/level02/exodus_prisms/fs_6_front.faceset | 24 - test/level02/exodus_prisms/fs_6_front.gmv | Bin test/level02/exodus_prisms/input.lgi | 96 +- test/level02/exodus_prisms/input_one_tri.inp | 6 + test/level02/exodus_prisms/logx3dgen | 187 - test/level02/exodus_prisms/mesh_fsets.exo | Bin test/level02/exodus_prisms/mesh_fsets.gmv | Bin test/level02/exodus_prisms/mesh_fsets.inp | 1535 - test/level02/exodus_prisms/mesh_fsets_ascii.exo | 1081 - test/level02/exodus_prisms/mesh_fsets_single_mat.exo | Bin test/level02/exodus_prisms/mesh_fsets_single_mat.gmv | Bin test/level02/exodus_prisms/mesh_fsets_single_mat.inp | 1535 - test/level02/exodus_prisms/mesh_fsets_single_mat_ascii.exo | 1066 - test/level02/exodus_prisms/one_tri.inp | 6 - test/level02/exodus_prisms/one_tri_z0.inp | 322 - test/level02/exodus_prisms/one_tri_z1.inp | 322 - test/level02/exodus_prisms/one_tri_z2.inp | 322 - test/level02/exodus_prisms/outx3dgen | 2114 - test/level02/exodus_prisms/prism_one.exo | Bin test/level02/exodus_prisms/prism_one.gmv | Bin test/level02/exodus_prisms/prism_one.inp | 20 - test/level02/exodus_prisms/prism_one_layer.exo | Bin test/level02/exodus_prisms/prism_one_layer.gmv | Bin test/level02/exodus_prisms/prism_one_layer.inp | 691 - test/level02/exodus_prisms/prism_one_layer_perturb_z.exo | Bin test/level02/exodus_prisms/prism_one_layer_perturb_z.gmv | Bin test/level02/exodus_prisms/prism_one_layer_perturb_z.inp | 893 - test/level02/exodus_prisms/prism_outside_faces.gmv | Bin test/level02/exodus_prisms/prism_outside_faces.inp | 1541 - test/level02/exodus_prisms/prism_two_layer.exo | Bin test/level02/exodus_prisms/prism_two_layer.gmv | Bin test/level02/exodus_prisms/prism_two_layer.inp | 1133 - test/level02/exodus_prisms/prism_two_layer_perturb_z.exo | Bin test/level02/exodus_prisms/prism_two_layer_perturb_z.gmv | Bin test/level02/exodus_prisms/prism_two_layer_perturb_z.inp | 1133 - test/level02/exodus_prisms/reference/README.method.txt | 40 + test/level02/exodus_prisms/reference/README.txt | 34 + test/level02/exodus_prisms/reference/exo_fset1-5.jpg | Bin test/level02/exodus_prisms/reference/exo_fset1-6.jpg | Bin test/level02/exodus_prisms/reference/exo_itetclr.jpg | Bin test/level02/exodus_prisms/reference/fs_1_bottom.faceset | 204 - test/level02/exodus_prisms/reference/fs_1_bottom.gmv | Bin test/level02/exodus_prisms/reference/fs_2_top.faceset | 204 - test/level02/exodus_prisms/reference/fs_2_top.gmv | Bin test/level02/exodus_prisms/reference/fs_3_right.faceset | 24 - test/level02/exodus_prisms/reference/fs_3_right.gmv | Bin test/level02/exodus_prisms/reference/fs_4_back.faceset | 24 - test/level02/exodus_prisms/reference/fs_4_back.gmv | Bin test/level02/exodus_prisms/reference/fs_5_left.faceset | 24 - test/level02/exodus_prisms/reference/fs_5_left.gmv | Bin test/level02/exodus_prisms/reference/fs_6_front.faceset | 24 - test/level02/exodus_prisms/reference/fs_6_front.gmv | Bin test/level02/exodus_prisms/reference/input.lgi | 96 +- test/level02/exodus_prisms/reference/input_one_tri.inp | 6 + test/level02/exodus_prisms/reference/logx3dgen | 98 +- test/level02/exodus_prisms/reference/make_test_prism.lgi | 118 - test/level02/exodus_prisms/reference/mesh_fsets.exo | Bin test/level02/exodus_prisms/reference/mesh_fsets.gmv | Bin test/level02/exodus_prisms/reference/mesh_fsets.inp | 1535 - test/level02/exodus_prisms/reference/mesh_fsets_ascii.exo | 1081 - test/level02/exodus_prisms/reference/mesh_fsets_single_mat.exo | Bin test/level02/exodus_prisms/reference/mesh_fsets_single_mat.gmv | Bin test/level02/exodus_prisms/reference/mesh_fsets_single_mat.inp | 1535 - test/level02/exodus_prisms/reference/mesh_fsets_single_mat_ascii.exo | 1066 - test/level02/exodus_prisms/reference/one_tri.inp | 6 - test/level02/exodus_prisms/reference/one_tri_z0.inp | 322 - test/level02/exodus_prisms/reference/one_tri_z1.inp | 322 - test/level02/exodus_prisms/reference/one_tri_z2.inp | 322 - test/level02/exodus_prisms/reference/out_fs_1_bottom.faceset | 204 + test/level02/exodus_prisms/reference/out_fs_1_bottom.gmv | Bin test/level02/exodus_prisms/reference/out_fs_2_top.faceset | 204 + test/level02/exodus_prisms/reference/out_fs_2_top.gmv | Bin test/level02/exodus_prisms/reference/out_fs_3_right.faceset | 24 + test/level02/exodus_prisms/reference/out_fs_3_right.gmv | Bin test/level02/exodus_prisms/reference/out_fs_4_back.faceset | 24 + test/level02/exodus_prisms/reference/out_fs_4_back.gmv | Bin test/level02/exodus_prisms/reference/out_fs_5_left.faceset | 24 + test/level02/exodus_prisms/reference/out_fs_5_left.gmv | Bin test/level02/exodus_prisms/reference/out_fs_6_front.faceset | 24 + test/level02/exodus_prisms/reference/out_fs_6_front.gmv | Bin test/level02/exodus_prisms/reference/out_mesh_fsets.exo | Bin test/level02/exodus_prisms/reference/out_mesh_fsets.gmv | Bin test/level02/exodus_prisms/reference/out_mesh_fsets.inp | 1535 + test/level02/exodus_prisms/reference/out_mesh_fsets_single_mat.exo | Bin test/level02/exodus_prisms/reference/out_mesh_fsets_single_mat.gmv | Bin test/level02/exodus_prisms/reference/out_mesh_fsets_single_mat.inp | 1535 + test/level02/exodus_prisms/reference/out_prism_one.exo | Bin test/level02/exodus_prisms/reference/out_prism_one.gmv | Bin test/level02/exodus_prisms/reference/out_prism_one.inp | 20 + test/level02/exodus_prisms/reference/out_prism_one_layer.exo | Bin test/level02/exodus_prisms/reference/out_prism_one_layer.gmv | Bin test/level02/exodus_prisms/reference/out_prism_one_layer.inp | 691 + test/level02/exodus_prisms/reference/out_prism_outside_faces.gmv | Bin test/level02/exodus_prisms/reference/out_prism_outside_faces.inp | 1541 + test/level02/exodus_prisms/reference/out_prism_two_layer.exo | Bin test/level02/exodus_prisms/reference/out_prism_two_layer.gmv | Bin test/level02/exodus_prisms/reference/out_prism_two_layer.inp | 1133 + test/level02/exodus_prisms/reference/out_prism_two_layer_perturb_z.ex | Bin test/level02/exodus_prisms/reference/out_prism_two_layer_perturb_z.gm | Bin test/level02/exodus_prisms/reference/out_prism_two_layer_perturb_z.in | 1133 + test/level02/exodus_prisms/reference/outx3dgen | 207 +- test/level02/exodus_prisms/reference/prism_one.exo | Bin test/level02/exodus_prisms/reference/prism_one.gmv | Bin test/level02/exodus_prisms/reference/prism_one.inp | 20 - test/level02/exodus_prisms/reference/prism_one.png | Bin test/level02/exodus_prisms/reference/prism_one_layer.exo | Bin test/level02/exodus_prisms/reference/prism_one_layer.gmv | Bin test/level02/exodus_prisms/reference/prism_one_layer.inp | 691 - test/level02/exodus_prisms/reference/prism_one_layer.png | Bin test/level02/exodus_prisms/reference/prism_one_layer_perturb_z.exo | Bin test/level02/exodus_prisms/reference/prism_one_layer_perturb_z.gmv | Bin test/level02/exodus_prisms/reference/prism_one_layer_perturb_z.inp | 893 - test/level02/exodus_prisms/reference/prism_one_layer_perturb_z.png | Bin test/level02/exodus_prisms/reference/prism_outside_faces.gmv | Bin test/level02/exodus_prisms/reference/prism_outside_faces.inp | 1541 - test/level02/exodus_prisms/reference/prism_outside_faces.rgb | Bin test/level02/exodus_prisms/reference/prism_outside_faces_cut.rgb | Bin test/level02/exodus_prisms/reference/prism_two_layer.exo | Bin test/level02/exodus_prisms/reference/prism_two_layer.gmv | Bin test/level02/exodus_prisms/reference/prism_two_layer.inp | 1133 - test/level02/exodus_prisms/reference/prism_two_layer.png | Bin test/level02/exodus_prisms/reference/prism_two_layer_perturb_z.exo | Bin test/level02/exodus_prisms/reference/prism_two_layer_perturb_z.gmv | Bin test/level02/exodus_prisms/reference/prism_two_layer_perturb_z.inp | 1133 - test/level02/exodus_prisms/reference/prism_two_layer_perturb_z.png | Bin test/level02/exodus_prisms/reference/tmp_one_tri_z0.inp | 322 + test/level02/exodus_prisms/reference/tmp_one_tri_z1.inp | 322 + test/level02/exodus_prisms/reference/tmp_one_tri_z2.inp | 322 + test/level02/logx3dgen | 1 + test/level02/outx3dgen | 29 + test/level02/run_test.py | 194 + test/suite.py | 108 + 329 files changed, 321220 insertions(+), 1161945 deletions(-) diffs (truncated from 1485421 to 300 lines): diff -r 7d23ca25f647 -r 9035aecce4aa src/README.compile --- a/src/README.compile Tue Jun 30 10:45:13 2015 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -Version 3.X LaGriT libraries and executables -with linux 64 bit compiled with gfortran 4.5 or greater ------- - -Check for valid compiler versions, examples using gfortran 4.5 or greater. - - Target: x86_64-unknown-linux-gnu - Configured with: ../gcc-4.5.1/configure --prefix=/scratch/ymp/packages/gcc/gcc-4.5.1 - Thread model: posix gcc version 4.5.1 (GCC) - -Version 3 LaGriT uses these external libraries: - - Contact: Greg Sjaardema, Sandia National Laboratories, gdsjaar@sandia.gov - http://sourceforge.net/projects/exodusii/files/ - Exodus II 5.22b - HDF5 version 1.8.6 - netcdf-4.1.3 - -============================================================== -If do not have and do not need the ExodusII and netCDF libraries. - -LaGriT V3.0 supports ExodusII file format output (which sits on top of netCDF). -This means that if you want to compile your own code you have to build the ExodusII and netCDF libraries yourself. We do not distribute those packages. A quick and dirty option to compile without these libraries would to just take the code that calls those libraries and replace dumpexodusII.f it with: - - subroutine dumpexodusII(ifile) - return - end - -============================================================== -STEPS to COMPILE LAGRIT V3 -# OSTYPE = Linux gfortran 4.5 for 64 bit -# build -g debug version for use with debuggers such as gdb - - -STEP 1 -Compile lg_util library (LaGriT memory management routines) - -In directory lg_util/src - -CAUTION: check mm2000.h that BYTES_PER_INT = 8 -if not then Remove and re-make mm2000.h from mm2000_header.F - rm -f mm2000.h - gcc -g -E -m64 -Dlinx64 mm2000_header.F -o mm2000.h - cp -p mm2000.h objects_lin64_g_gfort4.5/ - -make MOPT=64 COPT=-g install - - - -STEP 2 -Compile LaGriT library and build executable example for Linux 64 bit -The script 'buildbin.scr' can be used to compile and link libraries -This is similar to the 'go' script we use which has explicit compile commands - -cp lagrit_lin64.h lagrit.h -cp machine_m64.h machine.h - -make MOPT=64 COPT=-g lib - - -STEP 3 -Compile the drivers, build the executable and link to needed libraries - -gfortran -g -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -c -o lagrit_main.o lagrit_main.f -gfortran -g -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -c -o lagrit_fdate.o lagrit_fdate.f - -gfortran -g -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -static -fno-sign-zero -o lagrit_lin64_o_gfort4.5 lagrit_main.o lagrit_fdate.o ./lagrit_lin64_g_gfort4.5.a /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/lg_util/lib/util_lin64_g_gfort4.5.a -L/n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus/lin64/lib -lexoIIv2for -lexodus -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++ - -============================================================== - -Running executable lagrit_lin64_o_gfort4.5 - -% lagrit_lin64_o_gfort4.5 - -* * * * * * * * * * * * * * * * * * * * * * * * * -* * * -* * Program: LaGriT V3.001 Linux m64 * -* * date_compile: 2011/08/01 gfort 4.5 * -* * Run Time: 2011/Aug 31 10:14:12 * -* * Manual: http://lagrit.lanl.gov * -* * * -* * * * * * * * * * * * * * * * * * * * * * * * * - - -----oOo----- -LaGriT Copyright: This program was prepared by Los Alamos National Security, LLC -at Los Alamos National Laboratory (LANL) under contract No. DE-AC52-06NA25396 -with the U.S. Department of Energy (DOE). All rights in the program are reserved -by the DOE and Los Alamos National Security, LLC. Permission is granted to the -public to copy and use this software without charge, provided that this Notice -and any statement of authorship are reproduced on all copies. Neither the -U.S. Government nor LANS makes any warranty, express or implied, or assumes -any liability or responsibility for the use of this software. - -----oOo----- - - -Output log file: outx3dgen -Command log file: logx3dgen - - Enter a command -memory print - --------- - -MEMORY SIZES : - Sizeof char (type 3) = 1 bytes Sizeof long = 8 bytes - Sizeof real*8 (type 2) = 8 bytes Sizeof pointer = 8 bytes - Sizeof integer (type 1) = 4 bytes Sizeof INT_PTRSIZE = 8 bytes - - -INDEX LENGTH TYPE ADDRESS NAME PARTITION - 2 10 1 102267104 global_type global_lg - 3 10 1 102267296 global_index global_lg - 1 10 3 102269056 global_name global_lg - 4 20 1 102329536 global_integer global_lg - 5 20 2 102329808 global_real global_lg - 6 20 3 102330080 global_character global_lg - 7 10 3 102330832 geom_names geom_lg - 8 80 1 102331264 geom_info geom_lg - 9 8 3 102332016 defcmo_attparam_names define_cmo_lg - 10 10 3 102332384 cmo_names define_cmo_lg - 11 10 1 102332816 cmo_natts define_cmo_lg - 12 455 3 102333008 cmo_attlist default_cmo_lg - 13 65 3 102347680 cmo_attparam_cdefault default_cmo_lg - 14 65 1 102349872 cmo_attparam_idefault default_cmo_lg - 15 65 2 102350496 cmo_attparam_rdefault default_cmo_lg - 16 2560 1 102351120 cmd_stack initlagrit - 17 1280 1 102371712 definition initlagrit - -Total BYTES = 51456 Total MEGABYTES = 51.456E-03 --------- - -============================================== - diff -r 7d23ca25f647 -r 9035aecce4aa src/README.compile.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/README.compile.txt Tue Jul 26 09:48:53 2016 -0600 @@ -0,0 +1,179 @@ +Version 3.X LaGriT libraries and executables +with linux 64 bit compiled with gfortran 4.5 or greater ------- + + +============================================================== +Version 3.106 and greater LaGriT uses these external libraries: + + Exodus II 6.09 + HDF5 version 1.8.6 + netcdf-4.1.3 + zlib 1.2.5 + +Contact: Greg Sjaardema, Sandia National Laboratories, gdsjaar@sandia.gov +http://sourceforge.net/projects/exodusii/files/ + + $DIR/exodusii/6.09/gcc-4.8.2-serial/lib + libexodus.so libexoIIv2for.so + (static libs should be libexodus.a libexoIIv2for.a) + copy include files to src (or add -I to the link command) + exodusII.h (for C calls) + exodusII.inc (for Fortran calls) + exodusII_int.h exodusII_int.inc + +NOTE: exodusII.inc is incomplete (Greg will fix in his version) +Add these lines if it does not exist: + integer EX_ELEM_SET + parameter (EX_ELEM_SET = 10) + +BUILD Ubuntu shared EXECUTABLE with Exodus: + +#### ubuntu with modules ### USING BASH instead of TCSH ###### +# GNU Fortran (Ubuntu 4.8.2-19ubuntu1) 4.8.2 +# using ExodusII 6.09 shared libraries + +# load modules +module load exodusii/6.09/gcc-4.8.2-serial +module list +rm *.o +rm *.mod +make COPT=-g lib + +### link code and libraries to build executable +# leave off -static option for the .so shared libraries: +gfortran -g -Dlinx64 -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_ulin64_g_gf4.8.a /n/swdev/LAGRIT/VERS_3.103_015_MAR/lg_util/src/util_ulin64_g_gf4.8.a -L/n/swdev/packages/Ubuntu-14.04-x86_64/exodusii/6.09/gcc-4.8.2-serial/lib -lexodus -lexoIIv2for -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++ + +# BUILD DONE + +============================================================== +If do not have and do not need the ExodusII and netCDF libraries. + +BUILD Ubuntu shared EXECUTABLE with No Exodus: + +LaGriT V3.106 supports ExodusII file format output (which sits on top of netCDF). +This means that if you want to compile your own code you have to build the ExodusII and netCDF libraries yourself. We do not distribute those packages. A quick and dirty option to compile without these libraries would to just take the code that calls those libraries and replace dumpexodusII.f it with: + + subroutine dumpexodusII(ifile) + return + end + +============================================================== +STEPS to COMPILE LAGRIT V3 +# OSTYPE = Linux gfortran 4.5 for 64 bit +# build -g debug version for use with debuggers such as gdb + + +STEP 1 +Compile lg_util library (LaGriT memory management routines) + +In directory lg_util/src + +CAUTION: check mm2000.h that BYTES_PER_INT = 8 +if not then Remove and re-make mm2000.h from mm2000_header.F + rm -f mm2000.h + gcc -g -E -m64 -Dlinx64 mm2000_header.F -o mm2000.h + cp -p mm2000.h objects_lin64_g_gfort4.5/ + +Note that 64 bit compile is now default. + +make MOPT=64 COPT=-g install +or +make COPT=-g + + + +STEP 2 +Compile LaGriT library and build executable example for Linux 64 bit +The script 'buildbin.scr' can be used to compile and link libraries +This is similar to the 'go' script we use which has explicit compile commands + +cp lagrit_lin64.h lagrit.h +cp machine_m64.h machine.h + +make COPT=-g lib + + +STEP 3 +Compile the drivers, build the executable and link to needed libraries + +gfortran -g -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -c -o lagrit_main.o lagrit_main.f +gfortran -g -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -c -o lagrit_fdate.o lagrit_fdate.f + +Link to local exodus libraries: + +gfortran -g -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -static -fno-sign-zero -o lagrit_lin64_o_gfort4.5 lagrit_main.o lagrit_fdate.o ./lagrit_lin64_g_gfort4.5.a /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/lg_util/lib/util_lin64_g_gfort4.5.a -L/n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus/lin64/lib -lexoIIv2for -lexodus -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++ + +or +load exodus modules and build shared version: + +module load exodusii/6.09/gcc-4.8.2-serial + +gfortran -g -Dlinx64 -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_ulin64_g_gf4.8.a /n/swdev/LAGRIT/VERS_3.103_015_MAR/lg_util/src/util_ulin64_g_gf4.8.a -L/n/swdev/packages/Ubuntu-14.04-x86_64/exodusii/6.09/gcc-4.8.2-serial/lib -lexodus -lexoIIv2for -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++ + + + +============================================================== + +Running executable lagrit_lin64_o_gfort4.5 + +% lagrit_lin64_o_gfort4.5 + +* * * * * * * * * * * * * * * * * * * * * * * * * +* * * +* * Program: LaGriT V3.001 Linux m64 * +* * date_compile: 2011/08/01 gfort 4.5 * +* * Run Time: 2011/Aug 31 10:14:12 * +* * Manual: http://lagrit.lanl.gov * +* * * +* * * * * * * * * * * * * * * * * * * * * * * * * + + -----oOo----- +LaGriT Copyright: This program was prepared by Los Alamos National Security, LLC +at Los Alamos National Laboratory (LANL) under contract No. DE-AC52-06NA25396 +with the U.S. Department of Energy (DOE). All rights in the program are reserved +by the DOE and Los Alamos National Security, LLC. Permission is granted to the +public to copy and use this software without charge, provided that this Notice +and any statement of authorship are reproduced on all copies. Neither the +U.S. Government nor LANS makes any warranty, express or implied, or assumes +any liability or responsibility for the use of this software. + -----oOo----- + + +Output log file: outx3dgen +Command log file: logx3dgen + + Enter a command +memory print + +-------- + +MEMORY SIZES : + Sizeof char (type 3) = 1 bytes Sizeof long = 8 bytes + Sizeof real*8 (type 2) = 8 bytes Sizeof pointer = 8 bytes + Sizeof integer (type 1) = 4 bytes Sizeof INT_PTRSIZE = 8 bytes + + +INDEX LENGTH TYPE ADDRESS NAME PARTITION + 2 10 1 102267104 global_type global_lg + 3 10 1 102267296 global_index global_lg + 1 10 3 102269056 global_name global_lg + 4 20 1 102329536 global_integer global_lg end diffstat =============================================================================== ============================================================ V3.2 Summer work by Mikita Yanki for Ubuntu and WIN7 with Exodus 6.9 /scratch/sft/yanki/lagrit/src/mylagrit copied to lagrit_ulin3.2 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Program: LaGriT V3.200 Linux m64 * * * date_compile: 2015/07/14 Ubu gf * * * Run Time: 2015/Nov 12 12:12:45 * * * Manual: http://lagrit.lanl.gov * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ---------------------------------------------------------------- V3.107 Shared Ubuntu with minor fixes lagrit_ulin_g_gf_V3.107.so removed calculation in xsumsp2r.f that was overwriting volumes for triangle meshes this did not cause any problems for planar grids ============================================================ V3.107 compiled on Linux Ubuntu only Updates to V3.106 also on Linux Ubuntu only commit all Jul 25 2016 lagrit*h changed to V3.107 dump_fehm_geom.f changeset: 318:32957c588d2a user: Terry Miller date: Wed Mar 18 16:36:07 2015 -0600 summary: add space between ns and nelements, increase to i12 matbld3d_stor.f changeset: 319:24a2a64bd692 user: Terry Miller date: Wed Mar 18 16:37:35 2015 -0600 summary: Changing value of compress_epsilon seemed to help loss of coeffs with large aspect ratios matbld2d_stor.f changeset: 332:f690699dbbed user: Terry Miller date: Mon Jun 29 10:50:49 2015 -0600 summary: Corrected bug that overwrites volic with incorrect value if grid is non-planer matbld3d_stor.f anotherbatbld3d.c anothermatbld3d_wrapper.f changeset: 320:1706ce8ed247 user: Terry Miller date: Wed Mar 18 16:38:55 2015 -0600 summary: modifications to allow user to extend range of ccoef values by setting mesh attribute compress_eps (from default 1e-8) This will keep connection regardless of coefficient value Changing value of compress_epsilon seemed to help loss of coeffs with large aspect ratios read_fehm_zone.f changeset: 336:6d6844a6da9f user: Terry Miller date: Mon Jul 25 10:17:18 2016 -0600 summary: Fixed seg fault for 0 elem report message by using a,a instead of a format. ---------------------------------------------------------------- V3.106 Shared Ubuntu by tamiller Jun 1 2015 Updates to Exodus 6.9 Apr 7 2015 lagrit_ulin_g_gf4.8_noexo Jun 1 15:33 lagrit_ulin_g_gf.so Running with Loaded Modulefiles: zlib/1.2.5/gcc-4.8.2 hdf5/1.8.6/gcc-4.8.2-serial netcdf/4.3.3.1/gcc-4.8.2-serial exodusii/6.09/gcc-4.8.2-serial ============================================================ June - August changesets from Mikita (does not include src) 08/03/15: 12:51 Changeset [343:a5f6fb10ecce] by Mikita Yankouski Added LaGrit executable control to suite.py, fixed bugs with exodus_prisms files 07/28/15: 11:43 Changeset [342:568f429d6ab5] by Mikita Yankouski Readme and run_tests updated. 07/23/15: 16:02 Changeset [341:fd2974a8ed22] by Mikita Yankouski Added necessary include files and removed unnecessary ones. src Files: 5 added exo_files/exodusII.h exo_files/exodusII.inc exo_files/exodusII_int.h exo_files/exodusII_int.inc exo_files/netcdf.h 4 deleted exodusII.h exodusII_int.h exodusII_int.inc netcdf.h 10:14 Changeset [340:c517d630fec1] by Mikita Yankouski The rest of the updated testing files. 10:03 Changeset [339:61b2fcf75d99] by Mikita Yankouski removing unnecessary files from mercurial repo 07/22/15: 17:19 Changeset [338:79b3f6d48386] by Mikita Yankouski Level01 files updated. 15:25 Changeset [337:213373f96c1d] by Mikita Yankouski Added top level test control suite, and standarized level02 output files 07/02/15: 12:07 Changeset [336:60855c2e8da3] by Mikita Yankouski Added function control script called suite.py which accepts arguments … ============================================================ May - June 31 2015 Version 3.106 /n/swdev/LAGRIT/work/lagrit/src First compiled version of Ubuntu LaGriT with ExodusII 6.09 http://sourceforge.net/projects/exodusii/files/ Exodus II 6.09 HDF5 version 1.8.6 netcdf-4.1.3 Contact: Greg Sjaardema, Sandia National Laboratories, gdsjaar@sandia.gov module load exodusii/6.09/gcc-4.8.2-serial Executable copied to /n/swdev/LAGRIT/bin -rwxrwxrwx 1 tamiller sft 12434328 Jun 1 15:33 lagrit_ulin_g_gf.so Note the exodus files written from this version are similar but will result in the following differences: New Exodus 6.09: < :api_version = 6.09f ; < :version = 6.09f ; --- < eb_prop1 = 1, 2, 3 ; Old Exodus 5.22a: > :api_version = 5.22f ; > :version = 5.22f ; --- > eb_prop1 = 10000, 20000, 30000 ; writedump.f dumpfehm.f dump_pflo_stor.f changeset: 298:80e134eba0eb user: Terry Miller date: Mon May 20 13:17:54 2013 -0600 summary: Add new command dump/ pflotran This option of stor file is necessary for the DFN workflow ======================================================================= March 11 2015 Version 3.103 VERS_3.103_015_MAR/ Compiled version of Ubuntu LaGriT without ExodusII libs. Preparation for Major Updates, check in and commit for all. V3 is current lagrit code using Exodus 5 libs V4 includes port to WIN and syntax for Exodus 6 libs - Build/test V3 old RHEL RedHat 5 on aquifer with Exodus 5 - Build/test V3 new RHEL RedHat 6.5 on darcy or talik with Exodus 5 - Build/test V3 Ubuntu on brine or pingo with Exodus 5 - Build/test V4 Ubuntu on brine or pingo with Exodus 6 - Build/test V4 WIN7 with Exodus 6 - Build/test V4 MacOS with Exodus 6 - Build/test V4 RHEL 6.5 with Exodus 6 Current Stable Linux version: LaGriT V3.101 Linux m64 date_compile: 2013/04/25 RH gf4.5 These are the external libs used with LaGriT V3.1 As of November 2012 http://sourceforge.net/projects/exodusii/files/ Exodus II 5.22a HDF5 version 1.8.6 netcdf-4.1.3 Contact: Greg Sjaardema, Sandia National Laboratories, gdsjaar@sandia.gov Linux RHEL Exodus 5 libraries were built in /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus Build executable for linux: gfortran -O -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_lin64_o_gf4.5.a /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/lg_util/lib/util_lin64_o_gfort4.5.a -L /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus/lin64/lib -lexoIIv2for -lexodus -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++ lagrit_main.o lagrit_fdate.o lagrit_lin64_o_gf4.5.a /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/lg_util/lib/util_lin64_o_gfort4.5.a /n/swdev/LAGRIT/VERS_3.100_012_NOV09/build_lagrit/exodus/lin64/lib -lexoIIv2for -lexodus -lnetcdf -lhdf5_hl -lhdf5 -lz -lm -lstdc++ ======================================================================= LaGriT V3.100 Nov 2012 - added copyright Release 3.1 No dump pflotran in this version (last open distribution release) VERS_3.100_012_NOV09/ changeset: 285:52e0c01f812f tag: tip user: Terry Miller date: Fri Nov 16 09:37:21 2012 -0700 summary: Commit tested LaGriT V3.100 Linux m64 date_compile: 2012/07/23 gfort 4.5 Date: November 16 and 19, 2012 9:39:20 AM MST Compiled and Passed test/level01: -rwxr-xr-x 1 tam sft 22485691 Nov 16 10:33 lagrit_lin64_g_gfort4.5 -rwxr-xr-x 1 tam sft 15874141 Nov 19 12:50 lagrit_lin64_o_gfort4.5 -rwxr-xr-x 1 tam sft 19162251 Nov 19 12:50 lagrit_lin32_g_gfort4.5 -rwxr-xr-x 1 tam sft 14007039 Nov 19 12:50 lagrit_lin32_o_gfort4.5 -rwxr-xr-x 1 tam sft 14759432 Nov 16 14:56 lagrit_maci64_g_gfort4.6 -rwxr-xr-x 1 tam sft 12139488 Nov 19 13:13 lagrit_maci64_o_gfort4.6 * * * * * Program: LaGriT V3.100 Linux m64 * * * date_compile: 2012/10/31 dev vers * * * Run Time: 2012/Nov 19 14:53:56 * * * Manual: http://lagrit.lanl.gov * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -----oOo----- LaGriT V3 LACC-2012-084 ======================================================= diff V3.100 and combine into hg so clone is current with tam and quan Wed Nov 14 14:44:22 MST 2012 diff /home/tam/src/lagrit/src /home/quanb/src/my_lagrit/src_stable new files: copyrite_libs.h Makefile - comments about exo libs Makefile.depends for exo_put_sets.c README.compile - making updates to compile commands with exo libs. cmo_copyatt.f - fixed logic to allow copy from point to elem attrib of equal length matbld2d_stor.f - some of my changes in prep for pflotran (no pflo in here). lagrit_main.f - added error return from main (for valgrind) lagrit_*.h - V3.100 dev vers Quan updates copied from /home/quanb/src/my_lagrit/src_stable: exo_put_sets.c dumpexodusII.f derefine.f ======================================================= ======================================================================= local LANL executables /usr/ees/bin/lagrit -> /home/tam/src/lagrit/bin/lagrit_lin_o* /usr/ees/bin/lagrit_g -> /home/tam/src/lagrit/bin/lagrit_lin_g* /home/tam/src/lagrit/bin/lagrit_dev current debug linux 64 copy Quan last source code changes to current src /n/swdev/LAGRIT/work/lagrit/src capillary.lanl.gov% cp ../src_quanb/addmesh.f . capillary.lanl.gov% cp ../src_quanb/derefine.f . capillary.lanl.gov% cp ../src_quanb/massage2.f . capillary.lanl.gov% cp ../src_quanb/sortbins.f . capillary.lanl.gov% cp ../src_quanb/triangulate_lg.f . ======================================================================= LaGriT V3.100 Nov 2012 - preparation for Release 3.1 changeset: 285:52e0c01f812f tag: tip user: Terry Miller date: Fri Nov 16 09:37:21 2012 -0700 summary: Commit tested LaGriT V3.100 Linux m64 date_compile: 2012/07/23 gfort 4.5 Date: November 16, 2012 9:39:20 AM MST changeset f6bcf0487741 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=f6bcf0487741 summary: Added reporting at end to be similar to matbld3d reporting changeset a8b0b6fa863d in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=a8b0b6fa863d summary: Small adjustments from Quan's work in quanb/src/my_lagrit/src_stable changeset da5d58ce8809 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=da5d58ce8809 summary: Copyright banner for LaGriT V3 LACC-2012-084 changeset 3c2e931b46f4 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=3c2e931b46f4 summary: Update banner to V3.100 date_compile: 2012/10/31 dev vers changeset 43f6544b5dcc in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=43f6544b5dcc summary: Added scripts that work with new build directory setup changeset 8f7f08881f34 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=8f7f08881f34 summary: Update compile instructions to include exo libs and new build structure changeset cd5539d831d9 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=cd5539d831d9 summary: Update reference files with improved reporting from matbld2D and exodus changeset 474c203e074b in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=474c203e074b summary: V3.100 linux result files changeset 52e0c01f812f in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=52e0c01f812f summary: Commit tested LaGriT V3.100 Linux m64 date_compile: 2012/07/23 gfort 4.5 ======================================================= diff V3.100 and combine into hg so clone is current with tam and quan Wed Nov 14 14:44:22 MST 2012 diff /home/tam/src/lagrit/src /home/quanb/src/my_lagrit/src_stable new files: copyrite_libs.h Makefile - comments about exo libs Makefile.depends for exo_put_sets.c README.compile - making updates to compile commands with exo libs. cmo_copyatt.f - fixed logic to allow copy from point to elem attrib of equal length matbld2d_stor.f - some of my changes in prep for pflotran (no pflo in here). lagrit_main.f - added error return from main (for valgrind) lagrit_*.h - V3.100 dev vers Quan updates copied from /home/quanb/src/my_lagrit/src_stable: exo_put_sets.c dumpexodusII.f derefine.f ======================================================= changeset: 276:18c502718fa0 tag: tip user: Terry Miller date: Thu Nov 08 15:29:51 2012 -0700 summary: V3.100 under development, compiled and tested linux 64 only. Using newly exodus libs to write exo pset and eltsets dump / exo / filenam.exo / cmoname / psets / eltsets / dump/exo/mesh_07.exo/mo7//eltsets/& facesets bc01.faceset & bc02.faceset bc03.faceset bc04.faceset & bc05.faceset bc08.faceset bc09.faceset dump/exo/mesh_06.exo/mo6/psets//& facesets bc01.faceset & bc02.faceset bc03.faceset bc04.faceset & bc05.faceset bc08.faceset bc09.faceset test in /home/quanb/src/test/exo_sets/small_test/ TODO: document man pages cmo_copyatt.f BUG fixes in cmo/copyatt when doing a copy from node attribute to elem attribute of equal length. Logic cleaned up. Tested all combos of equal length. Not tested - all combos of unequal length addmesh.f Quan Case 1 0 0 0 If the name of the sink and one of the sources are the same, change one of the sources name to -tmp_source_internal- math.f (Quan?) add modulo and mod massage2.f Quan updates Makefile.depends Quan updates lagrit_main.f added error return cmo_readatt.f quan fix to allow char in first position Quan path to test for exodus node sets and element sets /home/quanb/src/test/exo_sets/small_test/ dumpexodusII.f new exodusII.inc add exo_put_sets.c add exo_init_ext.c add exodusII_int.h add exodusII.h add netcdf.h copyrite_libs.h http://hdfgroup.org/HDF5/doc/Copyright.html exodus-5.22a netcdf-4.1.3 METIS 4.0.1 (not a library, source) This is the path to the libraries /home/quanb/src/sample_build/exodus Right now it has libraries for lin64 and lin32. The run.sh is the shell script to build hdf5, netcdf, and exodus. ======================================================================== Exodus libraries: http://sourceforge.net/projects/exodusii/files/ Exodus II 5.22a HDF5 version 1.8.6 netcdf-4.1.3 Contact: Greg Sjaardema, Sandia National Laboratories, gdsjaar@sandia.gov ======================================================================= LaGriT V3.006 July 2012 - bug fixes and student work Current full release for lagrit linux and mac with 32 and 64 bit August 1, 2012 4:54:45 PM MDT lagrit: Added tag Release V3.006 for changeset ae5c7a562be5 lg_util: Added tag Release V3.006 for changeset c4f6390736e7 Full compile and test Version V3.006 July 27 2012 lg_util: Version 3.006 compiles for mac and linux 32 bit and 64 bit * * * * * Program: LaGriT V3.006 Linux m64 * * * date_compile: 2012/07/26 gfort 4.5 * Now includes netcdf and exodus libs for writing exodus mesh files and reading and writing facesets. Dump exodus files with/without facesets, fast/slow options: Syntax: dump / exo / ifile / cmoname / facesets / on dump / exo / ifile / cmoname / facesets / off dump /exo / ifile / cmoname / facesets / on file1,file2,...filen dump /exo / ifile / cmoname / facesets / off file1,file2,...filen Added line sort by nodes or elements for creating valid polygons that can be read and used by other routines. Syntax: sort / line_graph / cmo / ascending | descending / [key] / [nodes/elements] Added option for massage to refine based on an attribute field. Syntax: massage / [bisection length/field name] / merge_length / toldamage / ... Under development massage2 syntax for incremental refinement strategies. Syntax in work: massage2/ [file name] / [Target Length Scale]/[field name]/ & merge_length/toldamage/[tolroughness]/[ifirst,ilast,istride]/ ... Code improvements related to recon 0 and recon 1 will result in slightly different but better connectivity results. Memory and bug fixes related to 64 bit code changes. Improved error catching for common routines. ----------------------------- test suite changes: Added new test test/level01/recon1 mac fails test/level01 sort and io_agf_simple IGNORE sort difference, evaluation is correct different result from line_graph due to how search tree created may want to move multiple graph sort to level02 since simple diff is not enough updated addmesh_append/reference to results with changes to recon July 26 final compile for mac and linux 32 and 64 bit mac compile found a variety of poor variable declaration, fixed. fixed recon 1 bug for a single triangle added July updates from Quan for DFN work with recon and massage. added copyright notices for metis, netcdf, exodus make sure copyrite.h notice is current and published From Moeglein, William for WINDOWS It’s a super-simple change. In the lagrit source, edit control_command_lg.f:458 FROM cmd_stack(last_char+1:maxlen_stack)=' ' TO cmd_stack(last_char+1:len_cmd)=' ' Linux compile done July 19, mac compile not yet done. General code improvement for 64 bit Edits to over 80 routines - declaration improvements changed to implicit none changed 1000000 to * grouped types and made more readable making mmgetblk more consistent so that integer arrays are allocated with bitesize flag 1 instead of 2 (for reals) this has allowed errors missed earlier to now show up the compiler found minor errors which were fixed potential problem where 32 bit works and 64 bit does not intger arrays allocated with mmgetblk flag 2 actually have twice as much memory as needed 64 bit real and int size are equal so no "buffer" space anymore requires correct use of code writedump.f, dumpexodusII.f - new syntax allows faster implementation of facesets addmesh.f - bug fix - return with warning for bad third cmo sortbins.f, line_graph_sort.cpp, line_graph_nsort.cpp - new syntax allows designation of sort by element or nodes get_elements_on_edge.f - bug fix - remove uneccesary loop for 2D faces msgtty.f, massage.f, new files cel_chain_f.f massage2.f - Refine enhancement for refine on dfield by Quan developing new refine/recon tests for 2D in /home/tam/src/lagrit/work/recon_dfn (from Tsung-Lin work) /home/tam/src/lagrit/work/recon (1 triangle fails, 2 tri works) major changes to results in test/level01 most due to changes in recon and also error reporting these tests use routines that call recon - major differences reference updated and old tests (below) saved to V3.005_reference addmesh_add - output report very different, result appears essentially same --- new < recon2: MFLIP NEWLEN FOR iremov with: 4 < recon2: ntets= 3663 nface= 2 nflips= 17 < niter= 2 negvol= 0 nbface= 2 < recon2 set new node and element total: 1002 3663 < RECON: done. --- new < element volumes b/w 0.2270E-05 and 0.6560E-05: 13957 < element volumes b/w 0.6560E-05 and 0.1896E-04: 2419 < element volumes b/w 0.1896E-04 and 0.5477E-04: 774 < element volumes b/w 0.5477E-04 and 0.1583E-03: 235 < element volumes b/w 0.1583E-03 and 0.4572E-03: 3907 < min volume = 2.2704697E-06 max volume = 4.5724737E-04 --- old > RECON:ntets= 5951 nface= 18 nflips= 1701 > niter= 7 negvol= 0 nbface= 11 --- old > element volumes b/w 0.1135E-05 and 0.3768E-05: 14959 > element volumes b/w 0.3768E-05 and 0.1251E-04: 2693 > element volumes b/w 0.1251E-04 and 0.4151E-04: 1625 > element volumes b/w 0.4151E-04 and 0.1378E-03: 1459 > element volumes b/w 0.1378E-03 and 0.4572E-03: 3500 > min volume = 1.1352349E-06 max volume = 4.5724737E-04 smooth - output report are same, result with smooth differs but acceptable refine_recon_quality - output report and results differ - visually acceptable considering recon in 3D --- new 196,200c192,194 < recon2 - 384 52 0 0 0# 0.000E+00 < recon2: ntets= 384 nface= 52 nflips= 0 < niter= 0 negvol= 0 nbface= 48 < recon2 set new node and element total: 175 384 < RECON: done. --- new < elements with aspect ratio b/w .1 and .2 : 5 < elements with aspect ratio b/w .2 and .5 : 109 < elements with aspect ratio b/w .5 and 1. : 270 < min aspect ratio = 0.9087E-01 max aspect ratio = 0.7321E+00 --- new < elements with angles > 90.000: 207 < tets with angles > 90.000: 207 < min angle = 10.025 max angle = 162.285 --- old > recon2 - 384 10 0 0 0# 0.000E+00 > RECON:ntets= 384 nface= 10 nflips= 0 > niter= 0 negvol= 0 nbface= 8 --- old > elements with aspect ratio b/w .1 and .2 : 3 > elements with aspect ratio b/w .2 and .5 : 23 > elements with aspect ratio b/w .5 and 1. : 358 > min aspect ratio = 0.1286E+00 max aspect ratio = 0.7321E+00 --- old > elements with angles > 90.000: 130 > tets with angles > 90.000: 130 > min angle = 10.893 max angle = 162.285 changeset c4f6390736e7 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=c4f6390736e7 summary: Version 3.006 compiles for mac and linux 32 bit and 64 bit diffstat: src/setbit.f | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diffs (27 lines): diff -r 244f860555ce -r c4f6390736e7 src/setbit.f --- a/src/setbit.f Thu Jun 28 15:01:47 2012 -0600 +++ b/src/setbit.f Wed Aug 01 16:58:47 2012 -0600 @@ -138,6 +138,11 @@ if(bit(numbits,i-1,x) ) i1=1 if(bit(numbits,i-1,y) ) i2=1 i3 = ior(i1,i2) + +C 32 bit compiler warning +C Warning: Type mismatch in argument 'iword' +C at (1); passed REAL(8) to INTEGER(4) +C 64 bit; passed REAL(8) to INTEGER(8) call setbit(numbits,i-1,z,i3) enddo return @@ -170,6 +175,11 @@ if(bit(numbits,i-1,x) ) i1=1 if(bit(numbits,i-1,y) ) i2=1 i3 = iand(i1,i2) + +C 32 bit compiler warning +C Warning: Type mismatch in argument 'iword' at (1); +C passed REAL(8) to INTEGER(4) +C 64 bit; passed REAL(8) to INTEGER(8) call setbit(numbits,i-1,z,i3) enddo return lagrit: 17 new changesets changeset dbf26cfb9dc4 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=dbf26cfb9dc4 summary: Quan's changes to massage refinement changeset dbcb2f482ab2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=dbcb2f482ab2 summary: Quan's fix to bug during massage removing loop over faces changeset c136abc008ae in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c136abc008ae summary: Quan's fix for bad third mesh object, give warning and return changeset 3993e026750f in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=3993e026750f summary: fix to recon 1 seg fault and memory overwrite where npointsnew changeset 957ab3079d89 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=957ab3079d89 summary: corrected call to mflip arg to char* instead of integer changeset 1e1e1dca1604 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=1e1e1dca1604 summary: added code for iremov option which seemed to be missing. changeset 32b43300b0bb in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=32b43300b0bb summary: Fixed long time error so not sure code ever gets used, added output changeset 680a660f7e46 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=680a660f7e46 summary: Re Moeglein for WINDOWS suggested change from cmd_stack(last_char+1:maxlen_stack)=' ' to changeset 2719d6dcc5dc in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=2719d6dcc5dc summary: Update to massage gradient method from Quan changeset 9e9182782a12 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=9e9182782a12 summary: fixed mem error when recon 1 is called with a single triangle changeset c7507eb842d0 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c7507eb842d0 summary: fixed small compiler errors from gfortran v4.6 changeset 2ce7ec11114b in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=2ce7ec11114b summary: removed line that causes read fail and exit, it is not used for changeset 5ce6860b94cb in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=5ce6860b94cb summary: Program: LaGriT V3.006 changeset cb350ef14bd6 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=cb350ef14bd6 summary: V3.006 compile fixes for linux and mac 32 and 64 bit changeset 2eff6f5babd8 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=2eff6f5babd8 summary: Added test for recon 1 on single triangles and situation changeset 7f95422c1e88 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=7f95422c1e88 summary: Update tests to compare with new recon results changeset ae5c7a562be5 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=ae5c7a562be5 summary: Version V3.006 passing all tests for mac and linux 32 and 64 bit diffstat: bin/lagrit_lin_g | Bin bin/lagrit_lin_o | 2 +- bin/lagrit_mac_g | Bin bin/lagrit_mac_o | Bin lib/lagrit_lin64_g_gfort4.5.a | Bin lib/lagrit_lin64_o_gfort4.5.a | Bin lib/lagrit_lin_g_gfort4.5.a | Bin lib/lagrit_lin_o_gfort4.5.a | Bin src/README.compile | 28 +- src/addmesh.f | 76 +- src/addmesh_add.f | 213 +- src/beads_ona_ring.f | 44 +- src/cel_chain_f.f | 807 + src/closed_surfaces.f | 105 +- src/cmo.h | 14 +- src/cmo_create_cmo.f | 16 +- src/cmo_create_dir.f | 2 - src/cmo_derive.f | 36 +- src/cmo_interpolate.F | 66 +- src/cmo_setatt.f | 59 +- src/connect.f | 2 +- src/connect2d_lg.f | 4 +- src/control_command_lg.f | 3 +- src/dumpexodusII.f | 7 +- src/face.f | 10 +- src/filholes.f | 50 +- src/filter.f | 107 +- src/filter_elem_graph.f | 26 +- src/filterkd.f | 33 +- src/find2to2.f | 22 +- src/find2to3.f | 18 +- src/find3to2.f | 26 +- src/find4to4.f | 22 +- src/findface.f | 54 +- src/flip1to0.f | 31 +- src/flip2to0.f | 27 +- src/flip2to2.f | 25 +- src/flip2to3.f | 27 +- src/flip3to2.f | 25 +- src/flip4to4.f | 20 +- src/flipbdyc.f | 42 +- src/flp2to0b.f | 22 +- src/flp2to3b.f | 19 +- src/flp2to3i.f | 13 +- src/flp3to2i.f | 18 +- src/flp4to4i.f | 19 +- src/fnd2to3b.f | 40 +- src/fnd2to3i.f | 28 +- src/fnd3to2i.f | 29 +- src/fnd4to4i.f | 30 +- src/fndface2.f | 43 +- src/geniee.f | 41 +- src/get_elements_on_edge.f | 48 +- src/getsfact.F | 73 +- src/initnbr.f | 15 +- src/lagrit.h | 12 +- src/lagrit.template.h | 4 +- src/lagrit_lin.h | 4 +- src/lagrit_lin64.h | 4 +- src/lagrit_mac.h | 4 +- src/lagrit_maci.h | 4 +- src/lagrit_maci64.h | 4 +- src/lower_d_lg.f | 53 +- src/machine.h | 6 +- src/massage.f | 104 +- src/massage2.f | 220 + src/matbld0tri.f | 118 +- src/matbld1.f | 2 +- src/matbld2d_stor.f | 2 +- src/matbld3d_stor.f | 2 +- src/mega2d.f | 104 +- src/mega3d.f | 166 +- src/mega3d_inner_loop.f | 56 +- src/mega_error.f | 21 +- src/mega_hessian.f | 245 +- src/mflip.f | 35 +- src/msgtty.f | 7 + src/occonv.f | 3 + src/popcones_lg.f | 11 +- src/precondition.f | 25 +- src/pset.F | 26 +- src/readgmv_ascii.f | 149 +- src/recon.f | 51 +- src/recon2.f | 166 +- src/recon2d.f | 55 +- src/reconloop2d.f | 49 +- src/refine.f | 76 +- src/refine_cc_rivara.f | 35 +- src/refine_coupling_coef.f | 44 +- src/refine_edge.f | 123 +- src/refine_edge_2d.f | 339 +- src/refine_edge_3d.f | 114 +- src/refine_edge_add.f | 126 +- src/refine_edge_list_lg.f | 42 +- src/refine_face.f | 133 +- src/refine_face_add.f | 181 +- src/refine_fix_add.f | 29 +- src/refine_interface_elements_lg.f | 36 +- src/refine_spawn_lg.f | 44 +- src/refine_tet_add.f | 427 +- src/sgd.f | 185 +- src/stack_layers.f | 38 +- src/test2to3.f | 21 +- src/test4to4.f | 17 +- src/test_argument_type.f | 14 +- src/test_coupling_coef.f | 28 +- src/test_interior_mat_lg.f | 58 +- src/testdamage.f | 15 +- src/tettestd.f | 9 +- src/try2to0.f | 29 +- src/try2to0b.f | 35 +- src/try2to2b.f | 41 +- src/try2to2r.f | 46 +- src/try2to3i.f | 37 +- src/try4to4x.f | 25 +- src/try4to4xv.f | 55 +- src/tst2to3i.f | 18 +- src/tstregv.f | 10 +- src/voronoi_stor.f | 4 + src/xyznorm.f | 9 +- test/level01/addmesh_add/polygon.gmv | Bin test/level01/addmesh_add/polygon.inp | 14805 ++++----- test/level01/addmesh_add/reference/output_addmesh_add.gmv | Bin test/level01/addmesh_add/reference/output_addmesh_connect.gmv | Bin test/level01/addmesh_add/reference/output_merge_hex.gmv | 2 +- test/level01/addmesh_add/reference/output_merge_hex2.gmv | 2 +- test/level01/addmesh_add/reference/outx3dgen | 81 +- test/level01/addmesh_add/reference/polygon.gmv | Bin test/level01/addmesh_add/reference/polygon.inp | 14805 ++++----- test/level01/eltset/eset04.cellset | Bin test/level01/hybrid_volume/test01.stor | 2 +- test/level01/hybrid_volume/test04.stor | 2 +- test/level01/hybrid_volume/test05.stor | 2 +- test/level01/hybrid_volume/test06.stor | 2 +- test/level01/hybrid_volume/test07.stor | 2 +- test/level01/intrp_2D_sizes/2d_sink_new.gmv | 2 +- test/level01/pset/pset04.vertexset | Bin test/level01/recon1/input.lgi | 108 + test/level01/recon1/input_fan.inp | 8 + test/level01/recon1/input_tri1a.inp | 4 + test/level01/recon1/input_tri1b.inp | 4 + test/level01/recon1/input_tri_dfn.gmv | Bin test/level01/recon1/input_tri_dfn.inp | 11694 +++++++ test/level01/recon1/reference/input.lgi | 108 + test/level01/recon1/reference/input_fan.inp | 8 + test/level01/recon1/reference/input_tri1a.inp | 4 + test/level01/recon1/reference/input_tri1b.inp | 4 + test/level01/recon1/reference/input_tri_dfn.gmv | Bin test/level01/recon1/reference/input_tri_dfn.inp | 11694 +++++++ test/level01/recon1/reference/logx3dgen | 73 + test/level01/recon1/reference/out_fan_connect.jpg | Bin test/level01/recon1/reference/out_fan_recon1_edges.jpg | Bin test/level01/recon1/reference/out_fan_recon1_vor.jpg | Bin test/level01/recon1/reference/out_tria_recon1.jpg | Bin test/level01/recon1/reference/out_trib_recon1.jpg | Bin test/level01/recon1/reference/output_dfn_recon1.gmv | Bin test/level01/recon1/reference/output_fan_connect.gmv | Bin test/level01/recon1/reference/output_fan_recon1.gmv | Bin test/level01/recon1/reference/output_tri1a.gmv | Bin test/level01/recon1/reference/output_tri1a_connect.gmv | Bin test/level01/recon1/reference/output_tri1a_recon1.gmv | Bin test/level01/recon1/reference/output_tri1b_connect.gmv | Bin test/level01/recon1/reference/output_tri1b_recon1.gmv | Bin test/level01/recon1/reference/output_tri2_connect.gmv | Bin test/level01/recon1/reference/output_tri2_recon1.gmv | Bin test/level01/recon1/reference/output_tri_dfn.gmv | Bin test/level01/recon1/reference/outx3dgen | 1715 + test/level01/recon1/reference/tmp.stor | 14656 +++++++++ test/level01/recon1/reference/tmp2.gmv | Bin test/level01/recon1/tmp.stor | 14656 +++++++++ test/level01/recon1/tmp2.gmv | Bin test/level01/refine_recon_quality/input.lgi | 2 + test/level01/refine_recon_quality/reference/input.lgi | 2 + test/level01/refine_recon_quality/reference/logx3dgen | 1 + test/level01/refine_recon_quality/reference/outx3dgen | 149 +- test/level01/result_files/diffout_lin.txt | 364 +- test/level01/result_files/diffout_mac.txt | 3129 +- test/level01/result_files/stdout_lin64.txt | 2317 +- test/level01/run_test.py | 2 + test/level01/smooth/reference/outx3dgen | 36 +- 180 files changed, 77451 insertions(+), 19636 deletions(-) diffs (truncated from 103723 to 300 lines): diff -r 0e46c108afed -r ae5c7a562be5 bin/lagrit_lin_g Binary file bin/lagrit_lin_g has changed diff -r 0e46c108afed -r ae5c7a562be5 bin/lagrit_lin_o --- a/bin/lagrit_lin_o Mon Jul 09 09:58:26 2012 -0600 +++ b/bin/lagrit_lin_o Wed Aug 01 16:53:13 2012 -0600 @@ -1,1 +1,1 @@ -Version3.005/lagrit_lin_g_gfort4.5 \ No newline at end of file +/home/tam/src/lagrit/bin/Version3.006/lagrit_lin64 \ No newline at end of file diff -r 0e46c108afed -r ae5c7a562be5 bin/lagrit_mac_g Binary file bin/lagrit_mac_g has changed diff -r 0e46c108afed -r ae5c7a562be5 bin/lagrit_mac_o Binary file bin/lagrit_mac_o has changed diff -r 0e46c108afed -r ae5c7a562be5 lib/lagrit_lin64_g_gfort4.5.a Binary file lib/lagrit_lin64_g_gfort4.5.a has changed diff -r 0e46c108afed -r ae5c7a562be5 lib/lagrit_lin64_o_gfort4.5.a Binary file lib/lagrit_lin64_o_gfort4.5.a has changed diff -r 0e46c108afed -r ae5c7a562be5 lib/lagrit_lin_g_gfort4.5.a Binary file lib/lagrit_lin_g_gfort4.5.a has changed diff -r 0e46c108afed -r ae5c7a562be5 lib/lagrit_lin_o_gfort4.5.a Binary file lib/lagrit_lin_o_gfort4.5.a has changed diff -r 0e46c108afed -r ae5c7a562be5 src/README.compile --- a/src/README.compile Mon Jul 09 09:58:26 2012 -0600 +++ b/src/README.compile Wed Aug 01 16:53:13 2012 -0600 @@ -50,6 +50,7 @@ # build -g debug version for use with debuggers such as gdb cp lagrit_lin64.h lagrit.h +cp machine_m64.h machine.h make MOPT=64 COPT=-g lib @@ -149,12 +150,12 @@ Total BYTES = 51456 Total MEGABYTES = 51.456E-03 -------- -====================================== -Sample compile and link session: - +============================================== +Sample compile and link session linux 64 bit: (Note this sample explicitly copies needed version of machine.h rather than letting the Makefile compile from machine_header.h) -rm machine.h +rm *.o *.mod +cp machine_m64.h machine.h cp lagrit_lin64.h lagrit.h gfortran -g -fcray-pointer -fdefault-integer-8 -Dlinx64 -c -o lagrit_main.o lagrit_main.f gfortran -g -fcray-pointer -fdefault-integer-8 -Dlinx64 -c -o lagrit_fdate.o lagrit_fdate.f @@ -164,4 +165,23 @@ gfortran -g -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_lin64_g_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_g_gfort4.5.a -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ cp mylagrit /home/tam/bin +============================================== +Sample compile and link session linux 32 bit: +(Note this sample explicitly copies needed version of machine.h rather than letting the Makefile compile from machine_header.h) +rm *.o *.mod +cp machine_m32.h machine.h +cp lagrit_lin.h lagrit.h +make COPT=-g lib +gfortran -g -fcray-pointer -m32 -c -o lagrit_main.o lagrit_main.f +gfortran -g -fcray-pointer -m32 -c -o lagrit_fdate.o lagrit_fdate.f + +gfortran -g -m32 -static -fcray-pointer -fno-sign-zero -o mylagrit32 lagrit_main.o lagrit_fdate.o lagrit_lin_g_gfort4.5.a /home/tam/src/lg_util/lib/util_lin_g_gfort4.5.a -L/home/tam/src/build_lagrit/lin32 -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ + +cp mylagrit32 /home/tam/bin +============================================== + +Note ABSOFT compilers are more picky during compile time, use to find code errors +/opt/absoft11.1/bin/f77 and /opt/absoft11.1/bin/f90 + + diff -r 0e46c108afed -r ae5c7a562be5 src/addmesh.f --- a/src/addmesh.f Mon Jul 09 09:58:26 2012 -0600 +++ b/src/addmesh.f Wed Aug 01 16:53:13 2012 -0600 @@ -244,9 +244,13 @@ C C ###################################################################### C + +C arguments integer nwds, imsgin(nwds), msgtype(nwds) real*8 xmsgin(nwds) character*(*) cmsgin(nwds) + +C variables real*8 bz3,by3,bx3,bz2,by2,bx2,bz1,by1,bx1,ay3,ax3,az3, * az1,ay1,ax1,ax2,ay2,az2 integer j3,j2,j1,i3,istart,jf,jt,i,it,nef3,nen3,nsdtopo3, @@ -264,13 +268,13 @@ pointer (ipxic1, xic1) pointer (ipyic1, yic1) pointer (ipzic1, zic1) - real*8 xic1(10000000), yic1(10000000), zic1(10000000) - pointer (ipitetclr1, itetclr1(10000000)) - pointer (ipitettyp1, itettyp1(10000000)) - pointer (ipitetoff1, itetoff1(10000000)) - pointer (ipjtetoff1, jtetoff1(10000000)) - pointer (ipitet1, itet1(10000000)) - pointer (ipjtet1, jtet1(10000000)) + real*8 xic1(*), yic1(*), zic1(*) + pointer (ipitetclr1, itetclr1(*)) + pointer (ipitettyp1, itettyp1(*)) + pointer (ipitetoff1, itetoff1(*)) + pointer (ipjtetoff1, jtetoff1(*)) + pointer (ipitet1, itet1(*)) + pointer (ipjtet1, jtet1(*)) integer itetclr1,itettyp1,itetoff1,jtetoff1,itet1,jtet1, * itetclr2,itettyp2,itetoff2,jtetoff2,itet2,jtet2, * itetclr3,itettyp3,itetoff3,jtetoff3,itet3,jtet3 @@ -281,13 +285,13 @@ pointer (ipxic2, xic2) pointer (ipyic2, yic2) pointer (ipzic2, zic2) - real*8 xic2(10000000), yic2(10000000), zic2(10000000) - pointer (ipitetclr2, itetclr2(10000000)) - pointer (ipitettyp2, itettyp2(10000000)) - pointer (ipitetoff2, itetoff2(10000000)) - pointer (ipjtetoff2, jtetoff2(10000000)) - pointer (ipitet2, itet2(10000000)) - pointer (ipjtet2, jtet2(10000000)) + real*8 xic2(*), yic2(*), zic2(*) + pointer (ipitetclr2, itetclr2(*)) + pointer (ipitettyp2, itettyp2(*)) + pointer (ipitetoff2, itetoff2(*)) + pointer (ipjtetoff2, jtetoff2(*)) + pointer (ipitet2, itet2(*)) + pointer (ipjtet2, jtet2(*)) C C __________________________________________________________________ C Resulting Mesh Object. @@ -295,13 +299,13 @@ pointer (ipxic3, xic3) pointer (ipyic3, yic3) pointer (ipzic3, zic3) - real*8 xic3(10000000), yic3(10000000), zic3(10000000) - pointer (ipitetclr3, itetclr3(10000000)) - pointer (ipitettyp3, itettyp3(10000000)) - pointer (ipitetoff3, itetoff3(10000000)) - pointer (ipjtetoff3, jtetoff3(10000000)) - pointer (ipitet3, itet3(10000000)) - pointer (ipjtet3, jtet3(10000000)) + real*8 xic3(*), yic3(*), zic3(*) + pointer (ipitetclr3, itetclr3(*)) + pointer (ipitettyp3, itettyp3(*)) + pointer (ipitetoff3, itetoff3(*)) + pointer (ipjtetoff3, jtetoff3(*)) + pointer (ipitet3, itet3(*)) + pointer (ipjtet3, jtet3(*)) C pointer(ipicmo_c,icmo_c) pointer(ipicmo_c,xcmo_c) @@ -309,12 +313,9 @@ pointer(ipicmo_a,icmo_a) pointer(ipicmo_a,xcmo_a) pointer(ipicmo_a,ccmo_a) - integer icmo_c(10000000),icmo_a(10000000) - real*8 xcmo_c(10000000),xcmo_a(1000000) - character*32 ccmo_a(*),ccmo_c(*) + integer icmo_c(*),icmo_a(*) + real*8 xcmo_c(*),xcmo_a(*) - character*32 cname,ctype,clength,defname - character*32 isubname, cmoa, cmob, cmoc, coperator integer nuser_refine,nmcmoatt_a character*8 refine_type integer ipointi,ipointj,lencmo,itpcmo,itp1_boundary, @@ -325,18 +326,21 @@ pointer (ipipoint_overlap1, ipoint_overlap1) pointer (ipitet_overlap1, itet_overlap1) pointer (ipitet_border1, itet_border1) - integer ipoint_overlap1(1000000) - integer itet_overlap1(10000000), itet_border1(10000000) + integer ipoint_overlap1(*) + integer itet_overlap1(*), itet_border1(*) C pointer (ipipoint_overlap2, ipoint_overlap2) pointer (ipitet_overlap2, itet_overlap2) pointer (ipitet_border2, itet_border2) - integer ipoint_overlap2(1000000) - integer itet_overlap2(10000000), itet_border2(10000000) + integer ipoint_overlap2(*) + integer itet_overlap2(*), itet_border2(*) C pointer (ipitet_delete, itet_delete) - integer itet_delete(10000000) + integer itet_delete(*) C + character*32 cname,ctype,clength,defname + character*32 isubname, cmoa, cmob, cmoc, coperator + character*32 ccmo_a(*),ccmo_c(*) character*32 pset_name character*132 logmess character*8 cglobal, cdefault @@ -521,6 +525,16 @@ call cmo_get_intinfo('nnodes',cmob,npoints2,length,icmotp,ierr) call cmo_get_intinfo('nelements',cmob,numtet2,length,icmotp,ierr) call cmo_get_intinfo('mbndry',cmob,mbndry2,length,icmotp,ierr) + + if ((npoints2 .eq. 0) .and. (numtet2 .eq. 0)) then + + write(logmess,'(a,a)') + * 'WARNING: third mesh name not valid,' // + * ' no action using ',cmob(1:icharlnf(cmob)) + call writloga('default',0,logmess,0,ierr) + goto 9999 + endif + call cmo_get_intinfo('ndimensions_topo',cmob, * nsdtopo2,length,icmotp,ierr) call cmo_get_intinfo('ndimensions_geom',cmob, diff -r 0e46c108afed -r ae5c7a562be5 src/addmesh_add.f --- a/src/addmesh_add.f Mon Jul 09 09:58:26 2012 -0600 +++ b/src/addmesh_add.f Wed Aug 01 16:53:13 2012 -0600 @@ -100,12 +100,11 @@ C C ###################################################################### C - implicit real*8 (a-h, o-z) + implicit none C include 'chydro.h' include 'local_element.h' C - character*132 logmess C C ###################################################################### C @@ -115,50 +114,63 @@ C C ###################################################################### C - pointer (ipimt1, imt1(1000000)) - pointer (ipitp1, itp1(1000000)) + pointer (ipimt1, imt1) + pointer (ipitp1, itp1) + integer imt1(*),itp1(*) + pointer (ipitettyp1, itettyp1) + pointer (ipitetclr1, itetclr1) + integer itettyp1(*),itetclr1 + + pointer (ipitetoff1, itetoff1) + pointer (ipjtetoff1, jtetoff1) + integer itetoff1(*),jtetoff1(*) + + pointer (ipitet1, itet1) + pointer (ipjtet1, jtet1) + integer itet1(4,*),jtet1(4,*) +C + pointer (ipitest, itest) + integer itest(*) +C + pointer (ipitettypb, itettypb) + pointer (ipjtetoffb, jtetoffb) + pointer (ipjtet1b, jtet1b) + integer itettypb(*),jtetoffb(*),jtet1b(*) +C + pointer (ipitetclrc, itetclrc) + pointer (ipitettypc, itettypc) + pointer (ipitetoffc, itetoffc) + pointer (ipjtetoffc, jtetoffc) + integer itetclrc(*),itettypc(*),itetoffc(*),jtetoffc(*) + pointer (ipitet1c, itet1c) + pointer (ipjtet1c, jtet1c) + integer itet1c(*),jtet1c(*) +C + pointer (ipimt1d, imt1d) + integer imt1d(*) +C + pointer (ipitettypd, itettypd) + pointer (ipitetclrd, itetclrd) + integer itettypd(*), itetclrd(*) + pointer (ipitet1d, itet1d) + pointer (ipjtet1d, jtet1d) + pointer (ipitetoffd, itetoffd) + pointer (ipjtetoffd, jtetoffd) + integer itet1d(*),jtet1d(*),itetoffd(*),jtetoffd(*) +C pointer (ipxic1, xic1) pointer (ipyic1, yic1) pointer (ipzic1, zic1) - pointer (ipitettyp1, itettyp1(10000000)) - pointer (ipitetclr1, itetclr1(10000000)) - pointer (ipitet1, itet1(4,1000000)) - pointer (ipjtet1, jtet1(4,1000000)) -C - dimension xic1(1000000), yic1(1000000), zic1(1000000) -C - pointer (ipitest, itest) - integer itest(10000000) -C -C pointer (ipitetclrb, itetclrb(1000000)) - pointer (ipitettypb, itettypb(1000000)) -C pointer (ipitetoffb, itetoffb(1000000)) - pointer (ipjtetoffb, jtetoffb(1000000)) -C pointer (ipitet1b, itet1b(1000000)) - pointer (ipjtet1b, jtet1b(1000000)) -C July 9, 2012 9:59:19 AM MDT lagrit: 11 new changesets changeset 86375541bc1e in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=86375541bc1e summary: Update results to Version V3.005 results and remove extra changeset e7b6f443a0a5 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=e7b6f443a0a5 summary: Updated some test results to reflect additional error reporting changeset 7c841ef807f5 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=7c841ef807f5 summary: Added warning for record length past fortran read limits, added changeset 8b483acb7127 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=8b483acb7127 summary: Updates to results with regard to cmo related error reporting changeset 390671cf6b9f in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=390671cf6b9f summary: added error catching and checking for valid cmo and attributes changeset 2b959b3c6178 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=2b959b3c6178 summary: Added protection and reporting for lines that are too long for fortran read, changeset b68ee262b3a2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=b68ee262b3a2 summary: Added statement of completion for options with many command calls. changeset 581435c5c046 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=581435c5c046 summary: check for finish (1:6) instead of len in case ; exists at end of word changeset f0822356e7c2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=f0822356e7c2 summary: added error checking for syntax mistakes, cleaned up finish commands changeset 945c7a6fa4d3 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=945c7a6fa4d3 summary: Added checking and error reporting for syntax mistakes and invalid mesh objects changeset 0e46c108afed in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=0e46c108afed summary: Minor corrections to V3.005 codes related to error catching and reporting diffstat: bin/Versions.txt | 13 +- bin/lagrit_lin_o | 0 src/README.compile | 2 +- src/cmo_att_derive.f | 77 +- src/cmo_command.f | 217 +- src/cmo_readatt.f | 280 +- src/cmo_release.f | 15 +- src/compute.f | 37 +- src/control_command_lg.f | 8 +- src/lagrit.h | 2 +- src/lagrit.template.h | 8 +- src/lagrit_lin.h | 2 +- src/lagrit_lin64.h | 2 +- src/lagrit_mac.h | 2 +- src/lagrit_maci.h | 2 +- src/lagrit_maci64.h | 2 +- src/lagrit_sgi.h | 2 +- src/lagrit_sun.h | 2 +- src/linear_trans.f | 33 +- src/msgtty.f | 2 +- src/sortbins.f | 55 +- test/level01/cmo_readatt/input.lgi | 37 +- test/level01/cmo_readatt/input_bad.dat | 12 +- test/level01/cmo_readatt/input_verywide.dat | 3 + test/level01/cmo_readatt/input_wide.dat | 3 + test/level01/cmo_readatt/reference/input.lgi | 37 +- test/level01/cmo_readatt/reference/input_bad.dat | 12 +- test/level01/cmo_readatt/reference/input_verywide.dat | 3 + test/level01/cmo_readatt/reference/input_wide.dat | 3 + test/level01/cmo_readatt/reference/logx3dgen | 14 +- test/level01/cmo_readatt/reference/output_dylan.gmv | 2 +- test/level01/cmo_readatt/reference/output_dylan_add.gmv | 2 +- test/level01/cmo_readatt/reference/outx3dgen | 1272 +- test/level01/exodus/reference/outx3dgen | 6 +- test/level01/hybrid_volume/test01.stor | 2 +- test/level01/hybrid_volume/test04.stor | 2 +- test/level01/hybrid_volume/test05.stor | 2 +- test/level01/hybrid_volume/test06.stor | 2 +- test/level01/hybrid_volume/test07.stor | 2 +- test/level01/intersect/reference/outx3dgen | 8 +- test/level01/intrp_2D_sizes/2d_sink_new.gmv | 2 +- test/level01/io_agf_simple/reference/logx3dgen | 7 +- test/level01/io_agf_simple/reference/outascii.stor | 2 +- test/level01/io_agf_simple/reference/outbin.stor | 0 test/level01/io_agf_simple/reference/output_ascii.gmv | 2 +- test/level01/io_agf_simple/reference/test_io.lgi | 70 + test/level01/io_agf_simple/test_io.lgi | 70 + test/level01/refine_recon_quality/reference/outx3dgen | 10 +- test/level01/result_files/diffout_lin.txt | 704 +- test/level01/result_files/stdout_lin64.txt | 40354 ++++++------- test/level01/sort/reference/outx3dgen | 25 +- test/level01/zone_outside_minmax/reference/outx3dgen | 20 +- test/level03/attderive/lagrit_lin_o | 0 test/level03/attderive/reference/outx3dgen | 0 test/level03/grid2grid/reference/outx3dgen | 95 +- test/level03/lin_extp/lagrit_lin_o | 0 test/level03/lin_extp/reference/lagrit_lin_o | 0 test/level03/lin_extp/reference/outx3dgen | 377 +- test/level03/read_3token/logx3dgen | 7 - test/level03/read_3token/outx3dgen | 116 - test/level03/read_3token/reference/lagrit_lin_o | 0 test/level03/read_3token/reference/outx3dgen | 9 +- test/level03/read_3token/reference/test.gmv | 2 +- test/level03/read_3token/test.LaGriT | 0 test/level03/read_3token/test.gmv | 76 - test/level03/read_3token/test.lg | 0 66 files changed, 22099 insertions(+), 22036 deletions(-) diffs (truncated from 47198 to 300 lines): diff -r 9a8eae3185f6 -r 0e46c108afed bin/Versions.txt --- a/bin/Versions.txt Thu Jun 28 12:53:46 2012 -0600 +++ b/bin/Versions.txt Mon Jul 09 09:58:26 2012 -0600 @@ -1,17 +1,28 @@ ======================================================================= LaGriT V3.005 + * * Program: LaGriT V3.005 Linux m64 * * * date_compile: 2012/04/15 gfort 4.5 * +added option for sort line_graph option for nodes or elements +added faceset option for dump exodus files fixed bugs related to cmo/addatt and cmo/readatt resulting in seg fault added error checking to cmo/readatt and stack routines -fixes and added option for sort line_graph option for nodes, elements, both updated test/level01 reference files to reflect 64 bit results added test/level01/ ascem_demo001 eltset exodus hybrid_volume updated test/level01/*.py to point to non-version 3 python which has different syntax for common routines such as print +Version LaGriT V3.005 as of June 2012: + linux 32 and 64 bit (compiled with gfortran 4.5) + +Version LaGriT V2.200: + intel maci 32 and 64 bit + powerpc mac 32 bit + sun solaris 32 bit + linux 32 bit (compiled with Absoft) + sgi 32 bit ======================================================================= LaGriT V3.002 diff -r 9a8eae3185f6 -r 0e46c108afed bin/lagrit_lin_o Binary file bin/lagrit_lin_o has changed diff -r 9a8eae3185f6 -r 0e46c108afed src/README.compile --- a/src/README.compile Thu Jun 28 12:53:46 2012 -0600 +++ b/src/README.compile Mon Jul 09 09:58:26 2012 -0600 @@ -161,7 +161,7 @@ make MOPT=64 COPT=-g lib -gfortran -g -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_lin64_g_gfort4.5.a /home/tam/src/lg_util/src/util_lin64_g_gfort4.5.a -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ +gfortran -g -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o mylagrit lagrit_main.o lagrit_fdate.o lagrit_lin64_g_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_g_gfort4.5.a -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ cp mylagrit /home/tam/bin diff -r 9a8eae3185f6 -r 0e46c108afed src/cmo_att_derive.f --- a/src/cmo_att_derive.f Thu Jun 28 12:53:46 2012 -0600 +++ b/src/cmo_att_derive.f Mon Jul 09 09:58:26 2012 -0600 @@ -1,4 +1,4 @@ - subroutine cmo_att_derive(sink_mo,src_mo,ierror_return) + subroutine cmo_att_derive(sink_in,src_in,ierror_return) C C C####################################################################### @@ -11,8 +11,8 @@ C C INPUT ARGUMENTS - C -C sink_mo - (character) Derived Mesh Object Name. -C src_mo - (character) Master Mesh Object Name. +C sink_in - (character) Derived Mesh Object Name. +C src_in - (character) Master Mesh Object Name. C C OUTPUT ARGUMENTS - C @@ -33,7 +33,7 @@ C C####################################################################### C - character*(*) src_mo, sink_mo + character*32 sink_in, src_in C integer ierror_return C @@ -50,7 +50,9 @@ C C Variables for subroutine calls integer numatts, lout, itype - character*32 attname + +C copy arguments into local variables to avoid losing them during dotask + character*32 attname, src_mo, sink_mo character*32 ctype, crank, clen, cinter, cpers, cio character*32 ctype2, crank2, clen2, cinter2, cpers2, cio2 C @@ -59,8 +61,12 @@ integer icharlnf C C####################################################################### +C BEGIN begin C - len=icharlnf(sink_mo) + ierror_return = 0 + + len=icharlnf(sink_in) + sink_mo = sink_in(1:len) if((sink_mo(1:len).eq.'-cmo-') .or. * (sink_mo(1:len).eq.'-def-')) then C @@ -70,7 +76,8 @@ C endif C - len=icharlnf(src_mo) + len=icharlnf(src_in) + src_mo = src_in(1:len) if((src_mo(1:len).eq.'-cmo-') .or. * (src_mo(1:len).eq.'-def-')) then C @@ -116,16 +123,21 @@ C attribute, get its important parameters. Check if it exists in C the sink mesh already. If it doesn't, create it using a dotask. do i=1,numatts + + call cmo_get_attribute_name(src_mo,i,attname,ierror) + call cmo_get_attparam(attname, src_mo, index, * ctype, crank, clen, cinter, cpers, cio, * ierror) + call cmo_get_attparam(attname, sink_mo, index, * ctype2,crank2,clen2,cinter2,cpers2,cio2, * ierror) + C.... If the sink mesh already has an attribute with this name: +C... See if it is the same or a different type if (ierror .eq. 0) then -C... See if it is the same or a different attribute if (crank .ne. crank2 .or. clen .ne. clen2) then ierror_return = -1 write(logmess, '(a,a)') @@ -166,8 +178,13 @@ goto 9000 endif goto 9000 + endif -C... Now, since the attribute isn't in the sink mesh, we add it +C... Now, since the attribute isn't in the sink mesh, we add it + + if (ierror.eq.0) print*, "Exists, but add anyway!" + print*,"adding ",sink_mo,attname + cmd = 'cmo/addatt/' * //sink_mo(1:icharlnf(sink_mo))//'/' * //attname(1:icharlnf(attname))//'/' @@ -177,19 +194,21 @@ * //cinter(1:icharlnf(cinter))//'/' * //cpers(1:icharlnf(cpers))//'/' * //cio(1:icharlnf(cio))//'; finish' + call dotask(cmd, ierror) + 9000 continue enddo + + print*,"Done adding attributes to ", + * sink_mo(1:icharlnf(sink_mo)) + print*,"from mesh object ",src_mo(1:icharlnf(src_mo)) + 9999 return + end - - - - - - - subroutine cmo_att_union(sink_mo,src_mo,ierror_return) + subroutine cmo_att_union(sink_in,src_in,ierror_return) C C C####################################################################### @@ -202,8 +221,8 @@ C C INPUT ARGUMENTS - C -C sink_mo - (character) Derived Mesh Object Name. -C src_mo - (character) Master Mesh Object Name. +C sink_in - (character) Derived Mesh Object Name. +C src_in - (character) Master Mesh Object Name. C C OUTPUT ARGUMENTS - C @@ -219,13 +238,29 @@ implicit none integer ierror, ierror2, ierror_return - character*32 sink_mo, src_mo + character*32 sink_in, src_in + character*32 cmo1, cmo2 C C####################################################################### C - call cmo_att_derive(sink_mo,src_mo,ierror) - call cmo_att_derive(src_mo, sink_mo, ierror2) +C protect mesh names from being overwritten by dotask calls + cmo1 = sink_in + cmo2 = src_in + + print*,"cmo_att_union: in ",sink_in,src_in,cmo1,cmo2 + + call cmo_att_derive(cmo1, cmo2, ierror) + + cmo1 = sink_in + cmo2 = src_in + + + call cmo_att_derive(cmo2, cmo1, ierror2) + if (ierror .ne. 0 .or. ierror2 .ne. 0) ierror_return = -1 + + print*,"cmo_att_union: out ",sink_in,src_in,cmo1,cmo2 + return end diff -r 9a8eae3185f6 -r 0e46c108afed src/cmo_command.f --- a/src/cmo_command.f Thu Jun 28 12:53:46 2012 -0600 +++ b/src/cmo_command.f Mon Jul 09 09:58:26 2012 -0600 @@ -193,9 +193,11 @@ C C LOCAL VARIABLE DEFINITION C - character*32 cmo_name, coption, cmolist, attlist,cmo_sink,cmo_src - * ,geom_name_arg - integer len, ierr, lenopt + character*32 cmo_name, cmo1,cmo2, coption + character*32 cmolist, attlist,cmo_sink,cmo_src,geom_name_arg + + integer len, ierr, ierr1, ierr2, lenopt, ierrw + integer inum1,inum2,inum3,inum4,inum5 C character*132 logmess C @@ -204,16 +206,39 @@ integer icharlnf C C####################################################################### +C BEGIN begin C C -C - coption = cmsgin(2) - lenopt=icharlnf(coption) - cmo_name = cmsgin(3) + ierror_return = 0 + cmo_name = '-notset-' + coption = '-notset-' + + if (nwds.ge.2 .and. msgtype(2).eq.3) then + coption = cmsgin(2) + lenopt=icharlnf(coption) + else + write(logmess,'(a)') + * ' ERROR CMO: Invalid option, must be character type.' + call writloga('default',0,logmess,1,ierr) + ierror_return = -1 + go to 9999 + endif + + if (nwds.gt.2) then + if (msgtype(3).eq.3) then + cmo_name = cmsgin(3) + endif + endif if(cmo_name(1:icharlnf(cmo_name)) .eq. '-def-')then call cmo_get_name(cmo_name,ierr) + if(ierr.ne.0) then + write(logmess,'(a)') 'CMO found bad mesh object' + call writloga('default',0,logmess,0,ierrw) + go to 9999 + endif endif + C C**** The cmo MAY or MAY NOT exist for these actions. C DESTROY / mo_name / @@ -263,10 +288,10 @@ call cmo_exist(cmo_name,ierr) if(ierr .ne. 0)then write(logmess,'(a)') - * "WARNING: MO DOES NOT EXIST: "//cmo_name + * "Warning: MO DOES NOT EXIST: "//cmo_name call writloga('default',0,logmess,0,ierr) write(logmess,'(a)') - * "WARNING: NO ACTION: "//coption(1:lenopt) + * "Warning: NO ACTION: "//coption(1:lenopt) call writloga('default',0,logmess,0,ierr) write(logmess,'(a)')'cmo_command: RETURN' call writloga('default',0,logmess,0,ierr) @@ -288,7 +313,7 @@ C ierror_return=-1 June 28, 2012 1:30:53 PM MDT lg_util: 4 new changesets changeset 3cb044855e69 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=3cb044855e69 summary: Added compiler options for mac with gfortran changeset 3d8bdc245f21 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=3d8bdc245f21 summary: remove SIZEOF statements, they are already defined in opsys.h changeset eda741b935d7 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=eda741b935d7 summary: Updates to code based on updates in parse_string.f used by FEHM that changeset 244f860555ce in /nh/packages/www/svn/repos.ancho/lagrit/hg/lg_util details: https://ancho.lanl.gov/lagrit/hg/lg_util?cmd=changeset;node=244f860555ce summary: commit for V3.005 June 28 2012 diffstat: lib/00README | 23 +++++ src/Makefile | 22 ++++- src/README.txt | 12 ++ src/gmvwrite.c | 8 - src/gmvwritef.c | 8 - src/io.c | 9 -- src/mm2000_m32.h | 157 +++++++++++++++++++++++++++++++++++ src/mm2000_m64.h | 157 +++++++++++++++++++++++++++++++++++ src/mmsc.c | 8 - src/opsys.h | 17 +++ src/parse_string.f | 236 ++++++++++++++++++++++++++++++++-------------------- 11 files changed, 532 insertions(+), 125 deletions(-) diffs (truncated from 911 to 300 lines): diff -r 8f792af74cd1 -r 244f860555ce lib/00README --- a/lib/00README Tue Aug 30 16:32:55 2011 -0600 +++ b/lib/00README Thu Jun 28 15:01:47 2012 -0600 @@ -1,3 +1,26 @@ +for linux 32 and 64 bit versions with gfortran 4.4 or greater ------- + +Check for valid version of gfortran +aquifer.lanl.gov% gcc --version +gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) + +In directory lg_util/src +Use make install or copy libraries to lg_util/lib (used by lagrit compile) + +------- debug and optimized version 64 bit + +check mm2000.h that BYTES_PER_INT = 8 +if not then Remove and re-make mm2000.h from mm2000_header.F + rm -f mm2000.h + gcc -g -E -m64 -Dlinx64 mm2000_header.F -o mm2000.h + +make MOPT=64 COPT=-g install +make MOPT=64 install + +Result should be new libraries in lg_util/lib +-rw-r--r-- 1 tam pf 643136 Aug 31 09:25 util_lin64_g_gfort4.5.a +-rw-r--r-- 1 tam pf 252448 Aug 31 09:26 util_lin64_o_gfort4.5.a +============================================================== For lagrit release V3.001 diff -r 8f792af74cd1 -r 244f860555ce src/Makefile --- a/src/Makefile Tue Aug 30 16:32:55 2011 -0600 +++ b/src/Makefile Thu Jun 28 15:01:47 2012 -0600 @@ -136,6 +136,25 @@ CFLAGS = -m32 -Dmac FF90FLAGS = -m32 OBJDIR = objects_maci/ + +ifeq ($(COMPILER),GFORTRAN) +FC = gfortran +FC90 = gfortran +CC= gcc +FFLAGS = -fcray-pointer -m32 +FF90FLAGS = -fcray-pointer -m32 + +ifeq ($(MOPT), 64) +OSTAG = _maci64 +OBJDIR = lin_objects_maci64/ +FFLAGS = -fcray-pointer -m64 -fdefault-integer-8 -Dmacx64 +FF90FLAGS = -fcray-pointer -m64 -fdefault-integer-8 -Dmacx64 +CFLAGS = -m64 -Dmacx64 +endif + +endif + + endif endif # @@ -183,7 +202,6 @@ endif SUFF2 ="" ifeq ($(COMPILER),GFORTRAN) -SUFF2 = _gfort4.1 SUFF2 = _gfort4.5 endif ifeq ($(COMPILER),ABSOFT) @@ -294,6 +312,8 @@ $(OBJDIR)%.o : %.c $(CC) $(COPT) $(CFLAGS) -c -o $@ $< +# if compiler can not compile mm2000_header.F +# comment this section and copy mm2000_m32.h or m64.h to mm2000.h mm2000.h : mm2000_header.F @echo "Remove and re-make mm2000.h from mm2000_header.F" -rm -f mm2000.h diff -r 8f792af74cd1 -r 244f860555ce src/README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/README.txt Thu Jun 28 15:01:47 2012 -0600 @@ -0,0 +1,12 @@ +CAUTION: the preprocessor for mm2000.h is not working +on the mac platforms correctly. +Workaround ... just copy mm2000_m64.h to mm2000.h + +==================================================== +Sample compile + +rm -f mm2000.h +gcc -E -m64 -Dlinx64 mm2000_header.F -o mm2000.h + +make MOPT=64 COPT=-g lib + diff -r 8f792af74cd1 -r 244f860555ce src/gmvwrite.c --- a/src/gmvwrite.c Tue Aug 30 16:32:55 2011 -0600 +++ b/src/gmvwrite.c Thu Jun 28 15:01:47 2012 -0600 @@ -4,14 +4,6 @@ */ #include "opsys.h" -#if SIZEOF_INT == SIZEOF_VOIDP -#define int_ptrsize int -#elif SIZEOF_LONG == SIZEOF_VOIDP -#define int_ptrsize long -#else -#error "Unknown case for size of pointer." -#endif - /* ###################################################################### diff -r 8f792af74cd1 -r 244f860555ce src/gmvwritef.c --- a/src/gmvwritef.c Tue Aug 30 16:32:55 2011 -0600 +++ b/src/gmvwritef.c Thu Jun 28 15:01:47 2012 -0600 @@ -4,14 +4,6 @@ */ #include "opsys.h" -#if SIZEOF_INT == SIZEOF_VOIDP -#define int_ptrsize int -#elif SIZEOF_LONG == SIZEOF_VOIDP -#define int_ptrsize long -#else -#error "Unknown case for size of pointer." -#endif - /* ###################################################################### diff -r 8f792af74cd1 -r 244f860555ce src/io.c --- a/src/io.c Tue Aug 30 16:32:55 2011 -0600 +++ b/src/io.c Thu Jun 28 15:01:47 2012 -0600 @@ -4,15 +4,6 @@ */ #include "opsys.h" -#if SIZEOF_INT == SIZEOF_VOIDP -#define int_ptrsize int -#elif SIZEOF_LONG == SIZEOF_VOIDP -#define int_ptrsize long -#else -#error "Unknown case for size of pointer." -#endif - - /* ###################################################################### diff -r 8f792af74cd1 -r 244f860555ce src/mm2000_m32.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mm2000_m32.h Thu Jun 28 15:01:47 2012 -0600 @@ -0,0 +1,157 @@ +# 1 "mm2000_header.F" +# 1 "" +# 1 "" +# 1 "mm2000_header.F" +!! +!! Header file for MM2000.f +!! +!! Values set for a 32 bit architecture with 4-byte default integers +!! and 8-byte real*8. +!! +!! Array descriptor format: +!! +!! ad_name(1,j) - array name +!! ad_name(2,j) - partition name +!! +!! ad_addr(1,j) - prolog (also block) address +!! ad_addr(2,j) - array address +!! ad_addr(3,j) - epilog address +!! ad_addr(4,j) - array type (0=inactive, 1=int, 2=real*8, 3=char*32) +!! ad_addr(5,j) - array size +!! ad_addr(6,j) - block size in bytes +!! +!! CHANGE HISTORY +!! +!! $Log: mm2000.h,v $ +!! Revision 2.00 2007/11/03 00:49:12 spchu +!! Import to CVS +!! +CPVCS +CPVCS Rev 1.0 Thu Apr 06 10:50:48 2000 nnc +CPVCS Initial revision. +!! + +!! define SIZEOF_VOIDP for operating system + +# 1 "opsys.h" 1 + +# 71 "opsys.h" + +# 163 "opsys.h" + +# 32 "mm2000_header.F" 2 + + real*8 RMAX_ALLOCATE + parameter (RMAX_ALLOCATE = 4294967295.00) + + integer BYTES_PER_INT, BYTES_PER_REAL + parameter (BYTES_PER_INT = 4, BYTES_PER_REAL = 8) + + integer BYTES_PER_CHAR + parameter (BYTES_PER_CHAR = 32) + + integer BYTES_PER_PTR + parameter (BYTES_PER_PTR = 4) ! pointer-sized integer + + integer AD_SIZE + parameter (AD_SIZE = 6) + + integer PROLOG_BYTES, EPILOG_BYTES + parameter (PROLOG_BYTES = AD_SIZE*BYTES_PER_PTR) + parameter (EPILOG_BYTES = AD_SIZE*BYTES_PER_PTR) + + pointer (adnptr, ad_name) + character*32 ad_name(2,*) + + pointer (adaptr, ad_addr) + integer ad_addr(AD_SIZE,*) ! pointer-sized integer + lagrit: 24 new changesets changeset bb2aafe605f3 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=bb2aafe605f3 summary: New version LaGriT V3.005 fixes lin64 bugs changeset d637862151e0 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=d637862151e0 summary: Cleaned out extra copyright text that is already in copyrite.h changeset 39b6e9e3baf1 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=39b6e9e3baf1 summary: leaned out extra copyright text that is already in copyrite.h changeset 1772e64854f2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=1772e64854f2 summary: Cleaned out extra copyright text that is already in copyrite.h changeset ab2730c29e18 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=ab2730c29e18 summary: Updated copyright text to current version and date changeset fa4c53212132 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=fa4c53212132 summary: Cleaned out extra copyright text that is already in copyrite.h changeset e085ce7ab474 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=e085ce7ab474 summary: Added copyright notices for netcdf and exodus libs changeset 26bc959c1f5d in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=26bc959c1f5d summary: fixed bug with ipointi and ipointj are not set correctly. changeset a3a1538b7dd4 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=a3a1538b7dd4 summary: close #114 added recpgmotopm pf tab as white space and added reporting changeset c58656fad1f2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c58656fad1f2 summary: Fixed some bugs by cleaning up code and adding clearer reporting changeset f2d17a4fa32e in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=f2d17a4fa32e summary: Added error checking for bad file name or number changeset 19ae78c8a99c in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=19ae78c8a99c summary: Added ifdef macx64 for sizes on mac 64 bit changeset 5f0fbc2d604a in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=5f0fbc2d604a summary: Commented out pesky log2(int) declaration changeset c538afb52d00 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c538afb52d00 summary: Added ifdef macx64 for sizes on mac 64 bit changeset be029ee95d98 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=be029ee95d98 summary: If error on cmo copy the routine now creates error flag and returns changeset fe1197800080 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=fe1197800080 summary: Added the compiled versions of machine.h for 32 and 64 bit changeset 52d3bad181b4 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=52d3bad181b4 summary: Changed explicit call to python to /n/local_linux/epd/bin/python2.7 changeset 19eb3266690f in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=19eb3266690f summary: This is the code that writes facesets from avs files with full method changeset ea01842e1151 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=ea01842e1151 summary: Major rewrite parsing arguments to avoid seg faults, added testing changeset c67f685f74f1 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c67f685f74f1 summary: Major changes to error and status reporting, more relevant, changeset fd70bc872c52 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=fd70bc872c52 summary: fixed argument to line_graph_nsort to be nelem instead of nnodes changeset 35a8e688edaf in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=35a8e688edaf summary: Added tests for cmo_readatt and hybrid_volume, expanded sort line_graph tests, changeset b2f6aed71104 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=b2f6aed71104 summary: dump exo facesets new syntax and error reporting changeset 9a8eae3185f6 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=9a8eae3185f6 summary: finish new codes for V3.005 diffstat: bin/Versions.txt | 72 + bin/lagrit_lin_g | 0 src/Makefile | 41 +- src/Makefile.depends | 1 + src/README.compile | 167 + src/anothermatbld3d_wrapper.f | 12 - src/assign_quadrant_id.f | 12 - src/cmo_addatt.f | 69 +- src/cmo_addatt_cmo.f | 29 +- src/cmo_delatt.f | 11 +- src/cmo_get_attinfo.f | 27 +- src/cmo_get_info.f | 47 +- src/cmo_get_intinfo.f | 25 +- src/cmo_readatt.f | 285 +- src/control_command_lg.f | 17 +- src/copyrite.h | 47 +- src/dot_product_6_planes.f | 14 +- src/dump_fehm_geom.f | 12 - src/dump_interface_list.f | 12 - src/dump_material_list.f | 13 +- src/dump_multi_mat_con.f | 12 - src/dump_outside_list.f | 12 - src/dump_parent_list.f | 12 - src/dumpexodusII.f | 539 +- src/exodusII.inc | 90 +- src/getbit.f | 13 +- src/identify_dot.f | 12 - src/lagrit.h | 4 +- src/lagrit_lin.h | 4 +- src/lagrit_lin64.h | 4 +- src/lagrit_mac.h | 4 +- src/lagrit_maci.h | 4 +- src/lagrit_maci64.h | 32 + src/lagrit_sgi.h | 4 +- src/lagrit_sun.h | 4 +- src/line_graph_nsort.cpp | 329 + src/machine_header.h | 18 +- src/machine_m32.h | 138 + src/machine_m64.h | 138 + src/mask_icr.f | 12 - src/matbld2d_stor.f | 13 - src/matbld3d_stor.f | 12 - src/matrix_values_compress.c | 10 +- src/metis_proto.h | 2 +- src/msgtty.f | 2 +- src/read_trilayers.f | 16 +- src/reorder.f | 4 +- src/set_bit_type.f | 13 +- src/skiplist.ch | 9 + src/sortbins.f | 561 +- src/stack_layers.f | 47 +- src/stack_options.f | 8 +- src/translate.f | 3 + src/type_sizes.h | 14 + src/writedump.f | 31 +- test/level01/addmesh_add/reference_06V1.104/addmesh_add.gmv | 0 test/level01/addmesh_add/reference_06V1.104/addmesh_connect.gmv | 0 test/level01/addmesh_add/reference_06V1.104/input.lgi | 131 - test/level01/addmesh_add/reference_06V1.104/logx3dgen | 76 - test/level01/addmesh_add/reference_06V1.104/merge_hex.gmv | 0 test/level01/addmesh_add/reference_06V1.104/merge_hex2.gmv | 0 test/level01/addmesh_add/reference_06V1.104/merge_hex2.inp | 40 - test/level01/addmesh_add/reference_06V1.104/outx3dgen | 474 - test/level01/addmesh_add/reference_06V1.104/polygon.gmv | 0 test/level01/addmesh_add/reference_06V1.104/polygon.inp | 11540 - test/level01/addmesh_append/reference_06V1.104/append_hex2.gmv | 0 test/level01/addmesh_append/reference_06V1.104/append_hex2.inp | 51 - test/level01/addmesh_append/reference_06V1.104/input.lgi | 82 - test/level01/addmesh_append/reference_06V1.104/logx3dgen | 56 - test/level01/addmesh_append/reference_06V1.104/outx3dgen | 329 - test/level01/addmesh_doublemesh/reference_06V1.104/compare_doublemesh | 322 - test/level01/addmesh_doublemesh/reference_06V1.104/input_doublemesh.lgd | 0 test/level01/addmesh_doublemesh/reference_06V1.104/lagrit_input_doublemesh | 59 - test/level01/addmesh_doublemesh/reference_06V1.104/output_doublemesh | 475 - test/level01/addmesh_doublemesh/reference_06V1.104/output_doublemesh.gmv | 0 test/level01/addmesh_doublemesh/reference_06V1.104/output_doublemesh.log | 55 - test/level01/addmesh_doublemesh/reference_06V1.104/outx3dgen | 416 - test/level01/addmesh_doublemesh/reference_06V1.104/time_doublemesh | 4 - test/level01/check_test.py | 24 +- test/level01/cmo_readatt/input.dat | 7 + test/level01/cmo_readatt/input.lgi | 69 + test/level01/cmo_readatt/input_bad.dat | 7 + test/level01/cmo_readatt/input_dylan.dat | 10 + test/level01/cmo_readatt/input_ev.dat | 14261 + test/level01/cmo_readatt/input_tab.dat | 8 + test/level01/cmo_readatt/input_tabs.lgi | 9 + test/level01/cmo_readatt/reference/input.dat | 7 + test/level01/cmo_readatt/reference/input.lgi | 69 + test/level01/cmo_readatt/reference/input.log | 43 + test/level01/cmo_readatt/reference/input.out | 535 + test/level01/cmo_readatt/reference/input_V3.004.out | 524 + test/level01/cmo_readatt/reference/input_bad.dat | 7 + test/level01/cmo_readatt/reference/input_dylan.dat | 10 + test/level01/cmo_readatt/reference/input_ev.dat | 14261 + test/level01/cmo_readatt/reference/input_tab.dat | 8 + test/level01/cmo_readatt/reference/input_tabs.lgi | 9 + test/level01/cmo_readatt/reference/logx3dgen | 43 + test/level01/cmo_readatt/reference/output1.inp | 22 + test/level01/cmo_readatt/reference/output_dylan.gmv | 29 + test/level01/cmo_readatt/reference/output_dylan.inp | 27 + test/level01/cmo_readatt/reference/output_dylan_add.gmv | 37 + test/level01/cmo_readatt/reference/output_dylan_add.inp | 47 + test/level01/cmo_readatt/reference/output_ev.gmv | 0 test/level01/cmo_readatt/reference/output_ev.inp | 28242 + test/level01/cmo_readatt/reference/outx3dgen | 559 + test/level01/connect_cube/reference_06V1.104/compare_connect | 178 - test/level01/connect_cube/reference_06V1.104/lagrit_input_connect | 27 - test/level01/connect_cube/reference_06V1.104/output_conn1.gmv | 0 test/level01/connect_cube/reference_06V1.104/output_conn2.gmv | 0 test/level01/connect_cube/reference_06V1.104/output_connect | 243 - test/level01/connect_cube/reference_06V1.104/output_connect.log | 15 - test/level01/connect_cube/reference_06V1.104/outx3dgen | 216 - test/level01/connect_cube/reference_06V1.104/time_connect | 4 - test/level01/connect_errors/reference/outx3dgen | 14 +- test/level01/createpts/reference_06V1.104/compare_createbrick | 214 - test/level01/createpts/reference_06V1.104/lagrit_input_createbrick | 60 - test/level01/createpts/reference_06V1.104/output_createbrick | 411 - test/level01/createpts/reference_06V1.104/output_createbrick.gmv | 0 test/level01/createpts/reference_06V1.104/output_createbrick.log | 23 - test/level01/createpts/reference_06V1.104/output_quad.gmv | 0 test/level01/createpts/reference_06V1.104/outx3dgen | 358 - test/level01/createpts/reference_06V1.104/time_createbrick | 4 - test/level01/exodus/reference/outx3dgen | 14 +- test/level01/hybrid_volume/input.lgi | 104 + test/level01/hybrid_volume/reference/input.lgi | 104 + test/level01/hybrid_volume/reference/logx3dgen | 26 + test/level01/hybrid_volume/reference/outx3dgen | 440 + test/level01/hybrid_volume/reference/test01.gmv | 0 test/level01/hybrid_volume/reference/test01.stor | 4509 + test/level01/hybrid_volume/reference/test02.gmv | 0 test/level01/hybrid_volume/reference/test03.gmv | 0 test/level01/hybrid_volume/reference/test03.inp | 15 + test/level01/hybrid_volume/reference/test04.gmv | 0 test/level01/hybrid_volume/reference/test04.inp | 152 + test/level01/hybrid_volume/reference/test04.stor | 189 + test/level01/hybrid_volume/reference/test05.stor | 11176 + test/level01/hybrid_volume/reference/test06.stor | 7808 + test/level01/hybrid_volume/reference/test07.stor | 4509 + test/level01/hybrid_volume/reference/test08.stor | 926560 ++++++++++ test/level01/hybrid_volume/reference/test09.gmv | 0 test/level01/hybrid_volume/reference/test09.inp | 6 + test/level01/hybrid_volume/reference/test09_hybrid.stor | 14 + test/level01/hybrid_volume/reference/test09_nohybrid.stor | 14 + test/level01/hybrid_volume/reference/test11.gmv | 0 test/level01/hybrid_volume/reference/test11.stor | 65 + test/level01/hybrid_volume/reference/test11_h.stor | 65 + test/level01/hybrid_volume/test01.gmv | 0 test/level01/hybrid_volume/test01.stor | 4509 + test/level01/hybrid_volume/test01_ascii.gmv | 0 test/level01/hybrid_volume/test02.gmv | 0 test/level01/hybrid_volume/test03.gmv | 0 test/level01/hybrid_volume/test03.inp | 15 + test/level01/hybrid_volume/test04.gmv | 0 test/level01/hybrid_volume/test04.inp | 152 + test/level01/hybrid_volume/test04.stor | 189 + test/level01/hybrid_volume/test05.stor | 11176 + test/level01/hybrid_volume/test06.stor | 7808 + test/level01/hybrid_volume/test07.stor | 4509 + test/level01/hybrid_volume/test08.gmv | 0 test/level01/hybrid_volume/test08.stor | 926560 ++++++++++ test/level01/hybrid_volume/test09.gmv | 0 test/level01/hybrid_volume/test09.inp | 6 + test/level01/hybrid_volume/test09_hybrid.stor | 14 + test/level01/hybrid_volume/test09_nohybrid.stor | 14 + test/level01/hybrid_volume/test11.gmv | 0 test/level01/hybrid_volume/test11.stor | 65 + test/level01/hybrid_volume/test11_h.stor | 65 + test/level01/hybrid_volume/x.in | 6 + test/level01/interp_continuous/reference_06V1.104/compare_continuous | 1045 - test/level01/interp_continuous/reference_06V1.104/input.lgi | 249 - test/level01/interp_continuous/reference_06V1.104/input_2d_hires.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_2d_hires_trans.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_3d_hex.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_500_quad.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_hex.inp | 23 - test/level01/interp_continuous/reference_06V1.104/input_hex1_med.inp | 32 - test/level01/interp_continuous/reference_06V1.104/input_random500_quad.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_random500_tri.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_random500_tri_id.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_tet3x3_flat.inp | 136 - test/level01/interp_continuous/reference_06V1.104/logx3dgen | 102 - test/level01/interp_continuous/reference_06V1.104/output_con01.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02a.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02b.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02c.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con04.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con05.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con01.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con02.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con04.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con05.gmv | 0 test/level01/interp_continuous/reference_06V1.104/outx3dgen | 1473 - test/level01/interp_map/reference_06V1.104/compare_map | 2270 - test/level01/interp_map/reference_06V1.104/input_1row_hex.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_quad.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_tet.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_tri.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_tri.inp | 19 - test/level01/interp_map/reference_06V1.104/input_2d_hires.gmv | 0 test/level01/interp_map/reference_06V1.104/input_2d_hires_trans.gmv | 0 test/level01/interp_map/reference_06V1.104/input_3d_hex.gmv | 0 test/level01/interp_map/reference_06V1.104/input_3d_hex_small.gmv | 0 test/level01/interp_map/reference_06V1.104/input_tet24.gmv | 0 test/level01/interp_map/reference_06V1.104/lagrit_input_map | 484 - test/level01/interp_map/reference_06V1.104/output_map | 3515 - test/level01/interp_map/reference_06V1.104/output_map.log | 198 - test/level01/interp_map/reference_06V1.104/output_map01_max.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map01_min.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map02_nearest.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map02_plus1.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map02_user.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map03.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map04.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map05.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map06.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map07.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map08.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map09.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map10.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map11.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map12.gmv | 0 test/level01/interp_map/reference_06V1.104/outx3dgen | 3300 - test/level01/interp_map/reference_06V1.104/time_map | 7 - test/level01/interp_voronoi/reference_06V1.104/output_view_vor01.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor02.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor03.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor04.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor05.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor06.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor07.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor08.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor09.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor10.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor11.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor12.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor13.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor14.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor15.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor01.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor02.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor03.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor04.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor05.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor06.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor07.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor08.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor09.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor10.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor11.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor12.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor13.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor14.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor15.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/outx3dgen | 3584 - test/level01/intersect/reference/lg_intersect_output3.png | 0 test/level01/intersect/reference/output_test03.gmv | 0 test/level01/intersect/reference/outx3dgen | 52 +- test/level01/intrp_2D_sizes/2d_sink_new.gmv | 2 +- test/level01/intrp_2D_sizes/reference_06V1.104/append_1.em10.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/append_1.ep00.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/append_1scale.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/interpolate_2d_field.outx3dgen | 419 - test/level01/intrp_2D_sizes/reference_06V1.104/intrp_pts.outx3dgen | 338 - test/level01/intrp_2D_sizes/reference_06V1.104/logx3dgen | 69 - test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em02.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em04.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em06.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em06.inp | 7771 - test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em08.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em10.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em11.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep00.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep00.inp | 7771 - test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep02.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep04.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep06.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep08.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep10.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1scale.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp.inp | 400007 ---- test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp_pts1.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp_pts2.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/outx3dgen | 12300 - test/level01/io_agf_simple/input_tet24.inp | 608 - test/level01/io_agf_simple/reference_06V1.104/compare_fehm | 611 - test/level01/io_agf_simple/reference_06V1.104/input_unit_tet.inp | 36 - test/level01/io_agf_simple/reference_06V1.104/lagrit_input_fehm | 34 - test/level01/io_agf_simple/reference_06V1.104/outascii.fehmn | 20 - test/level01/io_agf_simple/reference_06V1.104/outascii.stor | 38 - test/level01/io_agf_simple/reference_06V1.104/outascii_material.zone | 7 - test/level01/io_agf_simple/reference_06V1.104/outascii_outside.area | 33 - test/level01/io_agf_simple/reference_06V1.104/outascii_outside.zone | 27 - test/level01/io_agf_simple/reference_06V1.104/outbin.fehmn | 20 - test/level01/io_agf_simple/reference_06V1.104/outbin.stor | 0 test/level01/io_agf_simple/reference_06V1.104/outbin_material.zone | 7 - test/level01/io_agf_simple/reference_06V1.104/outbin_outside.area | 33 - test/level01/io_agf_simple/reference_06V1.104/outbin_outside.zone | 27 - test/level01/io_agf_simple/reference_06V1.104/output.gmv | 0 test/level01/io_agf_simple/reference_06V1.104/output.inp | 36 - test/level01/io_agf_simple/reference_06V1.104/output_ascii.gmv | 74 - test/level01/io_agf_simple/reference_06V1.104/output_fehm | 676 - test/level01/io_agf_simple/reference_06V1.104/output_fehm.log | 15 - test/level01/io_agf_simple/reference_06V1.104/outx3dgen | 640 - test/level01/io_agf_simple/reference_06V1.104/time_fehm | 4 - test/level01/io_agf_simple/test.out | 69 - test/level01/io_agf_simple/test.stor | 26 - test/level01/io_agf_simple/test1.gmv | 74 - test/level01/io_agf_simple/test2.gmv | 0 test/level01/io_agf_simple/test_ascii.gmv | 74 - test/level01/io_agf_simple/test_binary.gmv | 0 test/level01/quad_quality/reference/outx3dgen | 22 +- test/level01/refine_octree/reference_06V1.104/compare_octree | 225 - test/level01/refine_octree/reference_06V1.104/input_hex.gmv | 0 test/level01/refine_octree/reference_06V1.104/input_quad.gmv | 0 test/level01/refine_octree/reference_06V1.104/lagrit_input_refine_octree | 62 - test/level01/refine_octree/reference_06V1.104/output_octree | 466 - test/level01/refine_octree/reference_06V1.104/output_octree.log | 34 - test/level01/refine_octree/reference_06V1.104/output_refine_amr.gmv | 0 test/level01/refine_octree/reference_06V1.104/outx3dgen | 466 - test/level01/refine_octree/reference_06V1.104/time_octree | 4 - test/level01/refine_octree_prd/reference_06V1.104/compare_prdlev | 482 - test/level01/refine_octree_prd/reference_06V1.104/lagrit_input_refine_prdlev | 145 - test/level01/refine_octree_prd/reference_06V1.104/output_prdlev | 1314 - test/level01/refine_octree_prd/reference_06V1.104/output_prdlev.log | 83 - test/level01/refine_octree_prd/reference_06V1.104/outx3dgen | 1314 - test/level01/refine_octree_prd/reference_06V1.104/time_prdlev | 4 - test/level01/refine_recon_quality/reference/outx3dgen | 18 +- test/level01/refine_recon_quality/reference_06V1.104/compare_quality | 313 - test/level01/refine_recon_quality/reference_06V1.104/lagrit_input_quality | 61 - test/level01/refine_recon_quality/reference_06V1.104/output_quality | 454 - test/level01/refine_recon_quality/reference_06V1.104/output_quality.log | 40 - test/level01/refine_recon_quality/reference_06V1.104/outx3dgen | 419 - test/level01/refine_recon_quality/reference_06V1.104/time_quality | 4 - test/level01/result_files/diffout_lin.txt | 547 +- test/level01/result_files/diffout_mac.txt | 3275 +- test/level01/result_files/reference_V2.003/diffout_lin.txt | 892 - test/level01/result_files/reference_V2.003/diffout_mac.txt | 909 - test/level01/result_files/reference_V2.003/diffout_sgi32.txt | 884 - test/level01/result_files/reference_V2.003/diffout_sun.txt | 383 - test/level01/result_files/reference_V2.003/stdout_lin.txt | 18072 - test/level01/result_files/reference_V2.003/stdout_mac.txt | 18072 - test/level01/result_files/reference_V2.003/stdout_sgi32.txt | 0 test/level01/result_files/reference_V2.003/stdout_sun.txt | 18076 - test/level01/result_files/reference_V2.1_MAR08/diffout_lin.txt | 349 - test/level01/result_files/reference_V2.1_MAR08/diffout_mac.txt | 505 - test/level01/result_files/reference_V2.1_MAR08/diffout_sun.txt | 505 - test/level01/result_files/reference_V2.1_MAR08/stdout_lin.txt | 18057 - test/level01/result_files/reference_V2.1_MAR08/stdout_mac.txt | 11694 - test/level01/result_files/reference_V2.1_MAR08/stdout_sun.txt | 18061 - test/level01/result_files/reference_V2.200_NOV10/diffout_lin.txt | 537 - test/level01/result_files/reference_V2.200_NOV10/diffout_maci.txt | 586 - test/level01/result_files/reference_V2.200_NOV10/stdout_lin.txt | 18781 - test/level01/result_files/reference_V2.200_NOV10/stdout_maci.txt | 586 - test/level01/result_files/stdout_lin64.txt | 4428 +- test/level01/rmpoint/reference_06V1.104/compare_rmmat | 608 - test/level01/rmpoint/reference_06V1.104/lagrit_input_rmmat | 94 - test/level01/rmpoint/reference_06V1.104/output_rmmat | 960 - test/level01/rmpoint/reference_06V1.104/output_rmmat.log | 62 - test/level01/rmpoint/reference_06V1.104/output_rmmat1.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat2.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat3.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat4.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat5.gmv | 0 test/level01/rmpoint/reference_06V1.104/outx3dgen | 867 - test/level01/rmpoint/reference_06V1.104/time_rmmat | 4 - test/level01/rmpoint/reference_V2.003/logx3dgen | 93 - test/level01/rmpoint/reference_V2.003/outx3dgen | 1464 - test/level01/run_test.py | 13 +- test/level01/setpts/reference_06V1.104/compare_setpts | 131 - test/level01/setpts/reference_06V1.104/lagrit_input_setpts | 85 - test/level01/setpts/reference_06V1.104/output.gmv | 0 test/level01/setpts/reference_06V1.104/output_setpts | 326 - test/level01/setpts/reference_06V1.104/output_setpts.log | 53 - test/level01/setpts/reference_06V1.104/outx3dgen | 261 - test/level01/setpts/reference_06V1.104/time_setpts | 4 - test/level01/smooth/reference_06V1.104/compare_smooth | 192 - test/level01/smooth/reference_06V1.104/lagrit_input_smooth | 71 - test/level01/smooth/reference_06V1.104/output_smooth | 407 - test/level01/smooth/reference_06V1.104/output_smooth.log | 56 - test/level01/smooth/reference_06V1.104/output_smooth1.gmv | 0 test/level01/smooth/reference_06V1.104/output_smooth2.gmv | 0 test/level01/smooth/reference_06V1.104/outx3dgen | 535 - test/level01/smooth/reference_06V1.104/time_smooth | 4 - test/level01/sort/input.lgi | 80 +- test/level01/sort/input_poly_no_sort.gmv | 0 test/level01/sort/input_poly_no_sort.inp | 47 + test/level01/sort/reference/input.lgi | 80 +- test/level01/sort/reference/lagrit_test_sort_poly.png | 0 test/level01/sort/reference/output_poly_elem.gmv | 89 + test/level01/sort/reference/output_poly_node.gmv | 83 + test/level01/sort/reference/output_test01.gmv | 0 test/level01/sort/reference/output_test01.inp | 145 + test/level01/sort/reference/output_test01s.gmv | 0 test/level01/sort/reference/output_test01s.inp | 99 +- test/level01/sort/reference/outx3dgen | 655 +- test/level01/sort/test_surf.inp | 36 + test/level01/zone_outside/reference/outx3dgen | 10 +- test/level01/zone_outside/reference_V2.003/logx3dgen | 7 - test/level01/zone_outside/reference_V2.003/outx3dgen | 116 - test/level01/zone_outside_minmax/reference/outx3dgen | 38 +- test/level01/zone_outside_minmax/reference_V2.003/logx3dgen | 7 - test/level01/zone_outside_minmax/reference_V2.003/outx3dgen | 139 - 404 files changed, 1980437 insertions(+), 605620 deletions(-) diffs (truncated from 2591499 to 300 lines): diff -r fd0042cca973 -r 9a8eae3185f6 bin/Versions.txt --- a/bin/Versions.txt Mon Sep 12 08:49:08 2011 -0600 +++ b/bin/Versions.txt Thu Jun 28 12:53:46 2012 -0600 @@ -1,3 +1,75 @@ +======================================================================= +LaGriT V3.005 +* * Program: LaGriT V3.005 Linux m64 * +* * date_compile: 2012/04/15 gfort 4.5 * + +fixed bugs related to cmo/addatt and cmo/readatt resulting in seg fault +added error checking to cmo/readatt and stack routines +fixes and added option for sort line_graph option for nodes, elements, both + +updated test/level01 reference files to reflect 64 bit results +added test/level01/ ascem_demo001 eltset exodus hybrid_volume +updated test/level01/*.py to point to non-version 3 python which + has different syntax for common routines such as print + + +======================================================================= +LaGriT V3.002 +* * Program: LaGriT V3.002 Linux m64 * +* * date_compile: 2011/09/09 gfort 4.5 * + +fixed bug: read/gmv small binary +fixed bug: read/gmv second time (file not closing correctly) + added better format checking, error messages + +M src/readdump.f +M src/readgmv_binary.f +M src/writfls.f +M src/writloga.f + +Expanded read/write tests +M test/level01/io_agf_simple/input.lgi +M test/level01/io_agf_simple/reference/input.lgi +M test/level01/io_agf_simple/reference/output_ascii.gmv +M test/level01/io_agf_simple/reference/outx3dgen +M test/level01/result_files/diffout_lin.txt +M test/level01/result_files/stdout_lin64.txt +? io_agf_simple/reference/output_hex8_ascii.gmv +? io_agf_simple/reference/output_hex8_ascii.inp +? io_agf_simple/reference/output_hex8_ascii.lagrit +? io_agf_simple/reference/output_hex8_binary.gmv +? io_agf_simple/reference/output_hex8_binary.gmvF +? io_agf_simple/reference/output_hex8_binary.lagrit +? io_agf_simple/reference/output_tet1_ascii.gmv +? io_agf_simple/reference/output_tet1_binary.gmv +? io_agf_simple/reference/output_tet1_binary.gmvF + + +Update to V3.002 +M bin/lagrit_lin64_o_gfort4.5 +M lib/lagrit_lin64_g_gfort4.5.a +M lib/lagrit_lin64_o_gfort4.5.a +M src/lagrit.h +M src/lagrit.template.h +M src/lagrit_lin.h +M src/lagrit_lin64.h +M src/lagrit_mac.h +M src/lagrit_maci.h +M src/lagrit_sgi.h +M src/lagrit_sun.h + +hg commit +V3.002 for new release has bug fixes. +This closes #103 for 64bit version of LaGriT +This version closes #66 writing outside ares for median and voronoi +This fixes #110 for all but a few cases that are added to test/level01 +close #4 to create eltset like psets +close #34 reading gmv binary with few elements +fixes #50 where quality prints largets volume bin twice +close #60 addatt voronoi and hybrid + + + ======================================================================= LaGriT V3.001 Tue Aug 30 16:16:50 MDT 2011 diff -r fd0042cca973 -r 9a8eae3185f6 bin/lagrit_lin_g Binary file bin/lagrit_lin_g has changed diff -r fd0042cca973 -r 9a8eae3185f6 src/Makefile --- a/src/Makefile Mon Sep 12 08:49:08 2011 -0600 +++ b/src/Makefile Thu Jun 28 12:53:46 2012 -0600 @@ -94,8 +94,8 @@ ifeq ($(MOPT), 64) OSTAG = _lin64 OBJDIR = lin_objects_m64/ -FFLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -FF90FLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 +FFLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 +FF90FLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 CFLAGS = -m64 -Dlinx64 endif @@ -130,6 +130,24 @@ FF90FLAGS = -m32 CFLAGS = -m32 OBJDIR = objects_maci/ + +ifeq ($(COMPILER),GFORTRAN) +FC = gfortran +FC90 = gfortran +CC= gcc +FFLAGS = -fcray-pointer -m32 +FF90FLAGS = -fcray-pointer -m32 + +ifeq ($(MOPT), 64) +OSTAG = _maci64 +OBJDIR = lin_objects_maci64/ +FFLAGS = -fcray-pointer -m64 -fdefault-integer-8 -Dmacx64 +FF90FLAGS = -fcray-pointer -m64 -fdefault-integer-8 -Dmacx64 +CFLAGS = -m64 -Dmacx64 +endif + +endif + endif # endif @@ -188,6 +206,9 @@ SUFF2 ="" ifeq ($(COMPILER),GFORTRAN) SUFF2 = _gfort4.5 +ifeq ($(OPSYS), Darwin) +SUFF2 = _gfort4.6 +endif endif ifeq ($(COMPILER),ABSOFT) SUFF2 = _absoft @@ -334,14 +355,14 @@ $(OBJDIR)%.o : %.cpp $(CXX) $(COPT) $(CFLAGS) -c -o $@ $< -machine.h : machine_header.h - @echo "--------------------------------------------------" - @echo "Remove and re-make machine.h from machine_header.F" - cp -p machine_header.h machine_header.F - $(CC) -E $(CFLAGS) machine_header.F -o machine.h - cp -p machine.h $(OBJDIR) - -rm -f machine_header.F - @echo "--------------------------------------------------" +#machine.h : machine_header.h +# @echo "--------------------------------------------------" +# @echo "Remove and re-make machine.h from machine_header.F" +# cp -p machine_header.h machine_header.F +# $(CC) -E $(CFLAGS) machine_header.F -o machine.h +# cp -p machine.h $(OBJDIR) +# -rm -f machine_header.F +# @echo "--------------------------------------------------" $(OBJDIR)%.o : %.F cp lagrit$(OSTAG).h lagrit.h diff -r fd0042cca973 -r 9a8eae3185f6 src/Makefile.depends --- a/src/Makefile.depends Mon Sep 12 08:49:08 2011 -0600 +++ b/src/Makefile.depends Thu Jun 28 12:53:46 2012 -0600 @@ -266,6 +266,7 @@ $(OBJDIR)kdtreeselect.o: local_element.h $(OBJDIR)laplace2d.o: local_element.h consts.h $(OBJDIR)line_graph_sort.o: line_graph_sort.cpp +$(OBJDIR)line_graph_nsort.o: line_graph_nsort.cpp $(OBJDIR)lineseg_inter.o: consts.h $(OBJDIR)lineseglineseg.o: local_element.h local_element.h $(OBJDIR)linesegtri.o: local_element.h diff -r fd0042cca973 -r 9a8eae3185f6 src/README.compile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/README.compile Thu Jun 28 12:53:46 2012 -0600 @@ -0,0 +1,167 @@ +Version 3.X LaGriT libraries and executables +with linux 64 bit compiled with gfortran 4.5 or greater ------- + +Check for valid compiler versions. + +gcc --version +gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) + +gfortran --version +GNU Fortran (GCC) 4.5.1 + + +============================================================== +Compile lg_util library + +In directory lg_util/src +Use make install or copy libraries to lg_util/lib (used by lagrit compile) + +------- debug and optimized version 64 bit + +check mm2000.h that BYTES_PER_INT = 8 +if not then Remove and re-make mm2000.h from mm2000_header.F + rm -f mm2000.h + gcc -g -E -m64 -Dlinx64 mm2000_header.F -o mm2000.h + cp -p mm2000.h objects_lin64_g_gfort4.5/ + cp -p mm2000.h objects_lin64_o_gfort4.5/ + +make MOPT=64 COPT=-g lib +make MOPT=64 lib + +-rw-r--r-- 1 tam pf 643136 Aug 15 14:02 util_lin64_g_gfort4.5.a +-rw-r--r-- 1 tam pf 260512 Aug 15 14:03 util_lin64_o_gfort4.5.a + +============================================================== +Compile lagrit library and build executable + +# for linux version only +# create library and build executable in this directory +# +# Target: x86_64-unknown-linux-gnu +# Configured with: ../gcc-4.5.1/configure --prefix=/scratch/ymp/packages/gcc/gcc-4.5.1 +# Thread model: posix gcc version 4.5.1 (GCC) +# this adds the libraries needed for exodus read/write commands. +# +# Call buildgfort for all versions +# or copy and past sections for single version compile and build + + +# OSTYPE = Linux gfortran 64 bit ------------------------------------------------ +# build -g debug version for use with debuggers such as gdb + +cp lagrit_lin64.h lagrit.h + +make MOPT=64 COPT=-g lib + +gfortran -g -fcray-pointer -fdefault-integer-8 -Dlinx64 -c -o lagrit_main.o lagrit_main.f +gfortran -g -fcray-pointer -fdefault-integer-8 -Dlinx64 -c -o lagrit_fdate.o lagrit_fdate.f + +gfortran -g -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o lagrit_lin64_g_gfort4.5 lagrit_main.o lagrit_fdate.o lagrit_lin64_g_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_g_gfort4.5.a -lm -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ + +-rw-r----- 1 tam pf 23666226 Aug 31 09:53 lagrit_lin64_g_gfort4.5.a +-rwxr-x--x 1 tam pf 14985136 Aug 31 10:09 lagrit_lin64_g_gfort4.5* + + +# OSTYPE = Linux gfortran 64 bit ------------------------------------------------ +# build -O version optimized + +cp lagrit_lin64.h lagrit.h + +make MOPT=64 lib + +gfortran -O -Dlinx64 -fcray-pointer -fdefault-integer-8 -c -o lagrit_main.o lagrit_main.f +gfortran -O -Dlinx64 -fcray-pointer -fdefault-integer-8 -c -o lagrit_fdate.o lagrit_fdate.f + +gfortran -O -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o lagrit_lin64_o_gfort4.5 lagrit_main.o lagrit_fdate.o lagrit_lin64_o_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_o_gfort4.5.a -lm -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ + +-rw-r----- 1 tam pf 10265720 Aug 31 10:09 lagrit_lin64_o_gfort4.5.a +-rwxr-x--x 1 tam pf 8480343 Aug 31 10:10 lagrit_lin64_o_gfort4.5* + +============================================================== +If do not have and do not need the ExodusII and netCDF libraries. + +LaGriT V3.0 supports ExodusII file format output (which sits on top of netCDF). +This means that if you want to compile your own code you have to build the ExodusII and netCDF libraries yourself. We do not distribute those packages. A quick and dirty option to compile without these libraries would to just take the code that calls those libraries and replace dumpexodusII.f it with: + + subroutine dumpexodusII(ifile) + return + end + +============================================================== + +Running executable lagrit_lin64_o_gfort4.5 + + +* * * * * * * * * * * * * * * * * * * * * * * * * +* * * +* * Program: LaGriT V3.001 Linux m64 * +* * date_compile: 2011/08/01 gfort 4.5 * +* * Run Time: 2011/Aug 31 10:14:12 * +* * Manual: http://lagrit.lanl.gov * +* * * +* * * * * * * * * * * * * * * * * * * * * * * * * + + -----oOo----- +LaGriT Copyright: This program was prepared by Los Alamos National Security, LLC +at Los Alamos National Laboratory (LANL) under contract No. DE-AC52-06NA25396 +with the U.S. Department of Energy (DOE). All rights in the program are reserved +by the DOE and Los Alamos National Security, LLC. Permission is granted to the +public to copy and use this software without charge, provided that this Notice +and any statement of authorship are reproduced on all copies. Neither the +U.S. Government nor LANS makes any warranty, express or implied, or assumes +any liability or responsibility for the use of this software. + -----oOo----- + + +Output log file: outx3dgen +Command log file: logx3dgen + + Enter a command +memory print +memory print +-------- + +MEMORY SIZES : + Sizeof char (type 3) = 1 bytes Sizeof long = 8 bytes + Sizeof real*8 (type 2) = 8 bytes Sizeof pointer = 8 bytes + Sizeof integer (type 1) = 4 bytes Sizeof INT_PTRSIZE = 8 bytes + + +INDEX LENGTH TYPE ADDRESS NAME PARTITION + 2 10 1 102267104 global_type global_lg + 3 10 1 102267296 global_index global_lg Release before 64 bit work Version V2.200 /home/tam/src/lagrit/bin/Version2.200: total 121908 drwxr-x--x 3 tam sftus 4096 Jul 10 07:31 ./ drwxr-xr-x 11 tam pf 4096 Jul 20 12:48 ../ -rwxrwxrwx 1 tam pf 14985136 Aug 31 2011 lagrit_lin64_g_gfort4.5* -rwxrwxrwx 1 tam pf 8483479 Sep 9 2011 lagrit_lin64_o_gfort4.5* -rwxr-x--x 1 tam sftus 10658530 Jul 9 08:20 lagrit_lin_g_gfort4.5* -rwxr-x--x 1 tam sftus 9880351 Jul 9 08:20 lagrit_lin_o* -rwxr-x--x 1 tam sftus 5860501 Jul 9 08:20 lagrit_lin_o_gfort4.5* -rwxrwxrwx 1 tam pf 17477920 Nov 22 2010 lagrit_mac_g* -rwxrwxrwx 1 tam pf 11215036 Nov 22 2010 lagrit_maci_g* -rwxrwxrwx 1 tam pf 9029384 Nov 22 2010 lagrit_maci_o* -rwxrwxrwx 1 tam pf 7311396 Nov 22 2010 lagrit_mac_o* -rwxrwxrwx 1 tam pf 20068184 Nov 22 2010 lagrit_sun_g* -rwxr-xr-x 1 tam pf 9536496 Nov 22 2010 lagrit_sun_o* drwxr-x--x 2 tam sftus 4096 Jul 10 07:30 .libs/ -rw-r----- 1 tam sftus 1772 Jun 29 08:32 outx3dgen August 30, 2011 added tag Version 3.001 start of 64 bit work July 19 2012 foreach? diff $f /home/tam/src/clone/lagrit/src foreach? end addmesh_add.f 103c103 < implicit none --- > implicit real*8 (a-h, o-z) 107a108 > character*132 logmess 117,130c118,128 < pointer (ipimt1, imt1) < pointer (ipitp1, itp1) < integer imt1(*),itp1(*) < pointer (ipitettyp1, itettyp1) < pointer (ipitetclr1, itetclr1) < integer itettyp1(*),itetclr1 < < pointer (ipitetoff1, itetoff1) < pointer (ipjtetoff1, jtetoff1) < integer itetoff1(*),jtetoff1(*) < < pointer (ipitet1, itet1) < pointer (ipjtet1, jtet1) < integer itet1(4,*),jtet1(4,*) --- > pointer (ipimt1, imt1(1000000)) > pointer (ipitp1, itp1(1000000)) > pointer (ipxic1, xic1) > pointer (ipyic1, yic1) > pointer (ipzic1, zic1) > pointer (ipitettyp1, itettyp1(10000000)) > pointer (ipitetclr1, itetclr1(10000000)) > pointer (ipitet1, itet1(4,1000000)) > pointer (ipjtet1, jtet1(4,1000000)) > C > dimension xic1(1000000), yic1(1000000), zic1(1000000) 133c131 < integer itest(*) --- > integer itest(10000000) 135,159c133,145 < pointer (ipitettypb, itettypb) < pointer (ipjtetoffb, jtetoffb) < pointer (ipjtet1b, jtet1b) < integer itettypb(*),jtetoffb(*),jtet1b(*) < C < pointer (ipitetclrc, itetclrc) < pointer (ipitettypc, itettypc) < pointer (ipitetoffc, itetoffc) < pointer (ipjtetoffc, jtetoffc) < integer itetclrc(*),itettypc(*),itetoffc(*),jtetoffc(*) < pointer (ipitet1c, itet1c) < pointer (ipjtet1c, jtet1c) < integer itet1c(*),jtet1c(*) < C < pointer (ipimt1d, imt1d) < integer imt1d(*) < C < pointer (ipitettypd, itettypd) < pointer (ipitetclrd, itetclrd) < integer itettypd(*), itetclrd(*) < pointer (ipitet1d, itet1d) < pointer (ipjtet1d, jtet1d) < pointer (ipitetoffd, itetoffd) < pointer (ipjtetoffd, jtetoffd) < integer itet1d(*),jtet1d(*),itetoffd(*),jtetoffd(*) --- > C pointer (ipitetclrb, itetclrb(1000000)) > pointer (ipitettypb, itettypb(1000000)) > C pointer (ipitetoffb, itetoffb(1000000)) > pointer (ipjtetoffb, jtetoffb(1000000)) > C pointer (ipitet1b, itet1b(1000000)) > pointer (ipjtet1b, jtet1b(1000000)) > C > pointer (ipitetclrc, itetclrc(1000000)) > pointer (ipitettypc, itettypc(1000000)) > pointer (ipitetoffc, itetoffc(1000000)) > pointer (ipjtetoffc, jtetoffc(1000000)) > pointer (ipitet1c, itet1c(1000000)) > pointer (ipjtet1c, jtet1c(1000000)) 161,165c147 < pointer (ipxic1, xic1) < pointer (ipyic1, yic1) < pointer (ipzic1, zic1) < real*8 xic1(*), yic1(*), zic1(*) < --- > pointer (ipimt1d, imt1d(1000000)) 169c151,158 < integer xic1d(*), yic1d(*), zic1d(*) --- > dimension xic1d(1000000), yic1d(1000000), zic1d(1000000) > C > pointer (ipitettypd, itettypd(10000000)) > pointer (ipitetclrd, itetclrd(10000000)) > pointer (ipitet1d, itet1d(1000000)) > pointer (ipjtet1d, jtet1d(1000000)) > pointer (ipitetoffd, itetoffd(1000000)) > pointer (ipjtetoffd, jtetoffd(1000000)) 173d161 < character*132 logmess 182,183c170,171 < integer ipoint_overlap1(*) < integer itet_overlap1(*), itet_border1(*) --- > integer ipoint_overlap1(1000000) > integer itet_overlap1(10000000), itet_border1(10000000) 188,189c176,177 < integer ipoint_overlap2(*) < integer itet_overlap2(*), itet_border2(*) --- > integer ipoint_overlap2(1000000) > integer itet_overlap2(10000000), itet_border2(10000000) 192c180 < integer itet_delete(*) --- > integer itet_delete(10000000) 204,205c192,193 < integer itadd(*), ieadd(*) < real*8 xadd(*), yadd(*), zadd(*) --- > integer itadd(1000000), ieadd(1000000) > real*8 xadd(1000000), yadd(1000000), zadd(1000000) 207,225c195 < integer iadd(*) < C < integer nuser_refine,jdebug,istitch,icscode,npoints1, < * ilen,icmotp,numtet1,lenitettyp,ier,npoints2, < * numtet2,length,i1,it,nrefine,i,ierrw,ics,nsdtopo1, < * icmotype,nsdgeom1,nen1,nef1,lenimt1,lenitp1,lenxic1, < * lenyic1,lenzic1,lenitetclr,lenitet,lenjtet,len,ierr, < * lenitetoff,lenjtetoff,nadd,i2,i3,i4,npoints_save,npoints, < * ref_distance,nadd1,ie,j1,j2,j,distance,numtet_save, < * itp1_boundary,nptsc,nelemc, < * lenitetc,lenjtetc,ifacemax,nelemd,lenimt1d, < * lenyic1d,lenzic1d,lenitetd,lenjtetd,itoffd,jtoffd, < * lenjtetoffc, lenxic1d < < integer mbndry,mbndry_old,mbndry_new < < real*8 xedge,yedge,zedge < < integer icharlnf --- > integer iadd(1000000) 242d211 < C BEGIN begin 314,321c283 < < if (numtet1.le.0 ) then < write (logmess,'(a)') < * 'No refinement attempted - 0 elements.' < call writloga ('default',0,logmess,0,ierrw) < all_tets = .false. < endif < --- > print *, 'numtet1 = ' , numtet1 328c290 < write (logmess,'(a,a)') 'No refinement attempted.', --- > write (logmess, *) 'No refinement attempted.', 334,338c296 < < write (logmess,'(a,i10,a)') < * 'ADDMESH ADD: ', nrefine-1, ' refine iteration.' < call writloga ('default',0,logmess,0,ierrw) < --- > print *, 'Completed ', nrefine - 1, ' refine iterations.' 592,599d549 < if (ierror.ne.0) then < write(logmess,'(a,i5)') < * 'ADDMESH ADD: recon finished with error: ',ierror < call writloga('default',0,logmess,0,ierrw) < else < write(logmess,'(a)')'ADDMESH ADD: recon done.' < call writloga('default',0,logmess,0,ierrw) < endif 962c912 < implicit none --- > implicit real*8 (a-h, o-z) 983,986c933,936 < real*8 xic1(*), yic1(*), zic1(*) < integer itet1(*), itettyp1(*), itetoff1(*) < integer itp1(*) < --- > real*8 xic1(10000000), yic1(10000000), zic1(10000000) > integer itet1(10000000), itettyp1(10000000), itetoff1(10000000) > integer itp1(1000000) > C 999,1010c949,952 < real*8 xic2(*), yic2(*), zic2(*) < integer itet2(*), itettyp2(*), itetoff2(*) < integer itp2(*) < C < CCC < C < < integer mbndry1,mbndry2 < < pointer (ipitet_border1, itet_border1) < integer itet_border1(*) < --- > real*8 xic2(10000000), yic2(10000000), zic2(10000000) > integer itet2(10000000), itettyp2(10000000), itetoff2(10000000) > integer itp2(1000000) > C 1012,1019c954,956 < < real*8 rmax_vol1,rmax_vol2,volelm < < integer nuser_refine,nrefine,icscode,npoints1,ilen,icmotp, < * ierror,numtet1,lenxic1,lenyic1,lenzic1,lenitettyp, < * ier,npoints2,numtet2,lenxic2,lenyic2,lenzic2, < * nboundary_elems,it,i,i1,ierrw < --- > C > pointer (ipitet_border1, itet_border1) > integer itet_border1(10000000) 1022d958 < 1033d968 < real*8 size_difference 1039d973 < integer begin_boundary,end_boundary 1068c1002 < call cmo_get_info('mbndry',cmoc,mbndry1,ilen,icmotp,ierror) --- > call cmo_get_info('mbndry',cmoc,ipmbndry1,ilen,icmotp,ierror) 1083c1017 < call cmo_get_info('mbndry',cmob,mbndry2,ilen,icmotp,ierror) --- > call cmo_get_info('mbndry',cmob,ipmbndry2,ilen,icmotp,ierror) 1166a1101,1125 > > > > > > > > > > > > > > > > > > > > > > > > > addmesh_amr.f addmesh_append.f addmesh_delete.f addmesh.f 247,248d246 < < C arguments 252,253d249 < < C variables 271,277c267,273 < real*8 xic1(*), yic1(*), zic1(*) < pointer (ipitetclr1, itetclr1(*)) < pointer (ipitettyp1, itettyp1(*)) < pointer (ipitetoff1, itetoff1(*)) < pointer (ipjtetoff1, jtetoff1(*)) < pointer (ipitet1, itet1(*)) < pointer (ipjtet1, jtet1(*)) --- > real*8 xic1(10000000), yic1(10000000), zic1(10000000) > pointer (ipitetclr1, itetclr1(10000000)) > pointer (ipitettyp1, itettyp1(10000000)) > pointer (ipitetoff1, itetoff1(10000000)) > pointer (ipjtetoff1, jtetoff1(10000000)) > pointer (ipitet1, itet1(10000000)) > pointer (ipjtet1, jtet1(10000000)) 288,294c284,290 < real*8 xic2(*), yic2(*), zic2(*) < pointer (ipitetclr2, itetclr2(*)) < pointer (ipitettyp2, itettyp2(*)) < pointer (ipitetoff2, itetoff2(*)) < pointer (ipjtetoff2, jtetoff2(*)) < pointer (ipitet2, itet2(*)) < pointer (ipjtet2, jtet2(*)) --- > real*8 xic2(10000000), yic2(10000000), zic2(10000000) > pointer (ipitetclr2, itetclr2(10000000)) > pointer (ipitettyp2, itettyp2(10000000)) > pointer (ipitetoff2, itetoff2(10000000)) > pointer (ipjtetoff2, jtetoff2(10000000)) > pointer (ipitet2, itet2(10000000)) > pointer (ipjtet2, jtet2(10000000)) 302,308c298,304 < real*8 xic3(*), yic3(*), zic3(*) < pointer (ipitetclr3, itetclr3(*)) < pointer (ipitettyp3, itettyp3(*)) < pointer (ipitetoff3, itetoff3(*)) < pointer (ipjtetoff3, jtetoff3(*)) < pointer (ipitet3, itet3(*)) < pointer (ipjtet3, jtet3(*)) --- > real*8 xic3(10000000), yic3(10000000), zic3(10000000) > pointer (ipitetclr3, itetclr3(10000000)) > pointer (ipitettyp3, itettyp3(10000000)) > pointer (ipitetoff3, itetoff3(10000000)) > pointer (ipjtetoff3, jtetoff3(10000000)) > pointer (ipitet3, itet3(10000000)) > pointer (ipjtet3, jtet3(10000000)) 316,317c312,314 < integer icmo_c(*),icmo_a(*) < real*8 xcmo_c(*),xcmo_a(*) --- > integer icmo_c(10000000),icmo_a(10000000) > real*8 xcmo_c(10000000),xcmo_a(1000000) > character*32 ccmo_a(*),ccmo_c(*) 318a316,317 > character*32 cname,ctype,clength,defname > character*32 isubname, cmoa, cmob, cmoc, coperator 329,330c328,329 < integer ipoint_overlap1(*) < integer itet_overlap1(*), itet_border1(*) --- > integer ipoint_overlap1(1000000) > integer itet_overlap1(10000000), itet_border1(10000000) 335,336c334,335 < integer ipoint_overlap2(*) < integer itet_overlap2(*), itet_border2(*) --- > integer ipoint_overlap2(1000000) > integer itet_overlap2(10000000), itet_border2(10000000) 339c338 < integer itet_delete(*) --- > integer itet_delete(10000000) 341,343d339 < character*32 cname,ctype,clength,defname < character*32 isubname, cmoa, cmob, cmoc, coperator < character*32 ccmo_a(*),ccmo_c(*) 528,537d523 < < if ((npoints2 .eq. 0) .and. (numtet2 .eq. 0)) then < < write(logmess,'(a,a)') < * 'WARNING: third mesh name not valid,' // < * ' no action using ',cmob(1:icharlnf(cmob)) < call writloga('default',0,logmess,0,ierr) < goto 9999 < endif < addmesh_intersection.f addmesh_merge.f addmesh_overlap.f addmesh_pyramid.f addmesh_reflect.f agd3d.f angle3c.f angle3.f angle3v.f anothermatbld3d_wrapper.f aratio_element_edge.f aratio_element.f aratio_hex.f aratio_qud.f aratio_tet.f aratio_tri.f assign_quadrant_id.f beads_ona_ring.f 221,222d220 < integer malloc < bingrid.f bin_ij_edge.f bndpts.f boundary_components.f boundary.f bubble.f calc_rdist.f cee_chain.f cel_chain.f cel_chain_f.f diff: /home/tam/src/clone/lagrit/src/cel_chain_f.f: No such file or directory cel.f cer_chain.f checkmbndry_lg.f chglocl.f chgnorm.f chkreg.f chkregliteral.f chkregv.f cinterpolate_elem.f closed_surfaces.f cmo_addatt_cmo.f cmo_addatt_def.f cmo_addatt.f cmo_allocate.f cmo_att_derive.f 1c1 < subroutine cmo_att_derive(sink_in,src_in,ierror_return) --- > subroutine cmo_att_derive(sink_mo,src_mo,ierror_return) 14,15c14,15 < C sink_in - (character) Derived Mesh Object Name. < C src_in - (character) Master Mesh Object Name. --- > C sink_mo - (character) Derived Mesh Object Name. > C src_mo - (character) Master Mesh Object Name. 36c36 < character*32 sink_in, src_in --- > character*(*) src_mo, sink_mo 53,55c53 < < C copy arguments into local variables to avoid losing them during dotask < character*32 attname, src_mo, sink_mo --- > character*32 attname 64d61 < C BEGIN begin 66,69c63 < ierror_return = 0 < < len=icharlnf(sink_in) < sink_mo = sink_in(1:len) --- > len=icharlnf(sink_mo) 79,80c73 < len=icharlnf(src_in) < src_mo = src_in(1:len) --- > len=icharlnf(src_mo) 126,127d118 < < 129d119 < 133d122 < 137d125 < 139d126 < C... See if it is the same or a different type 140a128 > C... See if it is the same or a different attribute 181d168 < 183,187c170 < C... Now, since the attribute isn't in the sink mesh, we add it < < if (ierror.eq.0) print*, "Exists, but add anyway!" < print*,"adding ",sink_mo,attname < --- > C... Now, since the attribute isn't in the sink mesh, we add it 197d179 < 199d180 < 201a183,186 > 9999 return > end > > 203,205d187 < print*,"Done adding attributes to ", < * sink_mo(1:icharlnf(sink_mo)) < print*,"from mesh object ",src_mo(1:icharlnf(src_mo)) 207d188 < 9999 return 209d189 < end 211c191,192 < subroutine cmo_att_union(sink_in,src_in,ierror_return) --- > > subroutine cmo_att_union(sink_mo,src_mo,ierror_return) 224,225c205,206 < C sink_in - (character) Derived Mesh Object Name. < C src_in - (character) Master Mesh Object Name. --- > C sink_mo - (character) Derived Mesh Object Name. > C src_mo - (character) Master Mesh Object Name. 241,242c222 < character*32 sink_in, src_in < character*32 cmo1, cmo2 --- > character*32 sink_mo, src_mo 246,259c226,227 < C protect mesh names from being overwritten by dotask calls < cmo1 = sink_in < cmo2 = src_in < < print*,"cmo_att_union: in ",sink_in,src_in,cmo1,cmo2 < < call cmo_att_derive(cmo1, cmo2, ierror) < < cmo1 = sink_in < cmo2 = src_in < < < call cmo_att_derive(cmo2, cmo1, ierror2) < --- > call cmo_att_derive(sink_mo,src_mo,ierror) > call cmo_att_derive(src_mo, sink_mo, ierror2) 261,263d228 < < print*,"cmo_att_union: out ",sink_in,src_in,cmo1,cmo2 < cmo_command.f 196,200c196,198 < character*32 cmo_name, cmo1,cmo2, coption < character*32 cmolist, attlist,cmo_sink,cmo_src,geom_name_arg < < integer len, ierr, ierr1, ierr2, lenopt, ierrw < integer inum1,inum2,inum3,inum4,inum5 --- > character*32 cmo_name, coption, cmolist, attlist,cmo_sink,cmo_src > * ,geom_name_arg > integer len, ierr, lenopt 209d206 < C BEGIN begin 212,231c209,212 < ierror_return = 0 < cmo_name = '-notset-' < coption = '-notset-' < < if (nwds.ge.2 .and. msgtype(2).eq.3) then < coption = cmsgin(2) < lenopt=icharlnf(coption) < else < write(logmess,'(a)') < * ' ERROR CMO: Invalid option, must be character type.' < call writloga('default',0,logmess,1,ierr) < ierror_return = -1 < go to 9999 < endif < < if (nwds.gt.2) then < if (msgtype(3).eq.3) then < cmo_name = cmsgin(3) < endif < endif --- > C > coption = cmsgin(2) > lenopt=icharlnf(coption) > cmo_name = cmsgin(3) 235,239d215 < if(ierr.ne.0) then < write(logmess,'(a)') 'CMO found bad mesh object' < call writloga('default',0,logmess,0,ierrw) < go to 9999 < endif 241d216 < 291c266 < * "Warning: MO DOES NOT EXIST: "//cmo_name --- > * "WARNING: MO DOES NOT EXIST: "//cmo_name 294c269 < * "Warning: NO ACTION: "//coption(1:lenopt) --- > * "WARNING: NO ACTION: "//coption(1:lenopt) 316c291 < * ' ERROR CMO addatt: Must specify Mesh Object and Attribute' --- > * ' ERROR: Must specify Mesh Object and Attribute. ' 341,342c316,317 < * ' ERROR CMO setatt: Must specify Mesh Object and Attribute' < * ,' point or element set and value' --- > * ' ERROR: Must specify Mesh Object and Attribute' > * ,' point or element setand value' 361,362c336,337 < * ' ERROR CMO printatt: Must specify Mesh Object and Attribute' < * ,' point or element set' --- > * ' ERROR: Must specify Mesh Object and Attribute' > * ,' point or element set' 380,381c355,356 < * ' ERROR CMO copyatt: Must specify Mesh Object and Attribute' < * ,' point or element set' --- > * ' ERROR: Must specify Mesh Object and Attribute' > * ,' point or element set' 414c389 < * ' ERROR CMO copy: No Destination Mesh Object defined' --- > * ' ERROR: No Destination Mesh Object defined. ' 432c407 < * ' ERROR CMO create: No Mesh Object defined' --- > * ' ERROR: No Mesh Object defined. ' 464c439 < * ' ERROR CMO delatt: Must specify Mesh Object and Attribute' --- > * ' ERROR: Must specify Mesh Object and Attribute. ' 476,492c451 < cmo2 = '-cmo-' < elseif (msgtype(4).eq.3) then < cmo2 = cmsgin(4) < else < write(logmess,'(a)') < * ' ERROR CMO derive: need second mesh object.' < call writloga('default',0,logmess,0,ierrw) < goto 9999 < endif < < if (msgtype(3).eq.3) then < cmo1 = cmsgin(3) < else < write(logmess,'(a)') < * ' ERROR CMO derive: need first mesh object.' < call writloga('default',0,logmess,0,ierrw) < goto 9999 --- > cmsgin(4)='-cmo-' 495c454 < call cmo_derive(cmo1,cmo2,ierror_return) --- > call cmo_derive(cmsgin(3),cmsgin(4),ierror_return) 501c460 < * ' ERROR CMO derive: No Destination Mesh Object defined.' --- > * ' ERROR: No Destination Mesh Object defined. ' 512d470 < 514,530c472 < cmo2 = '-cmo-' < elseif (msgtype(4).eq.3) then < cmo2 = cmsgin(4) < else < write(logmess,'(a)') < * ' ERROR CMO attribute_derive: need second mesh object.' < call writloga('default',0,logmess,0,ierrw) < goto 9999 < endif < < if (msgtype(3).eq.3) then < cmo1 = cmsgin(3) < else < write(logmess,'(a)') < * ' ERROR CMO attribute_derive: need first mesh object.' < call writloga('default',0,logmess,0,ierrw) < goto 9999 --- > cmsgin(4)='-cmo-' 532,533c474 < < call cmo_att_derive(cmo1,cmo2,ierror_return) --- > call cmo_att_derive(cmsgin(3),cmsgin(4),ierror_return) 536,538c477,478 < write(logmess,'(a,a)') < * ' ERROR CMO attribute_derive: ', < * 'No Destination Mesh Object defined.' --- > write(logmess,'(a)') > * ' ERROR: No Destination Mesh Object defined. ' 547,575c487 < < if (msgtype(4).eq.3) then < cmo2 = cmsgin(4) < else < write(logmess,'(a,i5)') < * ' ERROR CMO union: invalid type argument 4: ',msgtype(4) < call writloga('default',0,logmess,0,ierrw) < goto 9999 < endif < < if (msgtype(3).eq.3) then < cmo1 = cmsgin(3) < else < write(logmess,'(a,i5)') < * ' ERROR CMO union: invalid type argument 3: ',msgtype(3) < call writloga('default',0,logmess,0,ierrw) < goto 9999 < endif < < C tam -remove - this kind of self call overwrites arguments < C call cmo_att_union(cmo1,cmo2,ierror_return) < < call cmo_att_derive(cmo1, cmo2, ierr1) < if (ierr1.eq.0) then < call cmo_att_derive(cmo2, cmo1, ierr2) < endif < < if (ierr1.ne.0 .or. ierr2.ne.0) ierror_return = -1 < --- > call cmo_att_union(cmsgin(3),cmsgin(4),ierror_return) 579c491 < * ' ERROR CMO union: Need two mesh objects defined. ' --- > * ' ERROR: Need two mesh objects for att_union. ' 627,629c539 < inum4=1 < else < inum4 = imsgin(4) --- > imsgin(4)=1 633,635c543 < inum5=1 < else < inum5= imsgin(5) --- > imsgin(5)=1 638c546 < call cmo_memory(cmolist,inum4,inum5,ierror_return) --- > call cmo_memory(cmolist,imsgin(4),imsgin(5),ierror_return) 653,654c561,562 < * ' ERROR CMO modatt: Must specify Mesh Object, Attribute,', < * ' Field, and the new Field.' --- > * ' ERROR: Must specify Mesh Object, Attribute,', > * ' Field, and the new Field.' 664,682c572,574 < < if(nwds.lt.4) then < cmo2 = '-cmo-' < elseif (msgtype(4).eq.3) then < cmo2 = cmsgin(4) < else < write(logmess,'(a)') < * ' ERROR CMO move: invalid type argument 4' < call writloga('default',0,logmess,0,ierrw) < goto 9999 < endif < < if (msgtype(3).eq.3) then < cmo1 = cmsgin(3) < else < write(logmess,'(a)') < * ' ERROR CMO move: invalid type argument 3' < call writloga('default',0,logmess,0,ierrw) < goto 9999 --- > C > if(nwds.lt.4) then > cmsgin(4)='-cmo-' 685c577 < call cmo_move(cmo1,cmo2,ierror_return) --- > call cmo_move(cmsgin(3),cmsgin(4),ierror_return) 691c583 < * ' ERROR CMO move: No Destination Mesh Object defined. ' --- > * ' ERROR: No Destination Mesh Object defined. ' 722c614 < cmo2 = cmsgin(4) --- > call cmo_recolor(cmo_name,cmsgin(4),ierror_return) 724c616 < cmo2='save' --- > call cmo_recolor(cmo_name,'save',ierror_return) 726,728c618,619 < < call cmo_recolor(cmo_name,cmo2,ierror_return) < --- > else > call cmo_recolor(cmo_name,'save',ierror_return) 740d630 < ierror_return = 0 746,748c636,637 < write(logmess,'(a,a,a)') < * ' ERROR CMO ',coption(1:lenopt), < * ': No Mesh Object defined. ' --- > write(logmess,'(a)') > * ' ERROR: No Mesh Object defined. ' 879c768 < write(logmess,'(a)') 'CMO Mesh Object is OK ' --- > write(logmess,'(a)') 'Mesh Object is OK ' 889,891c778,779 < write(logmess,'(a,a)') < * 'ERROR CMO: invalid option: ' < * ,coption(1:lenopt) --- > write(logmess,'(a,a,a)') 'Illegal CMO_COMMAND option' > * ,coption(1:lenopt), '.' 896,900c784,787 < 9999 if(ierror_return.ne.0) then < write(logmess,'(a,a,2x,a,2x,i5)') < * ' ERROR CMO: ',coption(1:icharlnf(coption)), < * cmo_name(1:icharlnf(cmo_name)),ierror_return < call writloga('default',0,logmess,1,ierr) --- > if(ierror_return.gt.0) then > write(logmess,9100) coption,cmo_name > call writloga('default',0,logmess,0,ierr) > 9100 format('cmo_command error: ',2a32) 902c789 < --- > C cmo_compress.f cmo_copyatt.f cmo_copy.f cmo_create_cmo.f 66d65 < integer ierror_return 68a68 > character*32 isubname 69a70 > integer ierror_return 74a76 > character*32 cmo_name 77,81d78 < < integer icharlnf < < character*32 cmo_name < character*32 isubname 82a80,82 > C####################################################################### > C > integer icharlnf 85c85 < C BEGIN begin --- > C cmo_create_dir.f 53a54 > C 60a62 > C cmo_create.f cmo_delatt_cmo.f cmo_delatt_def.f cmo_delatt.f cmo_derive.f 78,79c78,80 < < C arguments (cmo_name1,cmo_name2,ierror_return) --- > C > C####################################################################### > C 80a82 > C 82c84 < --- > C 87,88c89,100 < integer i,ierror,icscode,ierr,len,natts,index,ilen,length < integer icharlnf --- > integer i, ierror, ierr, len,natts,index,ilen,length > character*32 partname > C > character*132 logmess > C > integer icscode > c > c list of attribute parameters for new mesh object > c for each of the names in defcmo_attparam_names > c > pointer (ipnew_attlist,new_attlist) > character*32 new_attlist(*) 99,107d110 < c < c list of attribute parameters for new mesh object < c for each of the names in defcmo_attparam_names < c < pointer (ipnew_attlist,new_attlist) < character*32 new_attlist(*) < < character*32 partname < character*132 logmess 110c113,116 < C BEGIN begin --- > C > integer icharlnf > C > C####################################################################### cmo_dump_cmo.f cmo_exist.f cmo_geometry.f cmo_get_attdef.f cmo_get_attinfo.f cmo_get_attparam.f cmo_get_attribute_name.f cmo_get_default_attparam.f cmo_get_index.f cmo_get_info.f cmo_get_intinfo.f cmo_get_length.f cmo_get_mesh_type.f cmo_get_name.f cmo_get_name_type.f cmo_get_num_io_att.f cmo_get_stdptrs.f cmo_length.f cmo_list.f cmo_memory.f cmo_minmax.f cmo_mm_error.f cmo_modatt_cmo.f cmo_modatt_def.f cmo_modatt.f cmo_move.f cmo_newlen.f cmo_node_elem_id.f cmo_readatt.f 9,17c9 < C Reads cmo attributes from a file < C Assume record style format with the same number of values per line < C There can be fewer attributes written than number of values < C The first values are used, the rest are not < C If there are more attributes listed than there are values < C then only the first nwords number of attributes are filled < C < C Note: the parser has a limited length which is near 25 words < C --- > C Reads cmo attributes from a file 19a12,15 > c if attr1, attr2 do not exist VDOUBLE attributes are > C created. > C if 'add' is specified then new nodes are added to the cmo > C if a pset is given, the specified nodes are modified 21,32c17,18 < C if attr1, attr2 do not exist VDOUBLE attributes are created. < C if 'add' is specified then new nodes are added to the cmo < C if a pset is given, the specified nodes are modified < C < C Lines of an input file that have # in the first column or that do not < C have a real or integer as their first word are skipped. < C < C each line is parsed and number of values saved in nwords < C number of attributes to write to is num_att < C num_att can be less than nwords < C the number of attributes written to can not be more than nwords < C number of valid attributes written to is itotal --- > C Lines of an input file that have # in the first column or that do not > C have a real or integer as their first word are skipped. 65c51,54 < C --- > integer ierror_return,icount,length,l,icscode,lenfile, > * i,j,ilen,itype,ierror,nvalues,lenout,iunit,npointsnew, > * npoints,istart,ityp,ipt1,ipt2,ipt3,mpno > C 66a56 > C 69,81c59 < character*32 cmsgin(nwds) < integer ierror_return < < integer nline, length,l,icscode,lenfile, < * i,j,ilen,itype,ierror,nwords,lenout,iunit,npointsnew, < * npoints,istart,ityp,ipt1,ipt2,ipt3,mpno < integer itotal, num_write < < C NOTE: 128 length is defined in getcmds.f of lg_util code. < integer NW_LENGTH < PARAMETER (NW_LENGTH = 128) < C < character*32 ich1,ich2,ich3 --- > character*32 cmsgin(nwds),ich1,ich2,ich3 98,104c76,81 < integer lenparse, nwds2, limin, limax < < integer msgt(NW_LENGTH) < real*8 xmsg(NW_LENGTH) < integer imsg(NW_LENGTH) < character*32 cmsg(NW_LENGTH) < character*32 att_list(NW_LENGTH) --- > integer lenparse, nwds2 > integer msgt(128) > real*8 xmsg(128) > integer imsg(128) > character*32 cmsg(128) > character*32 att_list(128) 134,135d110 < itotal = 0 < num_write = 0 188c163 < call writloga('default',0,logmess,0,ierror) --- > call writloga('default',1,logmess,0,ierror) 203c178 < call writloga('default',0,logmess,0,icscode) --- > call writloga('default',1,logmess,0,icscode) 207a183,184 > C > icount=0 209,210c186,188 < C nwords=nwds-7 < --- > C nvalues=nwds-7 > nvalues=0 > C 218c196 < call writloga('default',0,logmess,0,icscode) --- > call writloga('default',1,logmess,1,icscode) 223,227d200 < C READ FILE LINES < nwords=0 < nline=0 < limin = 0 < limax = 0 228a202 > C READ FILE LINES 239,254d212 < if (nline == 0) then < limin = lenparse < limax = lenparse < endif < < if (lenparse .le. 0) then < < write(logmess,'(a,i10)') < * "readatt: found 0 line length line number: ",nline+1 < call writloga('default',0,logmess,0,icscode) < write(logmess,'(a,i10)') < < else < < if (lenparse.gt.0 .and. lenparse.lt.limin) limin = lenparse < if (lenparse.gt.0 .and. lenparse.gt.limax) limax = lenparse 256d213 < C parse the line 258c215 < & imsg,msgt,xmsg,cmsg,nwds2) --- > & imsg,msgt,xmsg,cmsg,nwds2) 260,261c217,218 < if (nline .eq. 0) then < write(logmess,'(a,i5,a)')'readatt: reading ',nwds2, --- > if (icount .eq. 0) then > write(logmess,'(a,i5,a)')'readatt reading ',nwds2, 264,265d220 < nwords = nwds2 < 267,275c222,227 < C return with error < C xvalues expects the same number of values per line < if (nwds2 .ne. nwords) then < write(logmess,'(a,i5,a,i5,a,i5)') 'ERROR line: ', < & nline+1,' found ' < & ,nwds2,' values but expected ',nwords < call writloga('default',0,logmess,0,icscode) < ierror_return = -2 < goto 9999 --- > if (nwds2 .ne. nvalues) then > write(logmess,'(a,i5,a,i5)') 'ERROR: read found ' > & ,nwds2,' values but expected ',nvalues > call writloga('default',1,logmess,1,icscode) > ierror_return = -2 > goto 9999 277a230 > nvalues = nwds2 280c233 < nline=nline+1 --- > icount=icount+1 283c236 < if(nline*nwords.gt.length) then --- > if(icount*nvalues.gt.length) then 290c243 < call writloga('default',0,logmess,0,icscode) --- > call writloga('default',1,logmess,1,icscode) 296c249 < read(fline,*) (xvalues(nwords*(nline-1)+i),i=1,nwords) --- > read(fline,*) (xvalues(nvalues*(icount-1)+i),i=1,nvalues) 302c255 < call writloga('default',0,logmess,0,icscode) --- > call writloga('default',1,logmess,0,icscode) 304c257 < * 'ERROR character string at line ',nline+1 --- > * 'ERROR character string at line ',icount+1 310d262 < 312,315d263 < C end if valid type < < endif < C end if lenparse gt 0 324,347c272,277 < C report inconsistancies that may have caused read problems < < if (num_att .gt. nwords) then < write(logmess,'(a)') 'Warning readatt:' < call writloga('default',1,logmess,0,icscode) < write(logmess,'(a,i5)') < & ' Number of attributes: ', num_att < call writloga('default',0,logmess,0,icscode) < write(logmess,'(a,i5)') < & ' is greater than values read from each line: ',nwords < call writloga('default',0,logmess,0,icscode) < < if (limax.ne.limin) then < write(logmess,'(a,i10,a,i10)') < & ' Line lengths differ, min: ',limin, < & ' max: ',limax < call writloga('default',0,logmess,0,icscode) < endif < < if (limax.gt.750 .or. limin.gt.750) then < write(logmess,'(a,i10,a)') < & ' Line length: ',limax,' may exceed readable length.' < call writloga('default',0,logmess,0,icscode) < endif --- > if (icount .le. 0) then > write(logmess,'(a,a,i15)') 'ERROR: read failed: ', > & ' number of lines read from file: ',icount > call writloga('default',1,logmess,1,icscode) > ierror_return = -2 > goto 9999 349,350d278 < if (nline.le.0 ) goto 9999 < 365c293 < ilen=nline --- > ilen=icount 374c302 < call writloga('default',0,logmess,0,icscode) --- > call writloga('default',1,logmess,1,icscode) 380,381c308,309 < npointsnew=nline < do i=1,nline --- > npointsnew=icount > do i=1,icount 385c313 < ipointj=ipointj+nline --- > ipointj=ipointj+icount 392c320 < npointsnew=nline+npoints --- > npointsnew=icount+npoints 394c322 < ipointj=ipointj+nline --- > ipointj=ipointj+icount 400c328 < do i=1,nline --- > do i=1,icount 404,405c332,333 < npointsnew=nline+npoints < do i=1,nline --- > npointsnew=icount+npoints > do i=1,icount 410,411c338,339 < npointsnew=nline+ipt1-1 < do i=1,nline --- > npointsnew=icount+ipt1-1 > do i=1,icount 422c350 < npointsnew=max(npoints,nline,mpary1(mpno)) --- > npointsnew=max(npoints,icount,mpary1(mpno)) 441a370,371 > C > C 445,454c375,376 < C on the command line and can be less than nwords read from file < num_write = min(num_att,nwords) < < C process equal number of values and attributes < C if values read > num_att, write < C write to first num_att attributes out of total < C if values read < num_att, < C write to first nwords attributes out of total < < do i=1,num_write --- > C on the command line and can be less than nvalues read from file > do i=1,num_att 457,468d378 < C to avoid problems adding unecessary extra attribute < C which would not be recognized and written to because < C it is assumed to be one of these cmo reserved words < if(cmoatt(1:icharlnf(cmoatt)).eq.'imt')cmoatt='imt1' < if(cmoatt(1:icharlnf(cmoatt)).eq.'itp')cmoatt='itp1' < if(cmoatt(1:icharlnf(cmoatt)).eq.'icr')cmoatt='icr1' < if(cmoatt(1:icharlnf(cmoatt)).eq.'isn')cmoatt='isn1' < if(cmoatt(1:icharlnf(cmoatt)).eq.'ign')cmoatt='ign1' < if(cmoatt(1:icharlnf(cmoatt)).eq.'xic1')cmoatt='xic' < if(cmoatt(1:icharlnf(cmoatt)).eq.'yic1')cmoatt='yic' < if(cmoatt(1:icharlnf(cmoatt)).eq.'zic1')cmoatt='zic' < 489,490c399,400 < write(logmess,'(a,2x,i5,2x,a)') 'readatt filling attribute: ', < & i,cmoatt(1:icharlnf(cmoatt)) --- > write(logmess,'(a,a)') 'readatt filling attribute: ', > & cmoatt(1:icharlnf(cmoatt)) 494c404 < do j=1,nline --- > do j=1,icount 496c406 < iarray(mpary1(j))=int(xvalues(nwords*(j-1)+i)) --- > iarray(mpary1(j))=int(xvalues(nvalues*(j-1)+i)) 498c408 < xarray(mpary1(j))=xvalues(nwords*(j-1)+i) --- > xarray(mpary1(j))=xvalues(nvalues*(j-1)+i) 506d415 < itotal = itotal + 1 524,541d432 < < C each line is parsed and number of values saved in nwords < C number of attributes to write to is num_att < C num_att can be less than nwords < C the number of attributes written to can not be more than nwords < C number of valid attributes written to is itotal < < < write(logmess,'(a,i5,a,i5,a)') < * 'File values used: ',num_write,' out of ', < * nwords,' from each line.' < call writloga('default',0,logmess,0,icscode) < < write(logmess,'(a,i5,a,i5,a)') < * 'File values written to ',itotal,' out of ', < * num_att,' attributes.' < call writloga('default',0,logmess,0,icscode) < 544,564c435,442 < if (nline.le.0 .or. ierror_return.ne.0) then < write(logmess,'(a,a,i15)') 'ERROR readatt: read failed: ', < & ' number of lines read from file: ',nline < call writloga('default',0,logmess,0,icscode) < endif < < if (itotal.eq.0 .or. itotal.lt.num_write ) then < write(logmess,'(a,a,i15)') < & 'ERROR readatt: attributes failed: ', < & ' number of attributes written: ',itotal < call writloga('default',0,logmess,0,icscode) < endif < < if (ierror_return.ne.0) then < write(logmess,'(a)') 'ERROR readatt: early exit.' < call writloga('default',0,logmess,0,icscode) < < else < write(logmess,'(a,i5,a,i15,a)') 'END readatt: reading ', < * nwords,' values from ',nline," lines." < call writloga('default',0,logmess,0,icscode) --- > write(logmess,'(a,i5,a,i15,a)') 'END readatt: ', > * nvalues," attribute values from ",icount," lines." > call writloga('default',0,logmess,1,icscode) > > if (icount .le. 0 .or. ierror_return.ne.0) then > write(logmess,'(a,i3)') 'ERROR readatt: early exit.', > * ierror_return > call writloga('default',0,logmess,1,icscode) cmo_readdump_cmo.f cmo_readdump_cmo_old.f cmo_release.f 110d109 < ierror_return = 0 122d120 < C NOTE: This is not an error, just return 128,132c126,128 < ierror_return=0 < write(logmess,'(a,a)') < * 'Mesh Object release skipped, ' // < * 'it does not exist: ', < * cmo_name(1:icharlnf(cmo_name)) --- > ierror_return=-1 > C > write(logmess,'(a,a)') 'Mesh Object does not exist: ', cmo_name 139,141c135,136 < write(logmess,'(a,a)') ' Released Mesh Object: ', < * cmo_name(1:icharlnf(cmo_name)) < call writloga('default',0,logmess,0,ierr) --- > write(logmess,'(a,a)') ' Released Mesh Object: ', cmo_name > call writloga('default',0,logmess,0,ierr) cmo_report.f cmo_select.f cmo_setatt.f 180,184c180,192 < < C arguments (imsgin,xmsgin,cmsgin,msgtype,nwds,ierror) < integer nwds, ierror < integer imsgin(nwds), msgtype(nwds) < REAL*8 xmsgin(nwds) --- > c > c####################################################################### > c > c > pointer ( ipmpary1 , mpary1(1) ) > pointer (ipitp1,itp1(1000000)) > pointer (ipisetwd,isetwd(1000000)) > pointer (ipxtetwd,xtetwd(1000000)) > integer itp1,isetwd,xtetwd > integer mpary1 > c > integer nwds, imsgin(nwds), msgtype(nwds) > REAL*8 xmsgin(nwds) 186,195c194,196 < < C variables < < pointer ( ipmpary1 , mpary1) < pointer (ipisetwd,isetwd) < pointer (ipxtetwd,xtetwd) < integer mpary1(*),isetwd(*),xtetwd(*) < pointer (ipitp1,itp1) < integer itp1(*) < --- > C > pointer(ipxfield,xfield) > real*8 xfield(*) 200,208c201,202 < pointer(ipxfield,xfield) < real*8 xfield(*) < < pointer (ipout,out) < real*8 out(*) < < real*8 xvalue,xmin,xmax,rout < < integer ntets,length,icmotype,cmonmlen --- > C > integer ntets,length,icmotype,ierror,cmonmlen 215a210,212 > pointer (ipout,out) > real*8 out(*) > c 217,218c214 < < integer icharlnf --- > real*8 xvalue,xmin,xmax,rout 220d215 < 222,223d216 < data NOWRITE, VALUES, LIST, MINMAX /0,1,2,3/ < 225c218,219 < --- > integer icharlnf > c 231a226,228 > > data NOWRITE, VALUES, LIST, MINMAX /0,1,2,3/ > c 234c231 < c BEGIN begin --- > c cmo_set_attinfo.f cmo_set_attparam.f cmo_set_default.f cmo_set_info.f cmo_set_mesh_type.f cmo_set_name.f cmo_status.f cmo_verify_cmo.f cmo_verify_def.f cmo_verify.f coefficient.f compute.f 32c32 < integer nwds, ierror, ierrw --- > integer nwds, ierror 52,59c52,54 < < call distance_field < & (imsgin,xmsgin,cmsgin,msgtype,nwds,ierror) < < write(logmess,'(a)')'COMPUTE distance_field: Done.' < call writloga('default',0,logmess,0,ierrw) < return < --- > call distance_field > & (imsgin,xmsgin,cmsgin,msgtype,nwds,ierror) > return 61,72c56 < < call distance_field_signed < & (imsgin,xmsgin,cmsgin,msgtype,nwds,ierror) < write(logmess,'(a)')'COMPUTE distance_field_signed: Done.' < call writloga('default',0,logmess,0,ierrw) < return < < elseif(cmsgin(2) .eq. 'linear_transform' .or. < & cmsgin(2) .eq. 'linear_extrapolate' )then < < cmsgin(2) = 'linear_transform' < call linear_transform --- > call distance_field_signed 74,77c58,62 < write(logmess,'(a)')'COMPUTE linear_transform: Done.' < call writloga('default',0,logmess,0,ierrw) < return < --- > return > elseif(cmsgin(2) .eq. 'linear_transform')then > call linear_transform > & (imsgin,xmsgin,cmsgin,msgtype,nwds,ierror) > return conbld.f connect2d_lg.f 149,150d148 < < character*8 cglobal,cdefault 153a152,153 > > character*8 cglobal,cdefault connect.f 347d346 < character*8 cglobal,cdefault 353a353 > character*8 cglobal,cdefault conset.f constrainv.f contable.f control_command_lg.f 74,76c74 < integer ierror < < integer icscode,nwds,jname,istrt,iend,i,nloop --- > integer ierror,icscode,nwds,jname,istrt,iend,i,nloop 130c128 < if(command(1:6).eq.'finish') then --- > if(command(1:len_cmd).eq.'finish') then 137d134 < 251d247 < ierror = 0 coordsys.f copyatt_mpary_lg.f copypts.f correctpc.f coupling_coef_wrapper.f cr_add.f cr_copy.f create_graph.f createpts_lg.f crush_thin_tets.f csl.f cycle_lg.f damp_pt_by_value.f damp_pt_by_volume.f delaunay2d_lg.f delaunay_connect2d_lg.f delaunay_connect.f delaunay.f derefine.f diagnl.f diamond.f dict_assign.f dihangle_element.f dihangle_face.f distance_field.f distance_field_signed.f distance_lg.f distance_to_sheet_lg.f do_command.f do_extract.f doping.f dopmat.f dotask.f dotaskx3d.f dot_product_6_planes.f dumpavs.f dumpchad.f dumpdatex.f dumpexodusII.f dumpfehm.f dump_fehm_geom.f dumpflotran.f dumpgeofest.f dump_geometries_lg.f dump_globals_lg.f dumpgmv_hybrid.f dump_interface_list.f dumpinventor.f dump_lagrit.f dump_material_list.f dump_multi_mat_con.f dump_outside_list.f dump_parent_list.f dumpstl.f dumptecplot_hybrid.f edgefun_lg.f edgelst.f edit.f elliptic2d.f eltlimc.f eorpt.f erradpt.f eset.f esug2d.f eullag3.f evaluate_sobolevnorm.f excavate.f exita.f extract_interface.f extract_isosurface.f extract_line.f extract_network.f extract_plane.f extract_surfmesh.f extrude.f face.f 3a4 > implicit real*8 (a-h,o-z) 56,57d56 < implicit none < C 61,67d59 < < C arguments (num,i1,i2,j1,j2,j3) < integer num,i1,i2,j1,j2,j3 < < C variables < integer ierror,lenitet,icmotype < fadpt.f field_compose.f field_dumpmfe.f field.f field_scale.f field_volavg.f filholes.f 6a7 > character*132 logmess 72,78d72 < < C arguments (ipiholes,nholes,ipdum,npoints,ntets) < integer nholes,npoints,ntets < pointer(ipiholes , iholes) < pointer(ipdum , dum) < integer iholes(*),dum(*) < 81a76,86 > integer ierrfls,it2,it2sum,ierrdum,it1sum,it1,jtemp,itetnum, > * ier,leni,i1,i2,i3,i4,ierror,length,icmotype,i,j,k,npoints,ntets, > * nholes,iholes,dum,iatt,natt,nlen,lout,itout,it,itold,index > integer icharln > real*8 crosx1,crosy1,crosz1 > real*8 volume,volit1,volit2 > pointer( ipiholes , iholes(1) ) > pointer( ipdum , dum(1) ) > character*4 if1,if2,if3,if4 > character*32 isubname,ctype,crank,cattr_name,clength,cio,cpers, > * cinter 84,85c89,90 < < pointer (ipxcmo,xcmo) --- > C > pointer (ipxcmo,xcmo),(ipxcmo,icmo),(ipxcmo,ccmo) 87d91 < pointer (ipxcmo,icmo) 89d92 < pointer (ipxcmo,ccmo) 92,100c95 < integer ierrfls,it2,it2sum,ierrdum,it1sum,it1,jtemp,itetnum, < * ier,leni,i1,i2,i3,i4,ierror,length,icmotype,i,j,k, < * iatt,natt,nlen,lout,itout,it,itold,index < < integer icharln < < real*8 crosx1,crosy1,crosz1 < real*8 volume,volit1,volit2 < --- > C ###################################################################### 114,119d108 < character*132 logmess < character*32 isubname,ctype,crank,cattr_name,clength,cio,cpers, < * cinter < character*4 if1,if2,if3,if4 < < C ###################################################################### 297,300d285 < write(logmess,'(a,i14)') < * ' filholes: reset number of elements: ',ntets < call writloga('default',0,logmess,0,ierrdum) < 305,307d289 < write(logmess,'(a)') < * ' filholes: call tetestd for consistency check.' < call writloga('default',0,logmess,0,ierrdum) filter_elem_graph.f 70,71d69 < < C arguments 75,77c73,79 < < C variables < --- > character*132 logmess > character*1024 cmdmess > character*10 c_int > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > real*8 xic(*), yic(*), zic(*) 89d90 < 91c92,95 < integer ierr,nelements,ilen,ityp,it,ioff,ityp2,ioff2 --- > real*8 r > character*32 cmo,isubname > integer ierr,icscode,nelements,ilen,ityp,it,ioff > integer ityp1, ityp2, ioff1, ioff2 94,98d97 < < character*10 c_int < character*32 cmo,isubname < character*132 logmess < character*1024 cmdmess 101,103d99 < C BEGIN begin < C < filter.f 160a161 > character*132 logmess 173,174d173 < integer ierror < 175a175 > integer ierror 183c183 < --- > C 186c186 < --- > C 189c189 < --- > C 194c194 < --- > C 200c200,201 < --- > C > C 203c204,210 < --- > C > pointer(ipxfield,xfield) > real*8 xfield(1000000) > pointer(ipxfield,ifield) > integer ifield(1000000) > > C 206c213 < --- > C 209c216,228 < --- > pointer (ipxicf, xicf) > pointer (ipyicf, yicf) > pointer (ipzicf, zicf) > real*8 xicf(1000000), yicf(1000000), zicf(1000000) > real*8 xnoise > C > C####################################################################### > C > integer ipt1, ipt2, ipt3 > character*32 ich1,ich2,ich3 > C > character*32 isubname, cmo > C 212c231 < --- > C 215c234 < --- > C 218,231c237 < < pointer(ipxfield,xfield) < real*8 xfield(*) < pointer(ipxfield,ifield) < integer ifield(*) < < pointer (ipxicf, xicf) < pointer (ipyicf, yicf) < pointer (ipzicf, zicf) < real*8 xicf(*), yicf(*), zicf(*) < real*8 xnoise < REAL*8 dsmin, dsmin1 < < integer ipt1, ipt2, ipt3 --- > C 232a239 > REAL*8 dsmin, dsmin1 237c244 < --- > C 239c246 < --- > C 242,243d248 < character*32 ich1,ich2,ich3 < character*32 isubname, cmo 245d249 < character*132 logmess 249c253,256 < C BEGIN begin --- > C > C > C####################################################################### > C 614c621,622 < integer length, icscode --- > character*32 isubname > C 619d626 < 620a628 > integer length, icscode 623d630 < 632,633d638 < character*32 isubname < C 635d639 < C BEGIN begin 962a967 > character*132 logmess 965c970 < integer isn1(*) --- > integer isn1(1000000) 968c973 < integer itp1(*) --- > integer itp1(1000000) 971c976 < integer isetwd(*) --- > integer isetwd(1000000) 976c981 < REAL*8 xic(*), yic(*), zic(*) --- > REAL*8 xic(1000000), yic(1000000), zic(1000000) 981c986 < integer itettyp(*), itetoff(*), jtetoff(*) --- > integer itettyp(1000000), itetoff(1000000), jtetoff(1000000) 983c988 < integer itet1(*) --- > integer itet1(1000000) 985c990 < integer jtet1(*) --- > integer jtet1(1000000) 988c993 < integer ialias(*) --- > integer ialias(1000000) 991c996 < integer iparent(*) --- > integer iparent(1000000) 994c999 < integer ialiasf(*) --- > integer ialiasf(1000000) 998c1003 < real*8 xicf(*), yicf(*), zicf(*) --- > real*8 xicf(1000000), yicf(1000000), zicf(1000000) 1006d1010 < character*132 logmess 1011d1014 < C BEGIN begin filterkd.f 61a62 > character*132 logmess 95,100d95 < pointer (ipxicf, xicf) < pointer (ipyicf, yicf) < pointer (ipzicf, zicf) < real*8 xicf(*), yicf(*), zicf(*) < real*8 xnoise < C 106a102 > C 115c111,118 < --- > pointer (ipxicf, xicf) > pointer (ipyicf, yicf) > pointer (ipzicf, zicf) > real*8 xicf(*), yicf(*), zicf(*) > real*8 xnoise > C > C####################################################################### > C 116a120,122 > character*32 ich1,ich2,ich3 > C > character*32 isubname, cmo 142a149 > REAL*8 dsmin, dsmin1 143a151 > logical mapped,badmerge,changed,nocheck 146,149d153 < < logical badmerge,changed,nocheck < < REAL*8 dsmin, dsmin1 152,154d155 < character*132 logmess < character*32 ich1,ich2,ich3 < character*32 isubname, cmo 157c158,160 < C BEGIN begin --- > C > C > C####################################################################### find2to2.f 4c4 < --- > implicit real*8 (a-h,o-z) 59,60d58 < C < implicit none 65,76d62 < < C arguments (it1,it2,i1,i2,i3,i4,i5,id,jd,npoints,ntets) < integer it1,it2,i1,i2,i3,i4,i5, npoints,ntets < integer id(8),jd(8) < < C variables < C < integer ipos(2,2) < integer ierror,ierrwrt,lenitet,icmotype,lenjtet,i,it, < * isum1,isum2,isum3,isum4,isum5,ict12,ict45 < < 79c65,69 < C BEGIN begin --- > C > dimension id(8),jd(8),ipos(2,2) > C > C ###################################################################### > C find2to3.f 4a5 > implicit real*8 (a-h,o-z) 71,72d71 < implicit none < 76,86c75,78 < < C arguments (it1,ipos1,it2,ipos2,it3,id,jd,npoints,ntets,ierflg) < integer it1,ipos1,it2,ipos2,it3,npoints,ntets,ierflg < integer id(12),jd(12) < < C variables < < integer i1,i2,i3,i4,i5,if,j1,j2,j3,l1,l2,l3,k1,k2,k3 < integer ierror,ierrwrt,lenitet,icmotype,lenjtet,i,it, < * isum1,isum2,isum3,isum4,isum5,ict12,ict45,ict123 < --- > C > C ###################################################################### > C > dimension id(12),jd(12) find3to2.f 4a5 > implicit real*8 (a-h,o-z) 70,71d70 < implicit none < C 78,96c77,78 < C arguments it1,ipos,it2,it3,id,jd,flag,npoints,ntets < integer it1,ipos,it2,it3,flag,npoints,ntets < integer id(12),jd(12) < < C variables < < integer i1,i2,i3,i4,i5 < integer ierror,ierrwrt,lenitet,icmotype,lenjtet,i,it, < * isum1,isum2,isum3,isum4,isum5,ict12, < * j,k,length,lenxic, lenyic,lenzic,ipos1,ipos2,ipos3, < * ipos4,ict345 < < real*8 xst,xn,yn,zn,xa,ya,za,x3,y3,z3,x7,y7,z7,sn,s3,s7, < * dot1,dot2 < < < C statement functions < < real*8 crosx1,crosy1,crosz1 --- > dimension id(12),jd(12) > C 105c87 < C BEGIN begin --- > C find4to4.f 5a6 > implicit real*8 (a-h,o-z) 70,71d70 < implicit none < C 75,89c74,77 < < C arguments (it1,iepos,it2,it3,it4,i1,i2,i3,i4,i5,i6, < C iopt,id,jd,id2,jd2, < C npoints,ntets,ierflg) < < integer it1,iepos,it2,it3,it4,i1,i2,i3,i4,i5,i6,iopt < integer id(16),jd(16),id2(16),jd2(16) < integer npoints,ntets,ierflg < < C variables < < integer ipos(2,4) < < integer ierror,lenitet,icmotype,lenjtet,i,ict12,ict35,ict46, < * it,isum1,isum2,isum3,isum5,isum4,isum6,ierrwrt --- > C > C ###################################################################### > C > dimension id(16),jd(16),id2(16),jd2(16),ipos(2,4) findface.f 4a5 > implicit none 80c81,82 < implicit none --- > C > C ###################################################################### 90,93c92,93 < C arguments (itt,iposbest,npoints,ntets) < integer itt,iposbest,npoints,ntets < < C variables --- > C > character*8 isubname 95,108c95,102 < < C pointer (ipiitmp , iitmp(4,1)) < C pointer (ipjjtmp , jjtmp(4,1)) < C pointer (ipkttmp , kttmp(1) ) < C pointer (ipiisave, iisave(1) ) < C pointer (ipjjsave, jjsave(1) ) < pointer (ipiitmp , iitmp) < pointer (ipjjtmp , jjtmp) < pointer (ipkttmp , kttmp) < pointer (ipiisave, iisave) < pointer (ipjjsave, jjsave) < integer iitmp(4,*),jjtmp(4,*),kttmp(*),iisave(*),jjsave(*) < < --- > real*8 distp(6) > pointer (ipiitmp , iitmp(4,1)) > pointer (ipjjtmp , jjtmp(4,1)) > pointer (ipkttmp , kttmp(1) ) > C > pointer (ipiisave, iisave(1) ) > pointer (ipjjsave, jjsave(1) ) > real*8 crosx1,crosy1,crosz1,volume,distsq 113,116c107,110 < * ,itetcnto < < real*8 distp(6) < real*8 xlarge,dmin,volit,volitk --- > integer itt,iposbest,npoints,ntets, > * iitmp,jjtmp,kttmp,iisave,jjsave,itetcnto > real*8 xlarge > real*8 dmin,volit,volitk 119,122c113,117 < < C MACROS. statement functions < < real*8 crosx1,crosy1,crosz1,volume,distsq --- > C > C ###################################################################### > C > C MACROS. > C 134,136d128 < < C < character*8 isubname 139c131 < C BEGIN begin --- > C finishbasis.f fix_small_tets.f fix_small_triangles_lg.f flbound.f flimc.f flip1to0.f 2,3c2,4 < subroutine flip1to0(it1,npoints,ntets) < C --- > subroutine flip1to0(it1, > * npoints,ntets) > implicit real*8 (a-h,o-z) 54d54 < implicit none 59,67d58 < < C arguments (it1,npoints,ntets) < integer it1,npoints,ntets < < C variables < integer i,j,k,i1,i2,i3,i4 < integer ierror,length,icmotype,lenitp1,lenxic,lenyic,lenzic, < * lenitet,lenjtet,iepos,ip1,ip2,ip3,ip4,itsum, < * ierrdum,ione 69c60,61 < logical itsttp --- > C ###################################################################### > C 71,75c63,66 < < real*8 volit < < C MACROS statement functions < real*8 crosx1,crosy1,crosz1,volume --- > logical itsttp > C > C ###################################################################### > C 85c76 < --- > C 87c78 < C BEGIN begin --- > C flip2to0.f 2,3c2,9 < subroutine flip2to0(it1,it2,npoints,ntets) < C --- > subroutine flip2to0(it1,it2, > * npoints,ntets) > implicit none > integer it1,it2,npoints,i,j,k,i1,i2,i3,i4,ierror,length,icmotype, > * it1sum,it2sum,ierrdum,ierrfls,jtemp,itemp,jpack,ipack,ione, > * ntets > real*8 volit1,volit2,volume,crosx1,crosy1,crosz1 > character*8 if1,if2,if3,if4 58,59d63 < implicit none < C 63,74d66 < < C arguments (it1,it2,npoints,ntets) < integer it1,it2,npoints,ntets < < C variables < integer i,j,k,i1,i2,i3,i4,ierror,length,icmotype, < * it1sum,it2sum,ierrdum,ierrfls,jtemp,itemp,jpack,ipack,ione < < character*8 if1,if2,if3,if4 < < real*8 volit1,volit2 < 79d70 < real*8 crosx1,crosy1,crosz1,volume 91c82 < C BEGIN begin --- > C flip2to2.f 2,4c2,4 < subroutine flip2to2(it1,it2,id,jd,npoints,ntets) < < C --- > subroutine flip2to2(it1,it2,id,jd, > * npoints,ntets) > implicit real*8 (a-h,o-z) 53,54d52 < implicit none < C 58,67c56,61 < < C arguments (it1,it2,id,jd,npoints,ntets) < integer it1,it2,npoints,ntets < integer id(8),jd(8) < < C variables < integer i,j,k,i1,i2,i3,i4 < integer ierror,length,icmotype,lenimt1,lenitet,lenjtet, < * lenxic,lenyic,lenzic,lenitetclr,ier, < * jd2,jd4,jd7,jd8 --- > C > C ###################################################################### > C > dimension id(8),jd(8) > C > C ###################################################################### 71d64 < real*8 crosx1,crosy1,crosz1,volume flip2to3.f 2c2,3 < subroutine flip2to3(it1,it2,it3,id,jd,npoints,ntets) --- > subroutine flip2to3(it1,it2,it3,id,jd, > * npoints,ntets) 3a5 > implicit none 65d66 < implicit none 70,79c71,74 < < C arguments (it1,it2,it3,id,jd,npoints,ntets) < integer it1,it2,it3,npoints,ntets < integer id(12),jd(12) < < C variables < < integer jtemp,i,j,k,i1,i2,i3,i4,leni,icmotype,ierror, < * icscode,it1sum,it2sum,it3sum < --- > C > C ###################################################################### > C > integer it1,it2,it3,npoints,ntets,id(12),jd(12) 81c76 < --- > c character*132 logmess 82a78,81 > integer jtemp,i,j,k,i1,i2,i3,i4,leni,icmotype,ierror, > * icscode,it1sum,it2sum,it3sum > C > C ###################################################################### 97c96 < C BEGIN begin --- > C flip3to2.f 0a1,2 > subroutine flip3to2(it1,it2,it3,id,jd, > * npoints,ntets) 2,3c4 < subroutine flip3to2(it1,it2,it3,id,jd,npoints,ntets) < C --- > implicit real*8 (a-h,o-z) 51d51 < implicit none 56,66c56,60 < < C arguments (it1,it2,it3,id,jd,npoints,ntets) < integer it1,it2,it3,npoints,ntets < integer id(12),jd(12) < < C variables < < integer i,j,k,i1,i2,i3,i4 < integer ierror,length,icmotype,lenimt1,lenxic,lenyic,lenzic, < * lenitetclr,lenitet,lenjtet,ier,ione,k1,k2,jtemp < --- > C > C ###################################################################### > C > dimension id(12),jd(12) > C 70,71c64 < < real*8 crosx1,crosy1,crosz1,volume --- > C flip4to4.f 2c2,3 < subroutine flip4to4(it1,it2,it3,it4,id,jd,npoints,ntets) --- > subroutine flip4to4(it1,it2,it3,it4,id,jd, > * npoints,ntets) 3a5 > implicit real*8 (a-h,o-z) 52d53 < implicit none 57,66c58,61 < < C arguments (it1,it2,it3,it4,id,jd,npoints,ntets) < integer it1,it2,it3,it4,npoints,ntets < integer id(16),jd(16) < < C variables < integer i,j,k,i1,i2,i3,i4 < integer ierror,length,icmotype,lenimt1,lenxic,lenyic,lenzic, < * lenitetclr,lenitet,lenjtet,ier,k1,k2,k3,k4,jtemp < --- > C > C ###################################################################### > C > dimension id(16),jd(16) 72d66 < real*8 crosx1,crosy1,crosz1,volume flipbdyc.f 3a4 > implicit none 93d93 < implicit none 99,106c99,101 < < C arguments (nbdyfc,n3to2i,n4to4i,n2to3i,n2to3,n2to0, < C npoints,ntets,toldamage) < integer nbdyfc,n3to2i,n4to4i,n2to3i,n2to3,n2to0, < * npoints,ntets < real*8 toldamage < < C variables --- > C > C ###################################################################### > C 109,117d103 < < pointer (ipielts,ielts) < integer ielts(*) < pointer (ipiparent,iparent) < integer iparent(*) < pointer (ipitetoff,itetoff) < pointer (ipjtetoff,jtetoff) < integer itetoff(*),jtetoff(*) < 120,121c106,107 < < integer ierror,i,j,k,iposfnd,length,icmotype, --- > integer nbdyfc,n3to2i,n4to4i,n2to3i,n2to3,n2to0, > * ierror,npoints,ntets ,i,j,k ,iposfnd,length,icmotype, 129,132c115,117 < < real*8 volit,crosx1,crosy1,crosz1,volume,dot,dlen2, < * zn2,yn2,xn2,dlen1,xn1,yn1,zn1,volit2,xst,volit4,volit3 < --- > real*8 toldamage,crosx1,crosy1,crosz1,volume,dot,dlen2, > * zn2,yn2,xn2,dlen1,xn1,yn1,zn1,volit2,xst,volit4,volit3, > * volit 133a119,125 > pointer (ipielts,ielts) > integer ielts(*) > pointer (ipiparent,iparent) > integer iparent(*) > pointer (ipitetoff,itetoff) > pointer (ipjtetoff,jtetoff) > integer itetoff(*),jtetoff(*) 153,154d144 < C BEGIN begin < C flp2to0b.f 2,3c2,5 < subroutine flp2to0b(it1,ipos1,it2,npoints,ntets) < C --- > subroutine flp2to0b(it1,ipos1,it2, > * npoints,ntets) > implicit none > character*8 if1,if2,if3,if4 65d66 < implicit none 73,77d73 < < C arguments (it1,ipos1,it2,npoints,ntets) < integer it1,ipos1,it2,npoints,ntets < < C variables 80,82c76 < integer ichain0(nmulti),imt0(nmulti) < integer ipts(3),ix(3),jd(3),kd(3) < --- > dimension ichain0(nmulti),imt0(nmulti),ipts(3),ix(3),jd(3),kd(3) 84c78,79 < * i,j,k,i1,i2,i3,i4,ier,it1sum,it2sum,ierrdum, --- > * it1,it2,ipos1,npoints,ntets,i,j,k,ichain0,imt0, > * ipts,ix,jd,kd,i1,i2,i3,i4,ier,it1sum,it2sum,ierrdum, 86d80 < 103,104d96 < character*8 if1,if2,if3,if4 < C flp2to3b.f 0a1,2 > subroutine flp2to3b(it1,it2,it3,id,jd, > * npoints,ntets) 2,3c4 < subroutine flp2to3b(it1,it2,it3,id,jd,npoints,ntets) < C --- > implicit none 74d74 < implicit none 81c81 < C arguments (it1,it2,it3,id,jd,npoints,ntets) --- > C 83,84c83 < < C variables --- > character*4 if1,if2,if3,if4 86,87c85,86 < integer i,j,k,i1,i2,i3,i4,icscode,it1sum,it2sum,ierrfls,it3sum < --- > character*8 cpart > character*132 logmess 88a88 > integer i,j,k,i1,i2,i3,i4,icscode,it1sum,it2sum,ierrfls,it3sum 104,106d103 < character*4 if1,if2,if3,if4 < character*8 cpart < flp2to3i.f 3a4 > implicit none 61d61 < implicit none 66,70c66,69 < < C arguments (it1,it2,it3,ibdytet,id,jd,npoints,ntets) < integer it1,it2,it3,ntets,npoints,id(12),jd(12) < < C variables --- > C > C ###################################################################### > C > integer it1,it2,it3,ntets,npoints,ibdytet, id(12),jd(12) 73c72 < * it1sum,it2sum,it3sum,ibdytet --- > * it1sum,it2sum,it3sum flp3to2i.f 3a4 > implicit real*8 (a-h,o-z) 54d54 < implicit none 60,68c60,63 < < C arguments (it1,it2,it3,id,jd,npoints,ntets) < integer it1,it2,it3,npoints,ntets < integer id(12),jd(12) < < C variables < integer i,j,k,i1,i2,i3,i4 < integer ierror,icmotype,jtemp,length,lenimt1,lenxic, < * lenyic,lenzic,lenitetclr,ier,lenitet,lenjtet,ione,k1,k2 --- > C > C ###################################################################### > C > dimension id(12),jd(12) 74d68 < real*8 crosx1,crosy1,crosz1,volume 86c80 < C BEGIN begin --- > C flp4to4i.f 3a4 > implicit real*8 (a-h,o-z) 55d55 < implicit none 60,69c60,63 < < C arguments < integer it1,it2,it3,it4,npoints,ntets < integer id(16),jd(16) < < C variables < integer i,j,k,i1,i2,i3,i4 < integer ierror,length,lenimt1,lenxic,k1,k2,k3,k4, < * lenyic,lenzic,lenitetclr,ier,lenitet,lenjtet, < * icmotype,jtemp --- > C > C ###################################################################### > C > dimension id(16),jd(16) 75d68 < real*8 crosx1,crosy1,crosz1,volume 87c80 < C BEGIN begin --- > C fnd2to3b.f 113,117d112 < C arguments < integer it1,ipos1,it2,ipos2,it3,npoints,ntets < integer id(12),jd(12) < < C variables 120,123c115,120 < < integer ichain0(nmulti),imt0(nmulti) < integer ix(3),kpts(3),conopt(9) < --- > integer id(12),jd(12),ix(3),ichain0(nmulti),imt0(nmulti), > * kpts(3),conopt(9) > character*8 inodes(1),cdefname > character*32 cvelnm,cdensnm,cpresnm,isubname > logical itsttp > logical ifvels,ifdens,ifpres 125c122 < real*8 xcontab(9,*) --- > real*8 xcontab(9,1000000) 129c126 < real*8 vels(3,*),dens(*),pres(*) --- > real*8 vels(3,1000000),dens(1000000),pres(1000000) 132,136c129,130 < < real*8 wnorm,unew,vnew,wnew,vnorm,unorm,third < < integer iout,ilen,ityp,leni,icmotype,ier, < * ione,i5,j1,j3,icr,jtemp,l1,l2,l3,k1,k2,k3,ipos, --- > integer iout,ilen,ityp,leni,icmotype,ier,it1,ipos1,it2,it3, > * npoints,ione,i5,j1,j3,icr,jtemp,l1,l2,l3,k1,k2,k3,ipos, 139,140c133,134 < * k,ict,ipar,i,imtx2,imtx1,j2,nintero,ipari1,newi5 < --- > * k,ict,ipar,i,imtx2,imtx1,j2,nintero,ipari1,newi5,ntets,ipos2 > real*8 wnorm,unew,vnew,wnew,vnorm,unorm,third 149,156d142 < < C####################################################################### < C < logical itsttp < logical ifvels,ifdens,ifpres < < character*8 inodes(1),cdefname < character*32 cvelnm,cdensnm,cpresnm,isubname 159c145 < C BEGIN begin --- > C fnd2to3i.f 3a4 > implicit real*8 (a-h,o-z) 75d75 < implicit none 80,86c80,82 < < C arguments < integer it1,ipos1,it2,it3,ibdytet,npoints,ntets < integer id(12),jd(12) < < C variables < integer nmulti --- > C > C ###################################################################### > C 88,97c84,87 < integer ichain1(nmulti),imt1a(nmulti) < < integer icmotype,ier,ierror, < * length,lenimt1,lenisn1,lenitetclr,lenitet,lenjtet, < * ipos2,i1,i2,i3,i4,indx,imtx,kndx,m,n1,n2,i5,j1,j2,j3, < * k1,k2,jtemp,k,kpt,ict,ipar,icscode,ict123,ict45,it, < * isum1,isum2,isum3,isum4,isum5,ierrwrt,l1,l2,l3,k3 < < #################################################################### < C BEGIN begin --- > dimension ichain1(nmulti),imt1a(nmulti),id(12),jd(12) > C > C ###################################################################### > C fnd3to2i.f 3a4 > implicit real*8 (a-h,o-z) 80,81d80 < implicit none < C 85,90c84,86 < < C arguments < integer it1,ipos,it2,it3,iflip,npoints,ntets < integer id(12),jd(12) < < integer nmulti --- > C > C ###################################################################### > C 92,104c88 < integer ichain1(nmulti),imt1a(nmulti) < integer kpts(4) < < integer i,j,k < integer ierror,length,icmotype,lenimt1,lenxic,lenyic, < * lenzic,lenitetclr,ier,lenitet,lenjtet,ipos1,ipos2, < * ipos3,ipos4,jtemp2,i5,imtx,kpt,ict,ipar,m,i1,i2, < * i3,i4,jtemp4,jtemp8,ict12,it,ict345,isum1,isum2, < * isum3,isum4,isum5,ierrwrt,jtemp3 < < real*8 xst,xn,yn,zn,xa,ya,za,x3,y3,z3,x7,y7,z7,sn,s3,s7, < * dot1,dot2 < --- > dimension kpts(4),ichain1(nmulti),imt1a(nmulti),id(12),jd(12) 106d89 < real*8 crosx1,crosy1,crosz1 fnd4to4i.f 4a5 > implicit none 69d69 < implicit none 74,80c74,76 < < C arguments fnd4to4i(it1,it2,it3,it4,i1,i2,i3,i3b,i4,i5,i6, < C id,jd, npoints,ntets) < integer it1,it2,it3,it4,i1,i2,i3,i3b,i4,i5,i6,npoints,ntets < integer id(16),jd(16) < < C variables --- > C > C ###################################################################### > C 83,90c79,85 < < integer ichain1(nmulti),imt1a(nmulti) < integer kpts(3) < integer ipos(2,4) < < integer m,ierror,length,icmotype,kpt,imtx,k,ict,ipar,i0, < * i1b,i2b,ict12,isum1,isum2,isum3, < * ierrwrt,isum6,isum5,isum4,it,ict35,ict46,i5b --- > integer kpts(3),ichain1(nmulti),imt1a(nmulti),id(16),jd(16), > * ipos(2,4) > integer m,ierror,length,icmotype,kpt,imtx,k,ict,ipar,i0,i1,i2,i3, > * i4,i5,i6,i1b,i2b,ict12,isum1,isum2,isum3,npoints,ntets, > * it1,it2,it3,it4,ierrwrt,isum6,isum5,isum4,it,ict35,ict46,i5b, > * i3b > integer iposfnd,min0 96d90 < integer iposfnd,min0 101c95 < C BEGIN begin --- > C fndface2.f 3a4 > implicit none 87d87 < implicit none 93,110c93,105 < < C arguments < integer itt1,itt2,itt3,ibdytet,iposbest,npoints,ntets < integer id1(12),jd1(12) < < C variables < integer itets(3),id(12),jd(12) < < pointer (ipiitmp , iitmp) < pointer (ipjjtmp , jjtmp) < pointer (ipkttmp , kttmp) < integer iitmp(4,*),jjtmp(4,*),kttmp(*) < < pointer (ipiisave, iisave) < pointer (ipjjsave, jjsave) < integer iisave(*),jjsave(*) < < integer i,j,k,i1,i2,i3,i4,ierror,length, --- > C > C ###################################################################### > C > character*8 isubname > integer itets(3),id1(12),jd1(12),id(12),jd(12) > pointer (ipiitmp , iitmp(4,1)) > pointer (ipjjtmp , jjtmp(4,1)) > pointer (ipkttmp , kttmp(1) ) > C > pointer (ipiisave, iisave(1) ) > pointer (ipjjsave, jjsave(1) ) > integer iitmp,jjtmp,kttmp, > * iisave,jjsave,i,j,k,i1,i2,i3,i4,ierror,length, 113c108,111 < * itx,ifposx,it2,ifpos2,it3,ninvrt, --- > * itx,ifposx,it2,ifpos2,it3,ninvrt > real*8 volitk,volit,crosx1,crosy1,crosz1,xlarge,alargenumber, > * volume,distsq > integer itt1,itt2,itt3,ibdytet,iposbest,npoints,ntets, 115,116d112 < < real*8 volitk,volit,xlarge,alargenumber 122d117 < real*8 crosx1,crosy1,crosz1,volume,distsq 135,136d129 < character*8 isubname < C forcedmove.f freemove.f fset.f geniee.f 148c148,150 < implicit none --- > implicit real*8 (a-h, o-z) > C > character*132 logmess 152,170d153 < < C arguments itet1,jtet1,jtet2, < C nen,nef, < C nelements,nnodes, < C nsd, < C nnodes_max,nelements_max) < < integer nen,nef,nelements,nnodes,nsd,nnodes_max,nelements_max < integer itet1(nen*nelements) < integer jtet1(nef*nelements) < integer jtet2(nef*nelements) < < < < C variables < pointer (ipitface, itface) < pointer (ipifface, ifface) < integer itface(*), ifface(*) < 174,181c157,164 < < integer itettyp,ierrwrt,jtettyp,length,icscode,i,it,ifsum,j, < * j1,isum,nodemax1,nodemin1,nodesum1,nodemax2,nodesum2, < * nodesum3,k,jt,jf,modemax1,modemax2,modemin1,modesum2, < * modesum3,modesum1 < < < character*132 logmess --- > pointer (ipitface, itface) > pointer (ipifface, ifface) > integer itface(*), ifface(*) > C > integer itet1(nen*nelements) > integer jtet1(nef*nelements) > integer jtet2(nef*nelements) > C 185c168 < C BEGIN begin --- > C geo_help.f geometry_create_lg.f geometry_release_lg.f getbit.f getchain.f getdof.f getedges.f get_elements_around_node.f get_elements_on_edge.f 55a56,57 > character*132 logmess > C 57,61c59,63 < < C arguments (itin,iein,nelts,ipelts,ipedges, < C ipitetoff,ipjtetoff,ipitet,ipjtet,ipitettyp,ipiparent,nef,mbndry) < < integer itin,iein,nelts,nef,mbndry --- > C > C ###################################################################### > C > C > integer nelts,itin,iein,numinc 69a72 > C 75,77d77 < < C < C ###################################################################### 80c80 < * ie,ip1,ip2,ilen1, --- > * ie,ip1,ip2,nef,ilen1, 82c82 < * iff,ifold,ifnew,j, --- > * iff,ifold,ifnew,j,mbndry, 84,86c84 < * jt,idir,nfstart,nf1,numinc < < character*132 logmess --- > * jt,idir,nfstart,nf1 90c88 < C BEGIN begin --- > C 562,563d559 < C NOTE 2D has only one face so looping gives unpredictable result < C replaced do j=1,ielmface0(nf,ittyp) with j = 1 571,579c567,575 < j = 1 < ie=ielmface2(j,nf,ittyp) < i1=itet1(itetoff(itt)+ielmedge1(1,ie,ittyp)) < i2=itet1(itetoff(itt)+ielmedge1(2,ie,ittyp)) < i1=iparent(i1) < i2=iparent(i2) < if(i1.eq.ip1.and.i2.eq.ip2.or. < * i2.eq.ip1.and.i1.eq.ip2) then < iff=nf --- > do j=1,ielmface0(nf,ittyp) > ie=ielmface2(j,nf,ittyp) > i1=itet1(itetoff(itt)+ielmedge1(1,ie,ittyp)) > i2=itet1(itetoff(itt)+ielmedge1(2,ie,ittyp)) > i1=iparent(i1) > i2=iparent(i2) > if(i1.eq.ip1.and.i2.eq.ip2.or. > * i2.eq.ip1.and.i1.eq.ip2) then > iff=nf 625c621 < C enddo - loop removed, there is just one face for 2d --- > enddo get_epsilon.f geteset.f getfset.f get_global.f getgsynth.f getiedge.f get_info_i.f get_material_info.f get_material_number.f get_materials_around_node.f getmpary.f getnodhyb.f getnoditet1.f getnoditet.f getnodjtet.f getnodnod.f getpset.f getptyp.f getreg.f getregv1.f getregv.f getuv.f getvoloff.f get_xcontab.f getxyz.f gradient.f grid2grid.f grid_to_grid.f helpdic.f hess3d.f hextotet_att.f hextotet_hybrid.f hmemadjb.f hmemphy.f identify_dot.f ifaceptv.f ifacereg.f ifacerfl.f initnbr.f 2a3 > implicit none 46d46 < implicit none 65,67c65 < < integer izero,ione,idum1 < character*8 cdum2 --- > integer izero,ione,idum1,idum2 70c68 < C BEGIN begin --- > C 73,76d70 < cdum2='-notset-' < izero=0 < ione=1 < idum1=0 208,209c202 < C corrected cdum2 from integer to character cdum2 < call mflip(izero,idum1,cdum2) --- > call mflip(izero,idum1,idum2) insertll.f inside_element.f inside_lg.f int_edge.f inter2.f inter3.f inter4.f interior_edge.f interp_lg.f interpolate_hessian.f intersect_cmo.f intersect_elements.f intradd.f intrp_element.f intrp_element_mat.f intrp_gtg.f iprecision_lg.f isosurface.f kdtree0.f kdtree_cmo.f kdtree.f kdtreeselect.f killcode.f lagrit_fdate.f lagrit_main.f laplace2d.f linear_trans.f 20d19 < C old option was called linear_extrapolate 99c98 < & 'ERROR COMPUTE linear_transform: Wrong number of arguments.' --- > & 'ERROR lin_trans: Wrong number of arguments.' 105,107c104,105 < write(logmess,'(a,a)') < & 'ERROR COMPUTE linear_transform: ', < & 'Argument 3 must be of type character.' --- > write(logmess,'(a)') > & 'ERROR lin_trans: Argument 3 must be of type character.' 113,115c111,112 < write(logmess,'(a,a)') < & 'ERROR COMPUTE linear_transform: ', < & ' Argument 4 must be of type character.' --- > write(logmess,'(a)') > & 'ERROR lin_trans: Argument 4 must be of type character.' 122,124c119,120 < write(logmess,'(a,a)') < & 'ERROR COMPUTE linear_transform: ', < & 'Argument 5 must be of type character.' --- > write(logmess,'(a)') > & 'ERROR lin_trans: Argument 5 must be of type character.' 132,134c128,129 < write(logmess,'(a,a)') < & 'ERROR COMPUTE linear_transform: ', < & 'Argument 6 must be of type character.' --- > write(logmess,'(a)') > & 'ERROR lin_trans: Argument 6 must be of type character.' 646c641 < cmd = 'cmo/release/main_mo_lin_ext_tmp ; finish' --- > cmd = 'cmo/release/main_mo_lin_ext_tmp; finish' 649c644 < cmd = 'cmo/release/surf_mo_lin_ext_tmp ; finish' --- > cmd = 'cmo/release/surf_mo_lin_ext_tmp; finish' 652c647 < cmd = 'cmo/release/hull_mo_lin_ext_tmp ; finish' --- > cmd = 'cmo/release/hull_mo_lin_ext_tmp; finish' 655c650 < cmd = 'cmo/release/top_mo_lin_ext_tmp ; finish' --- > cmd = 'cmo/release/top_mo_lin_ext_tmp; finish' 658c653 < cmd = 'cmo/release/bot_mo_lin_ext_tmp ; finish' --- > cmd = 'cmo/release/bot_mo_lin_ext_tmp; finish' lineline.f lineseg_inter.f lineseglineseg.f linesegtri.f loop_lg.f lower_d_lg.f ltripedge.f make_big_tet.f make_bigtri_lg.f make_face_vertex_list.f mask_icr.f massage2.f diff: /home/tam/src/clone/lagrit/src/massage2.f: No such file or directory massage.f 27c27,30 < C $Log: /pvcs.config/t3d/src/massage.f_a $ --- > C $Log: massage.f,v $ > C Revision 2.00 2007/11/05 19:46:00 spchu > C Import to CVS > C 350,351c353,356 < < C arguments --- > > integer lenptr > parameter (lenptr=1000000) > 355,366c360 < integer ierror < < C variables < integer lenptr < parameter (lenptr=1000000) < < integer locdebug < parameter (locdebug=1) < < logical lcompresswherepossible < parameter (lcompresswherepossible=.true.) < --- > C 367a362,363 > real*8 xmsginsave(3) > character*32 cmsginsave(3) 369,370c365 < pointer (ipitp1, itp1) < integer itp1(*) --- > integer ierror,ierrw 371a367,370 > character*132 logmess > pointer (ipitp1, itp1) > integer itp1(lenptr) > C 373,374c372 < integer mpary(*),out(*) < --- > integer mpary(lenptr),out(*) 376c374 < integer ireal1(*),irealold(*) --- > integer ireal1(lenptr),irealold(lenptr) 377a376 > character*32 cmo,isubname,cout 379,388c378,379 < & nnodes,ierrdum,i,nnodesold,iout,ierr, < & j,nsd_topo,len_nnodes,inc, field_option,ierrw < < integer icharlnf, maxagditer < < real*8 xmsginsave(3) < < real*8 bisection_length,merge_length,toldamage,tolar,epsilonl, < & tolroughness,range < --- > & nnodes,ierrdum,i,nnodesold,iout, > & ierr,j,nsd_topo,len_nnodes,inc 392,395c383,385 < < character*32 cmsginsave(3) < character*32 comend, psetname, cmode, field_name < character*32 cmo,isubname,cout --- > real*8 bisection_length,merge_length,toldamage,tolar,epsilonl, > & tolroughness,range > character*32 comend, psetname, cmode 397,401c387,394 < character*132 logmess < < C ################################################################ < C BEGIN begin < C --- > > integer maxagditer > > integer locdebug > parameter (locdebug=1) > > logical lcompresswherepossible > parameter (lcompresswherepossible=.true.) 403a397 > C 406d399 < field_option = 0 441,445d433 < < if (msgtype(2) .eq. 3) then < field_name = cmsgin(2) < field_option = 1 < else 471d458 < endif 480d466 < 784,796d769 < if (field_option .ne. 0) then < cbuf = 'cmo/DELATT/' // cmo(1:icharlnf(cmo)) // < & '/rf_field_name; finish' < call dotaskx3d(cbuf, ierror) < cbuf = 'cmo/addatt/' // cmo(1:icharlnf(cmo)) // < & '/rf_field_name; finish' < call dotaskx3d(cbuf, ierror) < cbuf = 'cmo/setatt/' // cmo(1:icharlnf(cmo)) // < & '/rf_field_name////' // field_name// ';finish' < call dotaskx3d(cbuf, ierror) < call cel_chain_f(cmo, field_name, toldamage, mpary, mpno, < & inclusive, psetname, cmode, ierror) < else 799d771 < endif matbld0tri.f 80a81,83 > character*132 logmess > C > C 102,104c105,106 < < C arguments (nneg,ipineg,ierr1) < integer nneg,ierr1 --- > C > integer ierr1 106,108c108,109 < integer ineg(2,*) < < C variables --- > integer nneg, ineg(2,1000000) > C 112,113c113,115 < integer imt1(*), itp1(*), isn1(*) < --- > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) 117a120,121 > integer imt1(*), itp1(*), isn1(*) > real*8 xic(*), yic(*), zic(*) 120,125c124,129 < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < --- > c > C > C####################################################################### > C > C > C 134,135d137 < integer isort(*) < 138c140,141 < integer icolmat(*), irowmat(*) --- > pointer (ipisendnn, isendnn) > pointer (ipxsendnn, xsendnn) 141,149c144,145 < integer irowcnt(*), irowoff(*) < pointer (ipnmat, nmat) < integer nmat(*) < pointer (ipimat, imat) < integer imat(*) < pointer (ipidxmat, idxmat) < integer idxmat(*) < < pointer (ipisendnn, isendnn) --- > integer isort(*) > integer icolmat(*), irowmat(*) 151d146 < pointer (ipxsendnn, xsendnn) 152a148,151 > integer irowcnt(*), irowoff(*) > c > character*32 cmo, isubname > integer idebug 156,157c155,156 < pointer (ipxmat, xmat) < real*8 xmat(*) --- > pointer (ipnmat, nmat) > integer nmat(*) 160c159,167 < --- > pointer (ipimat, imat) > integer imat(*) > pointer (ipxmat, xmat) > real*8 xmat(*) > pointer (ipidxmat, idxmat) > integer idxmat(*) > integer nconn,length,indxmin,ncoefs,i1,i2,i3,it,index,i, > * nen,nef,n12,itype,icscode,nsd,nnmax,indxmax,ierrw, > * icount,j 167,175d173 < < integer ierror,ierr,ityp,ilen,npoints,ntets, < * ipackopt,idiag < < integer idebug < integer nconn,length,indxmin,ncoefs,i1,i2,i3,it,index,i, < * nen,nef,n12,itype,icscode,nsd,nnmax,indxmax,ierrw, < * icount,j < 177a176,178 > real*8 crosx,crosy,crosz,a,b,c,d,e,f,xfactri > integer ierror,ierr,ityp,ilen,npoints,ntets, > * ipackopt,idiag 185d185 < real*8 crosx,crosy,crosz,a,b,c,d,e,f,xfactri 192,193d191 < character*132 logmess < character*32 cmo, isubname 196d193 < C BEGIN begin 199d195 < isubname='matbld0tri' 220c216 < write(logmess,'(a,i5)')"matbl0tri idebug set to: ",idebug --- > write(logmess,'(a,i5)')"debug option set to: ",idebug 267c263 < call mmgetblk("iparent",isubname,ipiparent,length,1,icscode) --- > call mmgetblk("iparent",isubname,ipiparent,length,2,icscode) 269c265 < call mmgetblk("itetp",isubname,ipitetp,length,1,icscode) --- > call mmgetblk("itetp",isubname,ipitetp,length,2,icscode) 518,519d513 < < print*,'assign ineg ',nneg 572,576d565 < < if (idebug.gt.0) then < print*,isubname < call mmprint() < endif matbld1.f 74c74 < character*32 isubname --- > character*8 isubname matbld2d_stor.f matbld3d_stor.f math.f math_integrate.f math_sum.f medianpts_lg.f mega2d.f 41,48d40 < < C arguments (cmo,mpary,mpno,ctrl,igeom,ierror) < character*32 cmo < integer mpno,igeom,ierror < integer mpary(*) < real*8 ctrl < < C variables 50,55d41 < real*8 alf,tolx < parameter (alf=1.d-4,tolx=1.d-7) < < integer innerit < parameter (innerit=4) < 58c44,47 < --- > > integer mpary(lenptr) > > character*132 logmess 62,75d50 < pointer (ipitet, itet) < pointer (ipitetoff, itetoff) < pointer (ipitettyp, itettyp) < integer itp1(*) < integer isn1(*) < integer itet(*) < integer itetoff(*) < integer itettyp(*) < < pointer (ipnoditet,noditet), (ipnoditetoff,noditetoff) < integer noditet(2,*),noditetoff(*) < pointer (ipireal1,ireal1) < integer ireal1(*) < 79,81c54,65 < real*8 xic(*) < real*8 yic(*) < real*8 zic(*) --- > pointer (ipitet, itet) > pointer (ipitetoff, itetoff) > pointer (ipitettyp, itettyp) > > integer itp1(lenptr) > integer isn1(lenptr) > real*8 xic(lenptr) > real*8 yic(lenptr) > real*8 zic(lenptr) > integer itet(lenptr) > integer itetoff(lenptr) > integer itettyp(lenptr) 84,85d67 < real*8 u(0:lenptr), v(0:lenptr) < 87,89c69,73 < real*8 xsave(*), ysave(*), zsave(*) < < pointer (ipwtnoditet,wtnoditet), (ipvoff,voff), --- > real*8 u(0:lenptr), v(0:lenptr), > & xsave(lenptr), ysave(lenptr), zsave(lenptr) > > pointer (ipnoditet,noditet), (ipnoditetoff,noditetoff), > & (ipwtnoditet,wtnoditet), (ipvoff,voff), 91c75,78 < real*8 wtnoditet(*), voff(*), vcurr(*) --- > pointer (ipireal1,ireal1) > integer noditet(2,lenptr),noditetoff(lenptr), > & ireal1(lenptr) > real*8 wtnoditet(lenptr), voff(lenptr), vcurr(lenptr) 93,98c80 < pointer (ipout,out) < real*8 out(*) < < real*8 epsilona,rout < < real*8 tn1(3),eu1(3),ev1(3),tni(3),x1,y1,z1, --- > real*8 tn1(3),eu1(3),ev1(3),tni(3),ctrl,x1,y1,z1, 109c91 < integer nnodes,length,icmotype,nelements, --- > integer mpno,ierror,nnodes,length,icmotype,nelements, 113c95 < & ineghess,izeromov,ntri,nqud,nsimp,j,j1,j2,ii --- > & ineghess,izeromov,ntri,nqud,nsimp,j,j1,j2,ii,igeom 117c99,110 < c statement functions for the components of the cross product --- > integer innerit > parameter (innerit=4) > > real*8 epsilona > pointer (ipout,out) > real*8 alf,tolx,rout,out(*) > parameter (alf=1.d-4,tolx=1.d-7) > > character*32 cmo,cout > character*32 isubname > > 120c113,114 < --- > > c statement functions for the components of the cross product 136,141d129 < C < character*132 logmess < character*32 isubname,cout < < C ###################################################################### < C BEGIN begin 150d137 < if(nnodes.le.0) call x3d_error(isubname, 'get_info: 0 nodes') 153d139 < if(nelements.le.0) call x3d_error(isubname, 'get_info: 0 elems') 156,157d141 < if(mbndry.le.0) call x3d_error(isubname, 'get_info: 0 mbndry') < 166d149 < 188d170 < mega3d.f 124c124,127 < --- > > integer lenptr > parameter (lenptr=1000000) > 133,146c136 < C arguments (cmo,mpary,mpno,ctrl,action,cfield,climit1,climit2,climit3,ierror) < character*32 cmo,action,cfield,climit1,climit2,climit3 < integer mpary(*) < integer mpno,ierror < real*8 ctrl < < < < C variables < integer lenptr < parameter (lenptr=1000000) < logical lusefd,firsttot < parameter (lusefd=.false.) < --- > character*132 logmess 148,150d137 < pointer (ipitetclr, itetclr) < integer imt1(*), itetclr(*) < 154,155c141,144 < integer itp1(*), isn1(*), icr1(*) < --- > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > pointer (ipitetclr, itetclr) 159,166c148 < integer itet(*), itetoff(*), itettyp(*) < < pointer (ipnodhyb,nodhyb),(ipnodhyboff,nodhyboff) < integer nodhyb(*),nodhyboff(*) < < pointer (ipiparent,iparent) < integer iparent(*) < --- > integer imt1(lenptr) 168,169c150,174 < integer icontab(50,*) < --- > integer icontab(50,lenptr) > integer itp1(lenptr) > integer isn1(lenptr) > integer icr1(lenptr) > real*8 xic(lenptr) > real*8 yic(lenptr) > real*8 zic(lenptr) > integer itetclr(lenptr) > integer itet(lenptr) > integer itetoff(lenptr) > integer itettyp(lenptr) > > pointer (ipfvec,fvec), > & (ipinvmpary,invmpary),(ipichildary,ichildary), > & (ipinvchildary,invchildary),(ipieltary,ieltary), > & (ipreffield,reffield) > real*8 fvec(lenptr),reffield(lenptr) > integer mpary(lenptr),invmpary(lenptr),ichildary(lenptr), > & invchildary(lenptr),ieltary(lenptr) > > character*32 cmo,action,cmo1,climit1,climit2,climit3,blkname, > & cfield,geom_name > character*32 isubname > character*132 com > 171,182c176,186 < integer ninexact(*) < < pointer (ipinvmpary,invmpary) < pointer (ipichildary,ichildary) < pointer (ipinvchildary,invchildary) < pointer (ipieltary,ieltary) < integer invmpary(*),ichildary(*),invchildary(*),ieltary(*) < < pointer (iplocvoloff,locvoloff) < pointer (ipivoloffoff,ivoloffoff) < integer locvoloff(*),ivoloffoff(*) < --- > integer ninexact(lenptr) > pointer (ipireal1,ireal1) > integer ireal1(lenptr) > pointer (ipiparent,iparent) > integer iparent(lenptr) > pointer (ipnodhyb,nodhyb),(ipnodhyboff,nodhyboff) > integer nodhyb(lenptr),nodhyboff(lenptr) > pointer (ipvoloff,voloff),(iplocvoloff,locvoloff), > & (ipivoloffoff,ivoloffoff) > real*8 voloff(lenptr) > integer locvoloff(lenptr),ivoloffoff(lenptr) 186,202c190 < integer iedgeoff(*),iedge(*),iedgemat(*) < < pointer (ipireal1,ireal1) < integer ireal1(*) < < pointer (ipfvec,fvec) < pointer (ipreffield,reffield) < real*8 fvec(*),reffield(*) < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < < pointer (ipvoloff,voloff) < real*8 voloff(*) < --- > integer iedgeoff(lenptr),iedge(lenptr),iedgemat(lenptr) 204,212c192,195 < real*8 xsave(*),ysave(*),zsave(*) < < pointer (iphxx,hxx),(iphxy,hxy),(iphxz,hxz) < pointer (iphyy,hyy),(iphyz,hyz),(iphzz,hzz) < real*8 hxx(*),hxy(*),hxz(*),hyy(*),hyz(*),hzz(*) < < pointer(ipout,out) < real*8 out(*) < --- > real*8 xsave(lenptr),ysave(lenptr),zsave(lenptr) > pointer (iphxx,hxx),(iphxy,hxy),(iphxz,hxz),(iphyy,hyy),(iphyz,hyz > & ),(iphzz,hzz) > real*8 hxx(*),hxy(*),hxz(*),hyy(*),hyz(*),hzz(*),range 214,215c197,198 < & xmin,xmax,ymin,ymax,zmin,zmax,time,rout,range, < & volmin,volmax,vol6,err, --- > * xmin,xmax,ymin,ymax,zmin,zmax,time,rout, > & ctrl,volmin,volmax,vol6,err, 219d201 < real*8 absvoltol 221c203 < integer nnodes,length,icmotype,nelements, --- > integer mpno,ierror,nnodes,length,icmotype,nelements, 227c209 < & ii,ihyb,loctet,ierr, --- > & ii,ihyb,loctet, 229c211,220 < --- > pointer(ipout,out) > real*8 out(*) > > real*8 absvoltol > character*32 cout > character*132 cbuf > integer ierr > c > logical lusefd,firsttot > parameter (lusefd=.false.) 250,261c241 < < C < character*32 cmo1,blkname,geom_name < character*32 isubname < character*32 cout < character*132 com < character*132 cbuf < character*132 logmess < C < C ###################################################################### < C BEGIN begin < C --- > 291d270 < if (nnodes.le.0) call x3d_error(isubname,'get_info: 0 nodes') 294d272 < if (nelements.le.0) call x3d_error(isubname,'get_info: 0 elems') 297,298d274 < if (mbndry.le.0) call x3d_error(isubname,'get_info: 0 mbndry') < mega3d_inner_loop.f 61,62d60 < character*32 action < 64c62,65 < integer iedgeoff(*),iedge(*),iedgemat(*) --- > > real*8 xic(*) > real*8 yic(*) > real*8 zic(*) 67,69c68 < pointer (iplocvoloff,locvoloff), (ipivoloffoff,ivoloffoff) < integer locvoloff(*),ivoloffoff(*) < --- > real*8 fvec(*),reffield(*) 72a72,73 > character*32 action > 75,76c76,77 < < pointer (ipvoloff,voloff) --- > pointer (ipvoloff,voloff),(iplocvoloff,locvoloff), > & (ipivoloffoff,ivoloffoff) 78,82c79,81 < < real*8 xic(*) < real*8 yic(*) < real*8 zic(*) < real*8 fvec(*),reffield(*) --- > integer locvoloff(*),ivoloffoff(*) > > integer iedgeoff(*),iedge(*),iedgemat(*) 84,85c83,84 < real*8 hxx(*),hxy(*),hxz(*),hyy(*),hyz(*),hzz(*) < --- > > real*8 hxx(*),hxy(*),hxz(*),hyy(*),hyz(*),hzz(*),range 91,95c90 < & ,dzpoly,fdx,fdy,fdz,range < < real*8 absvoltol,relvoltol < real*8 pfval(-1:1,-1:1,-1:1) < --- > & ,dzpoly,fdx,fdy,fdz 97a93,94 > logical lplanar > 102a100,104 > real*8 absvoltol,relvoltol > c > logical lusefd > > real*8 pfval(-1:1,-1:1,-1:1) 116,123d117 < < logical lplanar < logical lusefd < < C < C ############################################################## < C BEGIN begin < C mega_error.f 48a49,50 > character*132 logmess > C 50a53,55 > character*40 isubname, cmo > character*8092 cbuff > C 60,61d64 < integer lelements(*) < 65,67c68 < real*8 xmegah(*), xmegadet(*), < * xmegaerr(*) < --- > integer lelements(*) 70c71,72 < --- > real*8 xmegah(*), xmegadet(*), > * xmegaerr(*) 72,78d73 < < character*32 isubname, cmo < character*132 logmess < character*8092 cbuff < C < C ############################################################## < C BEGIN begin mega_hessian.f 31a32,33 > character*132 logmess > C 35a38,40 > character*40 isubname, cmo > character*8092 cbuff > C 40c45 < --- > C 45c50 < --- > C 48,49c53,54 < real*8 xmegah(*), tmp(*) < --- > real*8 xmegah(*) > real*8 tmp(*) 53,57d57 < < character*32 isubname, cmo < character*132 logmess < character*8092 cbuff < 61,63d60 < C******************************************************** < C BEGIN begin < C 65d61 < igeom_gwt=0 68c64,67 < --- > call cmo_get_info('ivoronoi',cmo, > * ivoronoi,ilen,itype,icscode) > igeom_gwt=0 > if(ivoronoi.eq.-2) igeom_gwt=1 75,78d73 < < call cmo_get_info('ivoronoi',cmo, < * ivoronoi,ilen,itype,icscode) < if(ivoronoi.eq.-2) igeom_gwt=1 142,143d136 < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 147,155c140 < c < c Compute 2D Surface Hessian Matrix < c kpe = kdim = 3 < < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < < C arguments < integer nk,kdim --- > implicit integer (i-n),real*8 (a-h,o-z) 157,159d141 < integer nel,kpe < integer kel(kpe,nel) < integer ireg(nel) 160a143 > integer kel(kpe,nel),ireg(nel) 162,163c145,148 < < c variables --- > c > c Compute 2D Surface Hessian Matrix > c kpe = kdim = 3 > c 166,169c151 < < real*8 h0,vtv,a1,b1,scl,a2,b2,a11,a12,a21,a22, < * um,em,g11,g21,g22,det < integer ix,iy,k,it,k1,k2,k3,ie,i,j,iv,jv --- > integer edge(2,3) 171d152 < integer ne 173,174d153 < < integer edge(2,3) 179d157 < real*8 zero,one 182d159 < integer igeom_gwt 185,186d161 < c *********************************************** < c 343d317 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 347a322,327 > implicit integer (i-n),real*8 (a-h,o-z) > real*8 xic(nk),yic(nk),zic(nk) > real*8 h(kdim,kdim,nk) > integer ntri(n),mtri(m),kel(kpe,nel) > real*8 det(nel),err(nel) > logical flip 351,366d330 < c Triangle Errors < c < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < < c arguments < integer n,m,nk,kdim,nel,kpe < integer ntri(n),mtri(m) < real*8 en,em < real*8 xic(nk),yic(nk),zic(nk) < real*8 h(kdim,kdim,nk) < integer kel(kpe,nel) < real*8 det(nel),err(nel) < logical flip < < c variables 368,372c332 < < real*8 eps,area,geom,d11,d12,d22,esum, < * e1,e2,ehe,atol,etri < < integer ii,it,ie,i,iv,j,jv --- > integer edge(2,3) 374d333 < integer ne 376d334 < integer edge(2,3) 381d338 < real*8 zero,one 384d340 < integer igeom_gwt 387c343 < c ***************************************** --- > c Triangle Errors 522d477 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 525a481,485 > implicit integer (i-n),real*8 (a-h,o-z) > real*8 xic(nk),yic(nk),zic(nk) > real*8 h(kdim,kdim,nk) > integer ntri(n),kel(kpe,nel) > real*8 det(nel),err(nel) 529,541d488 < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < < c arguments < integer n,nk,kdim,nel,kpe < integer ntri(n) < real*8 xic(nk),yic(nk),zic(nk) < real*8 h(kdim,kdim,nk) < integer kel(kpe,nel) < real*8 det(nel),err(nel) < < c variables < 543,549d489 < < real*8 geom,d11,d12,d22,esum,e1,e2,ehe < < integer in,it,i,iv,j,jv,ie < < integer ne < data ne / 3 / 550a491,492 > c > data ne / 3 / 555d496 < real*8 zero,one 558d498 < integer igeom_gwt 561d500 < c **************************************************** 615,616d553 < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 619a557,561 > implicit integer (i-n),real*8 (a-h,o-z) > real*8 xic(nk),yic(nk),zic(nk) > real*8 h(kdim,kdim,nk),tmp(nk) > integer kel(kpe,nel),ireg(nel) > external fcn 623,634d564 < < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < < c arguments < integer nk,kdim,nel,kpe < real*8 xic(nk),yic(nk),zic(nk) < integer kel(kpe,nel),ireg(nel) < real*8 h(kdim,kdim,nk),tmp(nk) < external fcn < < c variables 636,642c566 < < real*8 h0,a11,a12,a21,a22, < * um,em,det,c33,det2,gxy,a23,c22, < * a13,a31,a32,a33,c11,c12,c13,c21,c23,c31,c32 < < integer ix,iy,k,it,k1,k2,k3,ie,i,j,iv,jv,k4 < --- > integer edge(2,6) 644d567 < integer ne 646d568 < integer edge(2,6) 654d575 < real*8 zero,one 657d577 < integer igeom_gwt 660,661d579 < c********************************************* < c 787d704 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 790a708,712 > implicit integer (i-n),real*8 (a-h,o-z) > real*8 xic(nk),yic(nk),zic(nk) > real*8 h(kdim,kdim,nk) > integer ntet(n),kel(kpe,nel) > real*8 det(nel),err(nel) 794,805d715 < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < < c arguments < integer n,nk,kdim,nel,kpe < integer ntet(n) < real*8 xic(nk),yic(nk),zic(nk) < real*8 h(kdim,kdim,nk) < integer kel(kpe,nel) < real*8 det(nel),err(nel) < < c variables 807,810c717 < < real*8 geom,cx,cy,cz,esum,e1,e2,ehe < < integer in,it,i,iv,j,jv,ie,i1,i2 --- > integer edge(2,6),face(2,4) 812d718 < integer ne,nf 815d720 < integer edge(2,6),face(2,4) 828d732 < real*8 zero,one 831d734 < integer igeom_gwt 834d736 < c ******************************************** 900,901d801 < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 905a806,811 > implicit integer (i-n),real*8 (a-h,o-z) > real*8 xic(nk),yic(nk),zic(nk) > real*8 h(kdim,kdim,nk) > integer ntet(n),mtet(m),kel(kpe,nel) > real*8 det(nel),err(nel) > logical flip 909,922d814 < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < < c arguments < integer n,m,nk,kdim,nel,kpe < real*8 en,em < integer ntet(n),mtet(m) < real*8 xic(nk),yic(nk),zic(nk) < real*8 h(kdim,kdim,nk) < integer kel(kpe,nel) < real*8 det(nel),err(nel) < logical flip < < c variables 924,928c816 < < real*8 vol,geom,eps,cx,cy,cz,esum,ehe,vtol, < * etet,e1,e2 < < integer i,ii,it,iv,j,jv,ie,i1,i2 --- > integer edge(2,6),face(2,4) 930d817 < integer ne,nf 933d819 < integer edge(2,6),face(2,4) 946d831 < real*8 zero,one 949d833 < integer igeom_gwt 952,953d835 < c **************************************************** < c 1110d991 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1111a993,994 > implicit integer (i-n),real*8 (a-h,o-z) > real*8 x(kdim) 1115,1122d997 < C implicit integer (i-n),real*8 (a-h,o-z) < implicit none < c arguments < integer kdim,ireg < real*8 x(kdim),f < c variables < integer k < 1125,1126d999 < < C*********************************************** mergelst.f mergepts_simplex.f metis_interface.f mflip.f 2c2,3 < subroutine mflip(memopt1,len,cname) --- > subroutine mflip(memopt1,len,ivec) > implicit real*8 (a-h,o-z) 17c18 < C cname - optional specific array --- > C ivec - optional specific array 38,39d38 < implicit none < C 41,48d39 < < C arguments (memopt1,len,cname) < integer memopt1,len < character*8 cname < < C variables < character*8 cnamf < integer ione,len4,ics 51d41 < C BEGIN begin 53,54c43,46 < C tam - added iremov increment, create, and release july 2012 < --- > character*8 ivec, cnamf > C > C ###################################################################### > C 59,61c51,52 < if(cname(1:6).eq.'iremov') then < call mmnewlen('iremov',cnamf,ipiopen ,len ,ics) < elseif(cname(1:5).eq.'iopen') then --- > if(ivec(1:6).eq.'iremov') then > elseif(ivec(1:5).eq.'iopen') then 63c54 < elseif(cname(1:6).eq.'ivacnt') then --- > elseif(ivec(1:6).eq.'ivacnt') then 65c56 < elseif(cname(1:4).eq.'tmp2') then --- > elseif(ivec(1:4).eq.'tmp2') then 67c58 < elseif(cname(1:6).eq.'irclst') then --- > elseif(ivec(1:6).eq.'irclst') then 71d61 < call mmrelblk('iremov',cnamf,ipiopen ,ics) 77d66 < call mmggetbk('iremov',cnamf,ipiopen ,ione,2,ics) mode_lg.f mregion.f msgtty.f 949,955d948 < elseif(idsb(1:lenidsb) .eq. 'massage2') then < C < C ************************************************************ < C massage2: AUTOMATIC REFINE/DE-REFINE. < C < call massage2(imsgout,xmsgout,cmsgout,msgtype,nwds,ierr2) < C 2458c2451 < c call dotask('recon2 ; finish',ierror_return) --- > c call dotask('recon2;finish',ierror_return) multi_material2d_lg.f multi_material.f nbrsmooth.f nearestpoint0.f nearestpoint.f neighbor_recolor_lg.f next_power_of_2.f nurbl.f nurbp.f nurbs.f occonv.f 57,58d56 < < C compile WARNING This statement can not be reached. 60d57 < ocgrdedg.f ocgrid.f ocmatmul.f ocmatpd1.f ocmatpd2.f ocmidpt.f ocnulvec.f offsetpara.f offsetsurf.f orderll.f packsi.f partition.f pcc_test.f perturb_lg.f pgg.f pntlimc.f pntlimn.f point_to_plane_lg.f polyfun.f popcnt.f popcomponents_lg.f popcones_lg.f precondition.f 22,40c22,27 < C implicit double precision (a-h, o-z) < C dimension AFP(ncoefs) < C dimension INDEX_ROW(ncoefs) < C dimension INDEX_COL(ncoefs) < C dimension UMAT(nrows), BMAT(nrows), XMAT(nrows) < C dimension DMAT(nrows) < < implicit none < < integer nrows, ncols, ncoefs, i < < real*8 AFP(ncoefs) < integer INDEX_ROW(ncoefs) < integer INDEX_COL(ncoefs) < real*8 UMAT(nrows), BMAT(nrows), XMAT(nrows) < real*8 DMAT(nrows) < < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC --- > implicit double precision (a-h, o-z) > dimension AFP(ncoefs) > dimension INDEX_ROW(ncoefs) > dimension INDEX_COL(ncoefs) > dimension UMAT(nrows), BMAT(nrows), XMAT(nrows) > dimension DMAT(nrows) primestep.f quadxy.f quadxyz.f quality.f qualxmmn.f queue.f radapt.f ran2_lg.f rand_lg.f rankvolume.f ranpts_lg.f readavs.f readdatex.f readdcm.f readdump.f read_fehm_zone.f readfile.f read_geometries_lg.f read_globals_lg.f readgmv_ascii.f readgmv_binary.f read_gocad_tsurf.f read_lagrit.f read_lagrit_geom_old.f read_lagrit_old.f readngphex.f readngptet.f readngptri.f readnurbs_iges_grid.f readruby_lg.f read_sheetij.f read_trilayers.f readvrml.f recon2d.f 56d55 < C 60,61c59 < < C arguments --- > C 63,65c61 < real*8 toldamage < logical lcheckaxy < real*8 epsilona --- > character*132 logmess 67,68d62 < integer ntri(10), mtri(10) < 72c66 < --- > C 74a69 > C 76,77d70 < integer itflag(*) < 81,82c74,77 < integer itetnn(3,*), itetnn1(3,*), itetnn2(3,*) < --- > integer itflag(*), > * itetnn(3,*), itetnn1(3,*), itetnn2(3,*) > C > character*32 isubname 86,87c81,83 < < real*8 dsmax,xv,yv,zv, --- > logical lcheckaxy > real*8 epsilona,toldamage, > * dsmax,xv,yv,zv, 91a88,91 > C > C ###################################################################### > C > logical flip 95,97c95,99 < real*8 xmegah(*), xmegadet(*), xmegaerr(*) < < logical flip --- > double precision xmegah(1000000), xmegadet(1000000), > * xmegaerr(1000000) > integer ntri(10), mtri(10) > C > C####################################################################### 99,100d100 < character*132 logmess < character*32 isubname 110,111c110 < < C useful functions - should be just ahead of any other statement functions --- > C 114,115d112 < C####################################################################### < C BEGIN begin 117a115 > C 207d204 < if (idebug.gt.1) call mmverify() 296c293,294 < if (az1.le.epsilona.or.az2.le.epsilona) iflag=0 --- > if (az1.le.epsilona.or.az2.le.epsilona) iflag > & =0 320d317 < if (idebug.gt.2) call mmverify() 336d332 < 360d355 < if (idebug.gt.1) call mmverify() recon2.f 1a2 > implicit none 2a4 > character*132 logmess 149d150 < implicit none 157,172c158 < < C arguments < integer npoints,ntets < real*8 toldamage < < C constants < real*8 alargenumber,asmallnumber,atolerance < parameter (alargenumber=1.0d+30) < parameter (asmallnumber=1.0d-30) < parameter (atolerance=1.0d-09) < < C variables < integer ntet(10), mtet(10),idnew(16),jdnew(16) < integer ipos(3),itets(4),id(12),jd(12) < integer invert(maxmerg) < --- > C 175,183c161,177 < integer itetoff(*), jtetoff(*) < < pointer(ipiopen, lst) < integer lst(*) < pointer (ipicontab,icontab) < integer icontab(50,*) < pointer (ipiholes,iholes) < integer iholes(*) < --- > integer itetoff(1000000), jtetoff(1000000) > C > C ###################################################################### > C > pointer( ipiopen , lst(1000000) ) > integer lst > C > integer ipos(3),itets(4),id(12),jd(12) > integer invert(maxmerg) > C > character*32 isubname > character*32 blkout, prtout > character*8 cglobal, cdefault > C > C ###################################################################### > C > logical flip, noicontab 187,189c181,186 < real*8 xmegah(*), xmegadet(*), xmegaerr(*) < < integer ierror,length,icmotype,ioptinv, --- > real*8 xmegah(1000000), xmegadet(1000000), > * xmegaerr(1000000) > integer ntet(10), mtet(10),idnew(16),jdnew(16) > pointer (ipiholes,iholes) > integer iholes(10000000) > integer npoints,ntets,ierror,length,icmotype,ioptinv, 213c210,212 < --- > pointer (ipicontab,icontab) > integer icontab(50,*) > logical itsttp 220c219 < * dist4,dist5,xa,ya,za,xb,yb,zb, --- > * toldamage, dist4,dist5,xa,ya,za,xb,yb,zb, 225d223 < 228,231c226,231 < * coordmax,t2,test1,distsq,voljt < < logical itsttp < logical flip, noicontab --- > * coordmax,t2,test1,distsq,voljt, > * alargenumber, asmallnumber, atolerance > character*32 cout > parameter (alargenumber=1.0d+30) > parameter (asmallnumber=1.0d-30) > parameter (atolerance=1.0d-09) 233,237d232 < character*132 logmess < character*32 isubname < character*32 blkout, prtout < character*32 cout < character*8 cglobal, cdefault 255d249 < 260d253 < C BEGIN begin 262c255 < isubname='recon2' --- > isubname='recon' 267,284d259 < C init some variables that may encounter write before set < n3to2i=0 < n4to4i=0 < n2to3i=0 < n2to3=0 < n2to0=0 < n2to2=0 < n3to2=0 < n2to3i=0 < n3to2i=0 < n3to2x=0 < n4to4=0 < n4to4i=0 < n2to0r=0 < n2to0b=0 < n1to0=0 < < C 286,287d260 < if (ierror.ne.0) call x3d_error(isubname,'get cmo name') < if (ierror.ne.0) call x3d_error(isubname,cmo) 291c264 < if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') --- > if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') 294c267 < if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') --- > if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') 297c270 < if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') --- > if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') 300c273 < if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') --- > if (icscode .ne. 0) call x3d_error(isubname,'get_info_i') 354,368d326 < < C TAM kfix should be correct length as set up in recon < ilen=max(1000,nint(1.7*4*length)) < call mmfindbk('kfix',isubname,ipkfix,lenfix,icscode) < < if(icscode.ne.0) then < if (idebug.ge.1) then < print*,'recon2: call mmgetblk for kfix' < endif < call mmgetblk('kfix',isubname,ipkfix,ilen,1,icscode) < else < if(lenfix.lt.length) then < call mmnewlen('kfix',isubname,ipkfix,length,icscode) < endif < endif 434d391 < 459d415 < 461c417,419 < call mmverify() --- > write(logdan,9000) niters > call writloga("bat",0,logdan,0,ierrdum) > 9000 format(' niters=',i10) 536d493 < call mmfindbk('megaerr',cmo,ipxmegaerr,lenout,icscode) 644,645c601 < 18 format (' recon2: number of 3to2 flips with ivoronoi=2 is: ' < * ,i14) --- > 18 format (' number of 3to2 flips with ivoronoi=2 is: ',i9) 716,717c672 < 28 format (' recon2: number of 2to3 flips with ivoronoi=2 is: ' < * ,i14) --- > 28 format (' number of 2to3 flips with ivoronoi=2 is: ',i9) 764,765c719 < 38 format (' recon2: number of 4to4 flips with ivoronoi=2 is: ' < * ,i14) --- > 38 format (' number of 4to4 flips with ivoronoi=2 is: ',i9) 1000,1002c954,955 < write(logmess,221) nflips < 221 format (' recon2: number of 2to2 flips with ivoronoi=2 is: ' < * ,i14) --- > write(logmess,221) nflips > 221 format (' number of 2to2 flips with ivoronoi=2 is: ',i9) 1009d961 < 1135d1086 < 1143,1145d1093 < C TAM note - original code would do nothing with iremov array < C this has been fixed to call mmincblk same as other arrays < 1149,1151d1096 < write (logmess,'(a,i10)') < * ' recon2: MFLIP NEWLEN FOR iremov with: ',lenremov < call writloga('default', 0, logmess, 0, ierr) 1153d1097 < 1161d1104 < C will land here at the end of most iterations 1311a1255 > 2016c1960 < 1003 format(' recon2: ntets= ',i8,' nface= ',i8,' nflips= ',i8) --- > 1003 format(' RECON:ntets= ',i8,' nface= ',i8,' nflips= ',i8) 2366,2372d2309 < < C report from subroutine in case need to follow code path < write (logmess,'(a,i14,i14)') < * ' recon2 set new node and element total: ', < * npoints,ntets < call writloga('default', 0, logmess, 0, ierr) < 2375d2311 < if (ierror.ne.0) call x3d_error(isubname,'cmo set info fail') recon.f 234c234,236 < implicit none --- > implicit real*8 (a-h,o-z) > C > character*132 logmess 240,246c242 < < C arguments < integer nwds, imsgin(nwds), msgtype(nwds) < real*8 xmsgin(nwds) < character*(*) cmsgin(nwds) < < C variables --- > C 250,253c246,247 < < pointer (ipitet, itet ) < integer itet(*) < --- > C > C 256,262c250,256 < < pointer (iptable2, table2 ) < integer table2(*) < < pointer (ipxcontab, xcontab ) < real*8 xcontab(*) < --- > C > C ###################################################################### > C > integer nwds, imsgin(nwds), msgtype(nwds) > real*8 xmsgin(nwds) > character*(*) cmsgin(nwds) > C 266d259 < 268d260 < 271d262 < character*132 logmess 274d264 < character*8 cdum 277c267 < C BEGIN begin --- > C 281d270 < cdum='-notset-' 283a273 > C 329c319 < if(ivoronoi.eq.5) go to 9999 --- > if(ivornoi.eq.5) go to 9999 345d334 < 446c435 < call mflip(99,idum,cdum) --- > call mflip(99,idum,idum) 448,450d436 < write(logmess,'(a)') 'RECON: done.' < call writloga('default',0,logmess,0,ier) < reconloop2d.f 88,90c88,90 < < C arguments (iobtuse,toldamage,lcheckaxy,epsilona) < integer iobtuse --- > C > integer iobtuse,ierror,nsdtopo,length,icmotype,i,nelements,icscode > & ,ierrmat,lenout 93,102d92 < C < integer iloop_max < parameter (iloop_max=50) < < pointer (ipineg, ineg) < integer nneg, ineg(2,*) < < integer ierror,nsdtopo,length,icmotype,i,nelements,icscode < & ,ierrmat,lenout < 107,108c97,101 < C ###################################################################### < C BEGIN begin --- > pointer (ipineg, ineg) > integer nneg, ineg(2,10000000) > > integer iloop_max > parameter (iloop_max=50) 111d103 < nneg = 0 130c122 < write(logmess,'(a,i5)') 'RECON2D reconnection loop2d: ',i --- > write(logmess,'(a,i5)') 'RECON2D reconnection loop: ',i 136,139d127 < < print*,isubname < print*,'ineg length: ',length,'nneg: ',nneg < 141c129 < call mmgetblk('ineg',isubname,ipineg,length,1,icscode) --- > call mmgetblk('ineg',isubname,ipineg,length,2,icscode) 143,144d130 < print*,'length: ',length,'nneg: ',nneg < 147d132 < 152d136 < 154,155c138 < print*,'2nd ineg length: ',length,'nneg: ',nneg < call mmgetblk('ineg',isubname,ipineg,length,1,icscode) --- > call mmgetblk('ineg',isubname,ipineg,length,2,icscode) 160d142 < 169,170d150 < print*,'length: ',length,'lout: ',lenout,'nneg: ',nneg < 175d154 < reconloop3d.f recvr20.f recvr23.f refine_cc_rivara.f 26d25 < C 28d26 < C 31,33d28 < < C variables < pointer (ipieadd,ieadd) 34a30 > pointer (ipieadd,ieadd) 36,42d31 < pointer (ipitpadd,itpadd) < pointer (ipicradd,icradd) < integer ieadd(*),iadd(*),itadd(*),itpadd(*),icradd(*) < < pointer (ipietet,ietet) < integer ietet(3,*) < 45a35,37 > pointer (ipitpadd,itpadd) > pointer (ipicradd,icradd) > integer ieadd(*),iadd(*),itadd(*),itpadd(*),icradd(*) 47c39,40 < --- > pointer (ipietet,ietet) > integer ietet(3,10000000) 49,50c42 < real*8 ncc(*) < --- > real*8 ncc(10000000) 55d46 < 59,60d49 < integer iparent(*),itp1(*),isn1(*) < 64,65c53 < integer itet(*),itetoff(*),itettyp(*) < --- > integer iparent(*),itp1(*),isn1(*),itet(*),itetoff(*),itettyp(*) 68,70d55 < < real*8 dist,maxcc < 71a57 > real*8 dist,maxcc 74,76d59 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin < C refine_coupling_coef.f 27d26 < C 29d27 < C 32d29 < C 35a33,35 > pointer (ipxadd,xadd) > pointer (ipyadd,yadd) > pointer (ipzadd,zadd) 39c39,45 < --- > real*8 xadd(*),yadd(*),zadd(*) > pointer (ipietet,ietet) > integer ietet(3,10000000) > pointer (ipxic,xic) > pointer (ipyic,yic) > pointer (ipzic,zic) > real*8 xic(*),yic(*),zic(*) 44,45d49 < integer iparent(*),itp1(*),icr1(*),isn1(*) < 49,65c53,54 < integer itet(*),itetoff(*),itettyp(*) < < pointer (ipietet,ietet) < integer ietet(3,*) < < pointer (ipxadd,xadd) < pointer (ipyadd,yadd) < pointer (ipzadd,zadd) < real*8 xadd(*),yadd(*),zadd(*) < < pointer (ipxic,xic) < pointer (ipyic,yic) < pointer (ipzic,zic) < real*8 xic(*),yic(*),zic(*) < < real*8 a,b,c,d,sf,au,bu,cu,xp,yp,zp,xproj,yproj,zproj < --- > integer iparent(*),itp1(*),isn1(*),itet(*),itetoff(*),itettyp(*), > * icr1(*) 69d57 < 70a59 > real*8 a,b,c,d,sf,au,bu,cu,xp,yp,zp,xproj,yproj,zproj 73,75d61 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin < C refine_edge_2d.f 2,3d1 < C This file has subroutines refine_edge_2d and refine2db < C 135,136c133 < implicit none < --- > implicit real*8 (a-h,o-z) 139,140c136,138 < < C arguments --- > C > character*132 logmess > C 142,149c140 < integer ierr1 < < C constants < integer nplen,nvalues < parameter (nplen=10000000) < parameter (nvalues=2) < < C variables --- > C 153,155c144,148 < integer imt1(*), itp1(*), isn1(*) < < --- > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > integer imt1(1000000), itp1(1000000), isn1(1000000) > dimension xic(1000000), yic(1000000), zic(1000000) 158,159c151 < integer itet(3,*), jtet(3,*) < --- > integer itet(3,1000000), jtet(3,1000000) 164,166c156,158 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > C 168c160,161 < integer iparent(*) --- > integer iparent(1000000) > C 170c163,164 < integer int1(*) --- > integer int1(1000000) > C 172,173d165 < integer itflag(*) < 177,178c169,170 < integer itetnn(3,*),itetnn1(3,*),itetnn2(3,*) < --- > integer itflag(1000000), > * itetnn(3,1000000), itetnn1(3,1000000), itetnn2(3,1000000) 182,184c174,178 < integer iedge_tet(*), iedge_face(*) < integer iedge_edge(*) < --- > integer iedge_tet(6*1000000), iedge_face(6*1000000), > * iedge_edge(6*1000000) > pointer (ipxedge, xedge) > real*8 xedge(6*1000000) > C 186,187c180,182 < integer int1add(*) < --- > integer int1add(1000000) > C > parameter (nvalues=2) 190,221d184 < integer list_sink(*), list_source(nvalues,*) < < integer ierror,ier,ierrw,ics,icscode,ierrwrt < integer ichk,ilen,ityp,ierr,idebug < integer npoints,length,icmotype,ntets,mbndry,nen,nef, < * icount,i,i1,i2,i3,i4, < * it,nedge,j,j1,j2,j3,l,l1,l2,l3, < * jt,jf,lit,li,iedge,nelementsmm,ntetsinc, < * nnodesmm < integer lenitetclr,lenitettyp,lenitetoff,lenjtetoff, < * lenitet,lenjtet,lenxic,lenyic,lenzic, < * lenimt1,lenitp1,lenisn1,ierrdum < integer nadd1,iedgeiter,npointsnew,ntetsnew,nedge_save < integer k,kf,kt,irefine,npointsinc,inc,inc1,inc2, < * kflast,ktlast,jcount,iflag, < * itstart,itlast,ifstart,iestart,iflast < < C < integer icharlnf < C < real*8 xfac,xdot,xdotl,ds23,ds2i,ds3i,ds1,ds2,ds3 < real*8 x1,y1,z1,x2,y2,z2,x3,y3,z3,xint,yint,zint < real*8 xa,ya,za,xb,yb,zb,xd,yd,zd,xn1,yn1,zn1, < * xn,yn,zn,rn,dotb3,dot3,rb3,ql,xl,yl,zl, < * xv,yv,zv,x23,y23,z23,xarea,var1, < * voltri,voltri1,voltri2 < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < 223,227c186,190 < real*8 xweight_source(nvalues,*) < < pointer (ipxedge, xedge) < real*8 xedge(*) < --- > integer list_sink(1000000), list_source(nvalues,1000000) > real*8 xweight_source(nvalues,1000000) > C > character*32 cmolength > character*32 isubname, iblknam, iprtnam 234d196 < real*8 xfactri 236d197 < 240d200 < real*8 crosx1,crosy1,crosz1,volume 251d210 < real*8 crosx,crosy,crosz,a,b,c,d,e,f 256,263d214 < character*132 logmess < character*32 cmolength < character*32 isubname, iblknam, iprtnam < < C ****************************************************************** < C BEGIN begin < C < isubname='refine_edge_2d' 267a219,222 > isubname='refine_edge_2d' > C > C ****************************************************************** > C 270d224 < if (ierror.ne.0) call x3d_error(isubname,'get info nnodes') 272,276d225 < if (ierror.ne.0) call x3d_error(isubname,'get info nelements') < < call cmo_get_info('idebug',cmo,idebug,length,icmotype,ierror) < if (idebug.gt.0) print*,isubname < 301c250 < call mmgetblk("iparent",isubname,ipiparent,length,1,icscode) --- > call mmgetblk("iparent",isubname,ipiparent,length,2,icscode) 311,314c260,261 < < print*,'getblk int1 ',isubname,length < call mmgetblk('int1',isubname,ipint1,length,1,icscode) < call unpacktp('intrface','set',npoints,ipitp1,ipint1,ierrdum) --- > call mmgetblk("int1",isubname,ipint1,length,2,icscode) > call unpacktp("intrface","set",npoints,ipitp1,ipint1,ierrdum) 318,320c265,267 < call mmgetblk('iedgetet',isubname,ipiedge_tet,length,1,icscode) < call mmgetblk('iedgefac',isubname,ipiedge_face,length,1,icscode) < call mmgetblk('iedgeedg',isubname,ipiedge_edge,length,1,icscode) --- > call mmgetblk('iedgetet',isubname,ipiedge_tet,length,2,icscode) > call mmgetblk('iedgefac',isubname,ipiedge_face,length,2,icscode) > call mmgetblk('iedgeedg',isubname,ipiedge_edge,length,2,icscode) 322d268 < 324,325c270 < call mmgetblk('itflag',isubname,ipitflag,length,1,icscode) < --- > call mmgetblk('itflag',isubname,ipitflag,length,2,icscode) 327,330c272,274 < call mmgetblk('itetnn' ,isubname,ipitetnn ,length,1,icscode) < call mmgetblk('itetnn1',isubname,ipitetnn1,length,1,icscode) < call mmgetblk('itetnn2',isubname,ipitetnn2,length,1,icscode) < --- > call mmgetblk('itetnn' ,isubname,ipitetnn ,length,2,icscode) > call mmgetblk('itetnn1',isubname,ipitetnn1,length,2,icscode) > call mmgetblk('itetnn2',isubname,ipitetnn2,length,2,icscode) 537c481 < call mmgetblk('int1add',isubname,ipint1add,length,1,icscode) --- > call mmgetblk('int1add',isubname,ipint1add,length,2,icscode) 543c487 < call mmgetblk('list_sink',isubname,iplist_sink,length,1,icscode) --- > call mmgetblk('list_sink',isubname,iplist_sink,length,2,icscode) 545c489 < call mmgetblk('list_source',isubname,iplist_source,length,1, --- > call mmgetblk('list_source',isubname,iplist_source,length,2, 653,660d596 < < if (idebug.gt.0) then < print*,isubname < print*,'before increment of ',npointsinc,isubname < call mmverify() < call mmprint() < endif < 671,684d606 < < C TAM added increment to iparent and int1 as they were overwritten < C in cases where npointsnew is greater than npoints < C note that int1 is incremented, but at the end of this loop. < call mmnewlen('iparent',isubname,ipiparent, < * npointsinc,ier) < call mmnewlen('int1',isubname,ipint1,npointsinc,ier) < < if (idebug.gt.0) then < print*,'after increment of ',npointsinc,isubname < call mmverify() < call mmprint() < endif < 873,882c795,796 < < C why is the length of int1 changed here? < C it has already been incremented for earlier work < C and should now be equal or greater than npoints in length < < print*,isubname < print*,'mmnewlen int1 ',length < print*,'npoints ',npoints < call mmnewlen('int1',isubname,ipint1,length,icscode) < call unpacktp('intrface','set',npoints,ipitp1,ipint1,ierrdum) --- > call mmnewlen("int1",isubname,ipint1,length,icscode) > call unpacktp("intrface","set",npoints,ipitp1,ipint1,ierrdum) 901,908d814 < < if (idebug.ge.1) then < write (logmess,'(a,i14,i14)') < * ' refine_edge_2d: mmverify new node and element total: ', < * npoints,ntets < call writloga('default', 0, logmess, 0, ierr) < call mmverify() < endif 922,923d827 < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 940c844 < implicit none --- > implicit real*8 (a-h,o-z) 945,948c849 < integer nplen,nvalues < parameter (nplen=10000000) < parameter (nvalues=2) < --- > character*132 logmess 953,954c854,858 < integer itp1(*), isn1(*), int1(*) < --- > integer itp1(1000000), isn1(1000000), int1(1000000) > C > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) 957,958d860 < integer itet(3,*), jtet(3,*) < 961,962c863,865 < integer itet1(4*nplen), jtet1(4*nplen) < --- > integer itet(3,1000000), jtet(3,1000000) > integer itet1(4*1000000), jtet1(4*1000000) > dimension xic(1000000), yic(1000000), zic(1000000) 967,969d869 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < 973,976c873,877 < integer itetnn(3,*), < * itetnn1(3,*), < * itetnn2(3,*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > integer itetnn(3,1000000), > * itetnn1(3,1000000), > * itetnn2(3,1000000) 980,985c881,884 < integer iedge_tet(6*nplen), iedge_face(6*nplen), < * iedge_edge(6*nplen) < < pointer (ipiparent, iparent) < integer iparent(*) < --- > integer iedge_tet(6*1000000), iedge_face(6*1000000), > * iedge_edge(6*1000000) > C > parameter (nvalues=2) 988,989c887,894 < integer list_sink(*), list_source(nvalues,*) < --- > pointer (ipxweight_source, xweight_source) > integer list_sink(1000000), list_source(nvalues,1000000) > real*8 xweight_source(nvalues,1000000) > C > pointer (ipiparent, iparent) > integer iparent(1000000) > C > pointer (ipitflag, itflag) 991d895 < integer itlist(*) 993,998c897,900 < integer ifadd(3,*) < pointer (ipitflag, itflag) < integer itflag(*) < pointer (ipint1add, int1add) < integer int1add(*) < --- > integer itlist(1000000) > integer itflag(1000000) > integer ifadd(3,1000000) > C 1000,1012d901 < < integer ierror,ier,ierrw,icscode,idebug,ierr < integer i,i1,i2,i3,i4,j,k,i31, < * i23,i12,ie1,ie2,isum,ierrdum,jt,jf,kt,kf < integer icount,inc,ics,inc1,inc2,iedge1,iedge2,iedge, < * iedgeiter,nedge,npoints,length,icmotype,ntets, < * mbndry,nen,nef,lenitp1,lenisn1,lenxic,lenyic, < * lenzic,lenitetclr,lenitettyp,lenitetoff,lenjtetoff, < * lenitet,lenjtet,it,ntlist,nadd1,npointsnew,ntetsnew, < * nef1,npointsinc,jcount,nnodesmm,nelementsmm,ntetsinc < < real*8 x1,y1,z1,x2,y2,z2,x3,y3,z3,xa,ya,za,xarea < 1014,1020c903,904 < pointer (ipxweight_source, xweight_source) < real*8 xweight_source(nvalues,*) < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) --- > pointer (ipint1add, int1add) > integer int1add(1000000) 1021a906,907 > character*32 isubname, iblknam, iprtnam > character*32 cmo, cmolength 1027,1028c913 < < real*8 xarea_ref --- > C 1031d915 < real*8 crosx1,crosy1,crosz1,volume 1041,1042c925,928 < < real*8 crosx,crosy,crosz,a,b,c,d,e,f --- > C > C > C ###################################################################### > C 1046,1050d931 < < C < character*132 logmess < character*32 isubname, iblknam, iprtnam < character*32 cmo, cmolength 1053d933 < C BEGIN begin 1062d941 < if (ierror.ne.0) call x3d_error(isubname,'get info nnodes') 1064,1066d942 < if (ierror.ne.0) call x3d_error(isubname,'get info nelements') < < call cmo_get_info('idebug',cmo,idebug,length,icmotype,ierror) 1090,1091c966,967 < call mmgetblk('int1add',isubname,ipint1add,length,1,icscode) < call mmgetblk('iparent',isubname,ipiparent,length,1,icscode) --- > call mmgetblk('int1add',isubname,ipint1add,length,2,icscode) > call mmgetblk('iparent',isubname,ipiparent,length,2,icscode) 1095,1097c971,973 < call mmgetblk('iedgetet',isubname,ipiedge_tet,length,1,icscode) < call mmgetblk('iedgefac',isubname,ipiedge_face,length,1,icscode) < call mmgetblk('iedgeedg',isubname,ipiedge_edge,length,1,icscode) --- > call mmgetblk('iedgetet',isubname,ipiedge_tet,length,2,icscode) > call mmgetblk('iedgefac',isubname,ipiedge_face,length,2,icscode) > call mmgetblk('iedgeedg',isubname,ipiedge_edge,length,2,icscode) 1099c975 < call mmgetblk('itetnn' ,isubname,ipitetnn ,length,1,icscode) --- > call mmgetblk('itetnn' ,isubname,ipitetnn ,length,2,icscode) 1101,1102c977,978 < call mmgetblk('itetnn1',isubname,ipitetnn1,length,1,icscode) < call mmgetblk('itetnn2',isubname,ipitetnn2,length,1,icscode) --- > call mmgetblk('itetnn1',isubname,ipitetnn1,length,2,icscode) > call mmgetblk('itetnn2',isubname,ipitetnn2,length,2,icscode) 1109,1110c985,986 < call mmgetblk('itlist',isubname,ipitlist,length,1,icscode) < call mmgetblk('itflag',isubname,ipitflag,length,1,icscode) --- > call mmgetblk('itlist',isubname,ipitlist,length,2,icscode) > call mmgetblk('itflag',isubname,ipitflag,length,2,icscode) 1112c988 < call mmgetblk('ifadd',isubname,ipifadd,length,1,icscode) --- > call mmgetblk('ifadd',isubname,ipifadd,length,2,icscode) 1154c1030 < call mmgetblk('list_sink',isubname,iplist_sink,length,1,icscode) --- > call mmgetblk('list_sink',isubname,iplist_sink,length,2,icscode) 1156c1032 < call mmgetblk('list_source',isubname,iplist_source,length,1, --- > call mmgetblk('list_source',isubname,iplist_source,length,2, 1521,1528d1396 < if (idebug.ge.1) then < write (logmess,'(a,i14,i14)') < * ' refine_edge_2d: mmverify new node and element total: ', < * npoints,ntets < call writloga('default', 0, logmess, 0, ierr) < call mmverify() < endif < refine_edge_3d.f 9,12c9,12 < CPVCS < CPVCS Rev 1.1 08 Feb 2006 14:38:18 dcg < CPVCS "enforce lower case - add external statements for shift routines < CPVCS these changes needed to compile with absoft pro fortran" --- > CPVCS > CPVCS Rev 1.1 08 Feb 2006 14:38:18 dcg > CPVCS "enforce lower case - add external statements for shift routines > CPVCS these changes needed to compile with absoft pro fortran" 13a14 > 14a16 > 15a18 > 17c20 < implicit none --- > implicit real*8 (a-h,o-z) 20,23c23 < C for definition of zero < include 'consts.h' < < C arguments --- > C 25,32c25 < integer ierr1 < < C constants < integer nplen,nvalues < parameter (nplen=10000000) < parameter (nvalues=2) < < C variables --- > C 36,37c29,33 < integer imt1(*), itp1(*), isn1(*) < --- > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > integer imt1(1000000), itp1(1000000), isn1(1000000) > dimension xic(1000000), yic(1000000), zic(1000000) 42,44c38,39 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) 47,48c42,43 < integer itet1(*), jtet1(*) < --- > integer itet1(1000000), jtet1(1000000) > C 50,51c45,46 < integer iparent(*) < --- > integer iparent(1000000) > C 53,54c48,49 < integer int1(*) < --- > integer int1(1000000) > C 57,58c52 < integer itadd(*), ieadd(*) < --- > integer itadd(1000000), ieadd(1000000) 61,62c55 < integer ip1(*), ip2(*) < --- > integer ip1(1000000), ip2(1000000) 64,78d56 < integer iadd(*) < < integer ierror,ier,icscode,ierrdum < integer i,j,k,i1,i2,i3,i4,it,nadd,ntets,length, < * iflag,ie,j1,j2,j3,npoints,icmotype,mbndry, < * nen,nef,lenimt1,lenitp1,lenisn1,iflag1, < * lenxic, lenyic,lenzic,lenitetclr,lenitettyp, < * lenitetoff,lenjtetoff,lenitet,lenjtet,l,k2,k3 < < C < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < 82,83c60,61 < real*8 xadd(*), yadd(*), zadd(*) < --- > integer iadd(1000000) > real*8 xadd(1000000), yadd(1000000), zadd(1000000) 85,92c63 < real*8 xdot1(*) < < real*8 xfac,xdot,ds23,ds2i,ds3i,ds1,ds2,ds3 < real*8 x1,y1,z1,x2,y2,z2,x3,y3,z3,xint,yint,zint < real*8 xa,ya,za,xb,yb,zb,xd,yd,zd,xn1,yn1,zn1, < * xn,yn,zn,rn,dotb3,dot3,rb3,ql,xl,yl,zl, < * xv,yv,zv,x23,y23,z23,xarea, < * voltri,voltri1,voltri2,epsilonl --- > real*8 xdot1(1000000) 93a65 > parameter (nvalues=2) 96,100c68,69 < < real*8 xfactri < data xfactri / 0.5d+00 / < C*****data xfactri / 0.333333333333333d+00 / < --- > c > character*32 isubname 106,107c75,78 < < real*8 crosx1,crosy1,crosz1,volume --- > C > C*****data xfactri / 0.333333333333333d+00 / > data xfactri / 0.5d+00 / > C 117,118c88 < < real*8 crosx,crosy,crosz,a,b,c,d,e,f --- > C 123,127d92 < character*32 isubname < C < C ****************************************************************** < C BEGIN begin < C 128a94 > C 130a97,98 > C ****************************************************************** > C 168,169c136,137 < call mmgetblk('int1',isubname,ipint1,length,1,icscode) < call unpacktp('intrface','set',npoints,ipitp1,ipint1,ierrdum) --- > call mmgetblk("int1",isubname,ipint1,length,2,icscode) > call unpacktp("intrface","set",npoints,ipitp1,ipint1,ierrdum) refine_edge_add.f 1,3c1 < C < C This file has refine_edge_add, refine_edge_add_tet, and find_boundary_faces < C --- > c 170a169,170 > character*132 logmess > C 177c177 < C arguments --- > C 180a181 > integer itadd(nadd) 181a183 > integer ieadd(nadd) 183,184c185 < integer itadd(nadd), ieadd(nadd), iadd(nadd) < --- > integer iadd(nadd) 189,191c190 < < C variables < --- > C 195,196c194 < integer itp1(*),icr1(*),isn1(*) < --- > integer itp1(1000000),icr1(1000000),isn1(1000000) 201,202c199,200 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) 208,209c206,207 < integer itet(4,*), jtet(4,*) < integer itet1(*), jtet1(*) --- > integer itet(4,1000000), jtet(4,1000000) > integer itet1(4*1000000), jtet1(4*1000000) 212c210 < integer itpadd(*),icradd(*) --- > integer itpadd(1000000),icradd(1000000) 216,217d213 < < character*132 logmess 221d216 < C BEGIN begin 326,327d320 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < 415d407 < C BEGIN begin refine_edge_add_tet 417c409,413 < implicit none --- > implicit none > C > character*132 logmess,cbuff > C > C ################################################################## 425,426c421,423 < < C arguments --- > C > C ################################################################## > C 428,429c425,426 < integer nadd, oflag < --- > C > integer nadd 433c430 < --- > C 436,438c433 < < C variables < --- > C 441c436 < --- > C 444a440 > C 448,449c444,445 < integer itetoff(*), jtetoff(*) < --- > integer itetoff(1000000), jtetoff(1000000) > C 451,452c447,448 < integer iparent(*) < --- > integer iparent(1000000) > C 454c450 < integer int1(*) --- > integer int1(1000000) 460,461c456,457 < integer itflag(*), < * itetnn(4,*), itetnn1(4,*), itetnn2(4,*) --- > integer itflag(1000000), > * itetnn(4,1000000), itetnn1(4,1000000), itetnn2(4,1000000) 468,470c464,466 < integer iedge_tet(*), iedge_face(*), < * iedge_edge(*), iedge_p1(*), < * iedge_p2(*) --- > integer iedge_tet(6*1000000), iedge_face(6*1000000), > * iedge_edge(6*1000000), iedge_p1(6*1000000), > * iedge_p2(6*1000000) 478c474,475 < --- > pointer (ipxics,xics),(ipyics,yics),(ipzics,zics) > real*8 xics(*),yics(*),zics(*) 482d478 < 488,491d483 < < pointer (ipxics,xics),(ipyics,yics),(ipzics,zics) < real*8 xics(*),yics(*),zics(*) < 508d499 < character*132 logmess,cbuff 511,512d501 < character*8 eq < 513a503,505 > character*8 eq > C > C####################################################################### 519c511 < * irefine,ierrw,kt,kf,itype,l1,kk,l2,it1,it2, --- > * irefine,ierrw,kt,kf,itype,l1,kk,l2,it1,it2,oflag, 523c515 < * imtmatch,istrta,istrtb,istrtc,nelts,if, --- > * imtmatch,istrta,istrtb,istrtc,nelts,if,iout, 526d517 < 528c519 < * qx,qy,qz,xold,yold,zold,epsln,damage,epslnv, --- > * rout,qx,qy,qz,xold,yold,zold,epsln,damage,epslnv, 534,535c525 < C BEGIN begin refine_edge_add_tet < --- > C 695,696c685,686 < call mmgetblk('int1',isubname,ipint1,length,1,icscode) < call unpacktp('intrface','set',npoints,ipitp1,ipint1,ierror) --- > call mmgetblk("int1",isubname,ipint1,length,2,icscode) > call unpacktp("intrface","set",npoints,ipitp1,ipint1,ierror) 1546,1547d1535 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C 1555,1556d1542 < C************************************************************ < C 1558d1543 < 1560,1567c1545,1546 < < C arguments < integer i1,i2,mbndry,it1,it2,iface1,iface2 < integer elts(*), jtet(4,*), itet(4,*), itettyp(*) < < C variables < < integer nbnds,nelts,k,i,it,ierror,ityp,nptfnd,kk --- > integer i1,i2,it1,it2,iface1,iface2,nbnds,nelts,elts(*),k,i,it, > * jtet(4,*),itettyp(*),mbndry,ierror,ityp,nptfnd,kk,itet(4,*) 1569,1571d1547 < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin find_boundary_faces refine_edge.f 41,42c41 < implicit none < --- > implicit real*8 (a-h,o-z) 45,47c44,45 < integer nplen,nvalues < parameter (nplen=10000000) < parameter (nvalues=2) --- > character*132 logmess > C 49,54c47,49 < pointer (ipitetclr, itetclr(*)) < pointer (ipitetoff, itetoff(*)) < pointer (ipjtetoff, jtetoff(*)) < pointer (ipitettyp, itettyp(*)) < integer itetclr,itetoff,jtetoff,itettyp < --- > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) 56,58c51,63 < pointer (ipjtet, jtet) < integer itet(4,*), jtet(4,*) < --- > pointer (ipitet, itet1) > pointer (ipjtet, jtet) > pointer (ipjtet, jtet1) > integer itet(4,1000000), jtet(4,1000000) > integer itet1(4*1000000), jtet1(4*1000000) > dimension xic(1000000), yic(1000000), zic(1000000) > pointer (ipitetclr, itetclr) > pointer (ipitettyp, itettyp) > pointer (ipitetoff, itetoff) > pointer (ipjtetoff, jtetoff) > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > C 60,61d64 < integer itflag(*) < 65,66c68,69 < integer itetnn(4,*),itetnn1(4,*),itetnn2(4,*) < --- > integer itflag(1000000), > * itetnn(4,1000000), itetnn1(4,1000000), itetnn2(4,1000000) 70,71c73,74 < integer iedge_tet(*), iedge_face(*), < * iedge_edge(*) --- > integer iedge_tet(6*1000000), iedge_face(6*1000000), > * iedge_edge(6*1000000) 72a76 > parameter (nvalues=2) 75,96d78 < integer list_sink(*), list_source(nvalues,*) < < integer ierror,ier,ierrw,ics,icscode < integer npoints,length,icmotype,ntets,mbndry,nen,nef, < * icount,ibound,i,i1,i2,i3,i4,it,nedge,iedge, < * j,j1,j2,j3,l,l1,l2,l3,lit,li,lj,k1,k2,k3 < integer lenitetclr,lenitettyp,lenitetoff,lenjtetoff, < * lenitet,lenjtet,lenxic,lenyic,lenzic < integer nadd1,iedgeiter,npointsnew,ntetsnew,nedge_save, < * nelementsmm,ntetsinc,nnodesmm < integer k,kf,ke,kt,irefine,npointsinc,inc,inc1,inc2, < * kflast,ktlast,kelast,jcount,idum, < * itstart,itlast,ifstart,ielast,iestart,iflast < < real*8 xdotmin,xdot,xdotl,ds23,ds2i,ds3i < real*8 x1,y1,z1,x2,y2,z2,x3,y3,z3,xint,yint,zint < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < C 98c80,84 < real*8 xweight_source(nvalues,*) --- > integer list_sink(10000000), list_source(nvalues,10000000) > real*8 xweight_source(nvalues,10000000) > C > character*32 cmo, cmolength > character*32 isubname, iblknam, iprtnam 133,134d118 < < real*8 crosx1,crosy1,crosz1,volume 144,149d127 < < C < character*132 logmess < character*32 cmo, cmolength < character*32 isubname, iblknam, iprtnam < C 151,153d128 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin < 187,189c162,164 < call mmgetblk("iedgetet",isubname,ipiedge_tet,length,1,icscode) < call mmgetblk("iedgefac",isubname,ipiedge_face,length,1,icscode) < call mmgetblk("iedgeedg",isubname,ipiedge_edge,length,1,icscode) --- > call mmgetblk("iedgetet",isubname,ipiedge_tet,length,2,icscode) > call mmgetblk("iedgefac",isubname,ipiedge_face,length,2,icscode) > call mmgetblk("iedgeedg",isubname,ipiedge_edge,length,2,icscode) 191c166 < call mmgetblk("itflag",isubname,ipitflag,length,1,icscode) --- > call mmgetblk("itflag",isubname,ipitflag,length,2,icscode) 193,195c168,170 < call mmgetblk("itetnn" ,isubname,ipitetnn ,length,1,icscode) < call mmgetblk("itetnn1",isubname,ipitetnn1,length,1,icscode) < call mmgetblk("itetnn2",isubname,ipitetnn2,length,1,icscode) --- > call mmgetblk("itetnn" ,isubname,ipitetnn ,length,2,icscode) > call mmgetblk("itetnn1",isubname,ipitetnn1,length,2,icscode) > call mmgetblk("itetnn2",isubname,ipitetnn2,length,2,icscode) 269c244 < call mmgetblk('list_sink',isubname,iplist_sink,length,1,icscode) --- > call mmgetblk('list_sink',isubname,iplist_sink,length,2,icscode) 271c246 < call mmgetblk('list_source',isubname,iplist_source,length,1, --- > call mmgetblk('list_source',isubname,iplist_source,length,2, 585,592c560,561 < if (npoints .le. 0) then < call x3d_error(isubname,'calling set mesh with 0 nodes.') < call cmo_set_info('nnodes',cmo,npoints,1,1,ierror) < endif < if (ntets .le. 0) then < call x3d_error(isubname,'calling set mesh with 0 tets.') < call cmo_set_info('nelements',cmo,ntets,1,1,ierror) < endif --- > call cmo_set_info('nnodes',cmo,npoints,1,1,ierror) > call cmo_set_info('nelements',cmo,ntets,1,1,ierror) refine_edge_list_lg.f 51,54d50 < < include "local_element.h" < < C arguments 58,62c54,63 < < C variables < pointer (ipitp1, itp1) < pointer (ipisn1, isn1) < integer itp1(*),isn1(*) --- > C > character*132 logmess > C > pointer (ipitp1, itp1(*)) > pointer (ipisn1, isn1(*)) > pointer (ipxic, xic(*)) > pointer (ipyic, yic(*)) > pointer (ipzic, zic(*)) > integer itp1,isn1 > real*8 xic,yic,zic 81c82,85 < --- > pointer (ipxadd, xadd) > pointer (ipyadd, yadd) > pointer (ipzadd, zadd) > real*8 xadd(*), yadd(*), zadd(*) 92,101d95 < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*),yic(*),zic(*) < < pointer (ipxadd, xadd) < pointer (ipyadd, yadd) < pointer (ipzadd, zadd) < real*8 xadd(*), yadd(*), zadd(*) 103c97,98 < character*132 logmess --- > include "local_element.h" > C 106,109c101 < C < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin < --- > c refine.f 240a241,243 > > C > character*132 logmess,cbuf 256d258 < character*132 logmess,cbuf 440,449c442,454 < pointer (ipout,iout) < integer iout(*) < < pointer (ipisetwd, isetwd) < pointer (ipimt1, imt1) < pointer (ipitp1, itp1) < pointer (ipicr1, icr1) < pointer (ipisn1, isn1) < integer isetwd(*),imt1(*),itp1(*),icr1(*),isn1(*) < --- > pointer (ipout,iout(*)) > integer iout > pointer (ipisetwd, isetwd(*)) > pointer (ipimt1, imt1(*)) > pointer (ipitp1, itp1(*)) > pointer (ipicr1, icr1(*)) > pointer (ipisn1, isn1(*)) > pointer (ipxic, xic(*)) > pointer (ipyic, yic(*)) > pointer (ipzic, zic(*)) > integer isetwd,imt1,itp1,icr1,isn1 > real*8 xic,yic,zic > C 461,463d465 < pointer (ipnedge_bin, nedge_bin) < pointer (ipnedge_off, nedge_off) < integer nedge_bin(*), nedge_off(*) 473d474 < 476,485d476 < pointer (ipiarray, iarray) < integer iarray(*) < pointer (ipmpary, mpary) < integer mpary(*) < < pointer (ipiparent, iparent) < integer iparent(*) < pointer (ipintp,intp) < integer intp(*) < 491,495c482,483 < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*),yic(*),zic(*) < C --- > pointer (ipnedge_bin, nedge_bin) > pointer (ipnedge_off, nedge_off) 498a487 > integer nedge_bin(*), nedge_off(*) 503,504c492,495 < pointer (ipxfield, xfield) < real*8 xfield(*) --- > pointer (ipmpary, mpary(*)) > pointer (ipxfield, xfield(*)) > integer mpary > real*8 xfield, toldamage 506,510c497,504 < real*8 toldamage < < integer coption_len,ioption,ierror_return,index,iprd < < character*132 logmess,cbuf --- > pointer (ipiarray, iarray) > integer iarray(*) > C > pointer (ipiparent, iparent) > integer iparent(*) > pointer (ipintp,intp) > integer intp(*) > c 512a507,508 > character*132 logmess,cbuf > C 514a511 > C 515a513 > integer coption_len,ioption,ierror_return,index,iprd 517d514 < 522c519,520 < C BEGIN begin --- > C > C refine_face_add.f 150a151,152 > character*132 logmess > C 163,164c165 < integer iadd(*) < --- > integer iadd(1000000) 169d169 < 172,173d171 < < character*132 logmess 176c174 < C BEGIN begin --- > C 253a252 > character*132 logmess 274,276d272 < < integer nvalues < parameter (nvalues=2) 278d273 < 291c286,290 < --- > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > real*8 xic(*), yic(*), zic(*) > C 296,298d294 < integer itet(3,*), jtet(3,*) < integer itet1(*), jtet1(*) < 301c297,299 < --- > integer itet(3,1000000), jtet(3,1000000) > integer itet1(3*1000000), jtet1(3*1000000) > C 306,308c304,306 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > C 310c308 < integer iparent(*) --- > integer iparent(1000000) 313,314d310 < integer itflag(*) < 318,319d313 < integer itetnn(3,*), < * itetnn1(3,*), itetnn2(3,*) 323,324d316 < integer iface_p1(nadd), iface_p2(nadd) < 326,329c318 < pointer (ipicrnew,icrnew) < integer ictemp(*),icrnew(*) < < pointer (ipitpnew,itpnew) --- > pointer (ipicrnew,icrnew), (ipitpnew,itpnew) 331c320,323 < --- > integer iface_p1(nadd), iface_p2(nadd),ictemp(*),icrnew(*) > integer itflag(1000000), > * itetnn(3,1000000), itetnn1(3,1000000), itetnn2(3,1000000) > C 334,340d325 < integer list_sink(nadd), list_source(nvalues,nadd) < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < 342,345c327,331 < real*8 xweight_source(nvalues,nadd) < < real*8 xxsmall,x1,y1,z1,x2,y2,z2,x3,y3,z3 < --- > C > character*32 cmo > character*32 cmolength > character*32 isubname, iblknam, iprtnam > logical ifound 347c333 < * nconbnd,iface,nface1,it,jt,lencmo,i1,i2,i3,length,icmot, --- > * nconbnd,iface,nface1,it,jt,lencmo,i1,i2,i3,length,icmot, 353,360c339,345 < * iskip < < logical ifound < < character*132 logmess < character*32 cmo < character*32 cmolength < character*32 isubname, iblknam, iprtnam --- > * nvalues,iskip > parameter (nvalues=2) > > integer list_sink(nadd), list_source(nvalues,nadd) > real*8 xweight_source(nvalues,nadd),xxsmall,x1,y1,z1,x2,y2,z2 > * ,x3,y3,z3 > C 363d347 < C BEGIN begin 986,988c970 < < Cok,refine_face_add_tet < --- > *dk,refine_face_add_tet 1065a1048,1049 > character*132 logmess > C 1085,1086d1068 < integer nvalues < parameter (nvalues=3) 1099,1100c1081,1082 < integer itp1(*), isn1(*), int1(*), < * icr1(*) --- > integer itp1(10000000), isn1(10000000), int1(1000000), > * icr1(1000000) 1104c1086 < real*8 xic(*), yic(*), zic(*) --- > real*8 xic(10000000), yic(10000000), zic(10000000) 1110,1111c1092,1093 < integer itet(4,*), jtet(4,*) < integer itet1(*), jtet1(*) --- > integer itet(4,1000000), jtet(4,1000000) > integer itet1(4*1000000), jtet1(4*1000000) 1117,1118c1099,1100 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) 1120c1102 < integer icontab(50,*) --- > integer icontab(50,1000000) 1123c1105 < integer iparent(*) --- > integer iparent(1000000) 1131c1113 < integer itpnew(*),icrnew(*) --- > integer itpnew(1000000),icrnew(1000000) 1133c1115 < integer ictemp(*) --- > integer ictemp(1000000) 1139,1140c1121,1125 < integer itflag(*), < * itetnn(4,*), itetnn1(4,*), itetnn2(4,*) --- > integer itflag(1000000), > * itetnn(4,1000000), itetnn1(4,1000000), itetnn2(4,1000000) > integer nvalues > C > parameter (nvalues=3) 1143,1144d1127 < integer list_sink(nadd), list_source(nvalues,nadd) < 1145a1129 > integer list_sink(nadd), list_source(nvalues,nadd) 1147,1149d1130 < < real*8 xxsmall < 1151d1131 < 1156c1136 < * i,i1,i2,i3,ierrw,ifaceiter,nface1,ntetsnew,npointsnew, --- > * i1,i2,i3,ierrw,ifaceiter,nface1,ntetsnew,npointsnew, 1159c1139 < * nelementsmm,npointsinc,nsc,nface1_save,ierror, --- > * nelementsmm,npointsinc,nsc,nface1_save,ierror,i, 1160a1141 > real*8 xxsmall 1161a1143,1145 > character*32 cmo > character*32 cmolength > character*32 isubname, iblknam, iprtnam 1196,1199d1179 < character*132 logmess < character*32 cmo < character*32 cmolength < character*32 isubname, iblknam, iprtnam 1202d1181 < C BEGIN begin refine_face.f 35c35,37 < implicit none --- > implicit real*8 (a-h,o-z) > C > character*132 logmess 37,39d38 < integer nplen,nvalues < parameter (nplen=10000000) < parameter (nvalues=3) 40a40,42 > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) 45,47c47,49 < integer itet(4,*), jtet(4,*) < integer itet1(*), jtet1(*) < --- > integer itet(4,1000000), jtet(4,1000000) > integer itet1(4*1000000), jtet1(4*1000000) > dimension xic(1000000), yic(1000000), zic(1000000) 52,53c54,55 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) 56,57d57 < integer itflag(*) < 61,62d60 < integer itetnn(4,*), itetnn1(4,*), itetnn2(4,*) < 65c63,67 < integer kfix(4,*), kfix1(*) --- > pointer (ipxfix, xfix) > dimension xfix(4,1000000) > integer kfix(4,1000000), kfix1(4*1000000) > integer itflag(1000000), > * itetnn(4,1000000), itetnn1(4,1000000), itetnn2(4,1000000) 66a69 > parameter (nvalues=3) 69c72,74 < integer list_sink(*), list_source(nvalues,*) --- > pointer (ipxweight_source, xweight_source) > integer list_sink(10000000), list_source(nvalues,10000000) > real*8 xweight_source(nvalues,10000000) 71,89c76,77 < integer ierror,ier,ierrw,ics,icscode < integer npoints,length,icmotype,ntets,mbndry,nen,nef, < * nface1,icount,ibound,i,i1,i2,i3,i4,i5, < * it,nedge,j,j1,j2,j3,j4,l,l1,l2,l3, < * ifc,jt,jf,if,iclrt1,iclrt2, < * ifaceiter,nface1_save < integer lenitetclr,lenitettyp,lenitetoff,lenjtetoff, < * lenitet,lenjtet,lenxic,lenyic,lenzic < integer nadd1,iedgeiter,npointsnew,ntetsnew,nedge_save < integer k,kf,ke,kt,irefine,iface,nelementsmm, < * ntetsinc,nnodesmm,npointsinc,inc,inc1,inc2, < * kflast,ktlast,kelast,jcount,idnum,idum, < * itstart,itlast,ifstart,ielast,iestart,iflast < < real*8 xa,ya,za,xb,yb,zb,xc,yc,zc,xn,yn,zn, < * xd,yd,zd,xl,yl,zl,xv,yv,zv < real*8 xdotmin,xdot,xdotl,ds23,ds2i,ds3i < real*8 x1,y1,z1,x2,y2,z2,x3,y3,z3,xint,yint,zint < real*8 xxsmall,q,vol,dist --- > character*32 cmo, cmolength > character*32 isubname, iblknam, iprtnam 91,100c79 < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < < pointer (ipxfix, xfix) < real*8 xfix(4,*) < pointer (ipxweight_source, xweight_source) < real*8 xweight_source(nvalues,*) < --- > integer itetface0(4), itetface1(4,4) 104,105d82 < < integer itetface0(4), itetface1(4,4) 111d87 < 125d100 < 139,140d113 < < real*8 a,b,c,d,e,f,crosx,crosy,crosz 144,145d116 < < real*8 crosx1,crosy1,crosz1,volume 156,162d126 < character*132 logmess < character*32 cmo, cmolength < character*32 isubname, iblknam, iprtnam < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin < C 185c149 < call mmgetblk("itflag",isubname,ipitflag,length,1,icscode) --- > call mmgetblk("itflag",isubname,ipitflag,length,2,icscode) 187,189c151,153 < call mmgetblk("itetnn" ,isubname,ipitetnn ,length,1,icscode) < call mmgetblk("itetnn1",isubname,ipitetnn1,length,1,icscode) < call mmgetblk("itetnn2",isubname,ipitetnn2,length,1,icscode) --- > call mmgetblk("itetnn" ,isubname,ipitetnn ,length,2,icscode) > call mmgetblk("itetnn1",isubname,ipitetnn1,length,2,icscode) > call mmgetblk("itetnn2",isubname,ipitetnn2,length,2,icscode) 352,356d315 < < C compiler: WARNING This statement can not be reached. < C nface1=0 < C ^ < 393,398d351 < < C From compiler < C WARNING: This statement can not be reached. < C nface1=0 < C ^ < 435c388 < call mmgetblk('list_sink',isubname,iplist_sink,length,1,icscode) --- > call mmgetblk('list_sink',isubname,iplist_sink,length,2,icscode) 437c390 < call mmgetblk('list_source',isubname,iplist_source,length,1, --- > call mmgetblk('list_source',isubname,iplist_source,length,2, refine_fix_add.f 73a74,75 > character*132 logmess > C 97,101c99,103 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*), < * itp1(*), icr1(*), < * isn1(*), < * itpnew(*), icrnew(*) --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000), > * itp1(1000000), icr1(1000000), > * isn1(1000000), > * itpnew(1000000), icrnew(1000000) 107d108 < 109c110 < integer icontab(50,*) --- > integer icontab(50,1000000) 111,114c112,113 < integer iparent(*) < < pointer (ipictemp,ictemp) < integer ictemp(*) --- > integer iparent(1000000) > 122c121,122 < --- > pointer (ipictemp,ictemp) > integer ictemp(1000000) 124d123 < 126,127d124 < < character*132 logmess 131c128 < C BEGIN begin --- > C refine_interface_elements_lg.f 47d46 < 54,58c53,62 < pointer (ipitp1, itp1) < pointer (ipisn1, isn1) < pointer (ipisetwd, isetwd) < integer itp1(*),isn1(*),isetwd(*) < --- > C > pointer (ipitp1, itp1(*)) > pointer (ipisn1, isn1(*)) > pointer (ipisetwd, isetwd(*)) > pointer (ipxic, xic(*)) > pointer (ipyic, yic(*)) > pointer (ipzic, zic(*)) > integer itp1,isn1,isetwd > real*8 xic,yic,zic > C 78c82,85 < --- > pointer (ipxadd, xadd) > pointer (ipyadd, yadd) > pointer (ipzadd, zadd) > real*8 xadd(*), yadd(*), zadd(*) 91,100d97 < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*),yic(*),zic(*) < < pointer (ipxadd, xadd) < pointer (ipyadd, yadd) < pointer (ipzadd, zadd) < real*8 xadd(*), yadd(*), zadd(*) 106d102 < 109d104 < 111,113d105 < C < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C BEGIN begin refine_spawn_lg.f 49,51d48 < < C arguments < integer mpno,mpary(*),ierror 53,54d49 < < C variables 56a52 > integer mpno,mpary(*),ierror 74a71,76 > pointer (ipxic,xic) > real*8 xic(*) > pointer (ipyic,yic) > real*8 yic(*) > pointer (ipzic,zic) > real*8 zic(*) 82a85,93 > character*32 cmo,cout,isubname > integer icscode,nelements,ilen,itype,ierr,i,iseedtet,locnod, > * nelts,nef_cmo,nnodes,i1,i2,i3,i4,nodesold,node1,node,nod, > * icmotype,iemin,itmin,ielt,mbndry,length,nadd,ie,j, > * ityp,iout,len_elist,l,ipt,icount,flag > real*8 vol,dist,distance_lg,epsilonl,epsilonv, > * c,cos_lg,cosangle > pointer (ipout,out) > real*8 out(*) 89,98d99 < < pointer (ipxic,xic) < real*8 xic(*) < pointer (ipyic,yic) < real*8 yic(*) < pointer (ipzic,zic) < real*8 zic(*) < pointer (ipout,out) < real*8 out(*) < 102,110d102 < < real*8 vol,dist,distance_lg,epsilonl,epsilonv, < * c,cos_lg,cosangle < < integer icscode,nelements,ilen,itype,ierr,i,iseedtet,locnod, < * nelts,nef_cmo,nnodes,i1,i2,i3,i4,nodesold,node1,node,nod, < * icmotype,iemin,itmin,ielt,mbndry,length,nadd,ie,j, < * ityp,iout,len_elist,l,ipt,icount,flag < 112,113d103 < character*32 cmo,cout,isubname < 115,116d104 < C BEGIN begin < refine_tet_add.f 2,4d1 < C This file has subroutines refine_element_add, refine_hex_add, < C refine_tet_add, refine_tri_add, and refine_hex_prd < 165c162 < * icscode,ics,itype,ilen,nnodes,ierrwrt,icharlnf,ierror, --- > * icscode,itype,ilen,nnodes,ierrwrt,icharlnf,ierror,ics, 178c175 < integer itettyp(*), jtetoff(*), jtet1(*) --- > integer itettyp(1000000), jtetoff(1000000), jtet1(1000000) 182c179 < integer itetoff(*), itet1(*) --- > integer itetoff(1000000), itet1(1000000) 187c184 < integer iptest(*), ittest(*) --- > integer iptest(10000000), ittest(10000000) 189c186 < real*8 xradavg(*) --- > real*8 xradavg(1000000) 196,198c193,195 < integer itetpar(*), < * itetkid(*), < * itetlev(*) --- > integer itetpar(1000000), > * itetkid(1000000), > * itetlev(1000000) 206,207c203,204 < integer itflag(*), itadd2(*), iadd2(*) < real*8 xadd2(*), yadd2(*), zadd2(*) --- > integer itflag(1000000), itadd2(1000000), iadd2(1000000) > real*8 xadd2(1000000), yadd2(1000000), zadd2(1000000) 856c853,855 < implicit none --- > implicit none > C > character*132 logmess 859,870c858 < < C arguments < character*(*) cmo_name < integer nadd < pointer (ipitadd, itadd) < integer itadd(nadd) < integer iadd(nadd) < real*8 xadd(nadd), yadd(nadd), zadd(nadd) < < C variables < < integer jt,kf,kt,ie11,ie12,ie10,ie9,ie8,ie7,ie6, --- > integer nadd,leni,jt,kf,kt,ie11,ie12,ie10,ie9,ie8,ie7,ie6, 872c860 < * ie3,ie2,ie1,inc1,inc2,idum,nnodesmm,inc,leni, --- > * ie3,ie2,ie1,inc1,inc2,idum,ics,nnodesmm,inc, 875c863 < * nadd1,irefine,i,icscode,ics,ier,nsdtopo,nen,nef,mbndry, --- > * nadd1,irefine,i,icscode,ier,nsdtopo,nen,nef,mbndry, 877d864 < 879a867,873 > character*(*) cmo_name > C > pointer (ipitadd, itadd) > integer itadd(nadd) > integer iadd(nadd) > real*8 xadd(nadd), yadd(nadd), zadd(nadd) > C 882,893d875 < < pointer (iplist_sink1, list_sink1) < pointer (iplist_source1, list_source1) < integer list_sink1(nadd), list_source1(*) < < pointer (iplist_sink2, list_sink2) < pointer (iplist_source2, list_source2) < integer list_sink2(nadd), list_source2(*) < < pointer (iplist_sink3, list_sink3) < pointer (iplist_source3, list_source3) < integer list_sink3(nadd), list_source3(*) 897c879,884 < integer itp1(*), isn1(*) --- > integer itp1(10000000), isn1(10000000) > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > real*8 xic(10000000), yic(10000000), zic(10000000) > C 900c887 < integer itet1(*), jtet1(*) --- > integer itet1(8*1000000), jtet1(6*1000000) 905,906c892,893 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) 911c898,900 < integer itetpar(*),itetkid(*),itetlev(*) --- > integer itetpar(1000000), > * itetkid(1000000), > * itetlev(1000000) 914c903 < integer iparent(*) --- > integer iparent(1000000) 920,925c909,911 < integer itflag(*),itetnn1(*),jtetnn1(*),jtetnn2(*) < C < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) --- > integer itflag(1000000), > * itetnn1(8*1000000), > * jtetnn1(6*1000000), jtetnn2(6*1000000) 926a913,914 > pointer (iplist_sink1, list_sink1) > pointer (iplist_source1, list_source1) 928c916,919 < real*8 xweight_source1(*) --- > integer list_sink1(nadd), list_source1(1000000) > real*8 xweight_source1(1000000) > pointer (iplist_sink2, list_sink2) > pointer (iplist_source2, list_source2) 930c921,924 < real*8 xweight_source2(*) --- > integer list_sink2(nadd), list_source2(1000000) > real*8 xweight_source2(1000000) > pointer (iplist_sink3, list_sink3) > pointer (iplist_source3, list_source3) 932c926,927 < real*8 xweight_source3(*) --- > integer list_sink3(nadd), list_source3(1000000) > real*8 xweight_source3(1000000) 936d930 < character*132 logmess 942d935 < C BEGIN begin 944a938 > C 945a940 > C 1725c1720,1729 < --- > integer nadd,npoints,length,icmotype,ntets,ierror,mbndry,nen, > * nef,nsdtopo,leni,ier,icscode,i,irefine,nadd1,npointsnew, > * ntetsnew,ntet1,itetiter,it,nef1,ierrw,ntet1_save,it1, > * npointsnew1,npointsinc,nelementsmm,ilen,itype,ninc,inc, > * ntetsinc,nnodesmm,ics,idum,inc1,inc2,i1,i2,i3,i4,kt,kf,jt > real*8 xxsmall > > C > character*132 logmess > C 1728,1729c1732 < < C arguments --- > C 1731c1734 < integer nadd --- > C 1736,1744c1739 < < C variables < < integer npoints,length,icmotype,ntets,ierror,mbndry,nen, < * nef,nsdtopo,leni,ier,icscode,i,irefine,nadd1,npointsnew, < * ntetsnew,ntet1,itetiter,it,nef1,ierrw,ntet1_save,it1, < * npointsnew1,npointsinc,nelementsmm,ilen,itype,ninc,inc, < * ntetsinc,nnodesmm,ics,idum,inc1,inc2,i1,i2,i3,i4,kt,kf,jt < --- > C 1747,1750d1741 < < pointer (iplist_sink, list_sink) < pointer (iplist_source, list_source) < integer list_sink(nadd), list_source(*) 1754c1745,1750 < integer itp1(*), isn1(*) --- > integer itp1(10000000), isn1(10000000) > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > real*8 xic(10000000), yic(10000000), zic(10000000) > C 1757c1753 < integer itet1(*), jtet1(*) --- > integer itet1(4*1000000), jtet1(4*1000000) 1762,1764c1758,1760 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > C 1766,1767c1762,1763 < integer iparent(*) < --- > integer iparent(1000000) > C 1772,1779c1768,1773 < integer itflag(*), itetnn1(*), < * jtetnn1(*),jtetnn2(*) < < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < --- > integer itflag(1000000), > * itetnn1(4*1000000), > * jtetnn1(4*1000000), jtetnn2(4*1000000) > C > pointer (iplist_sink, list_sink) > pointer (iplist_source, list_source) 1781,1783c1775,1776 < real*8 xweight_source(*) < < real*8 xxsmall --- > integer list_sink(nadd), list_source(1000000) > real*8 xweight_source(1000000) 1785d1777 < character*132 logmess 1791d1782 < C BEGIN begin 1793a1785 > C 1794a1787 > C 2169c2162 < CCCCCCC --- > C 2173,2187c2166 < < C arguments < character*(*) cmo < integer nadd < pointer (ipitadd, itadd) < integer itadd(nadd) < integer iadd(nadd) < real*8 xadd(nadd), yadd(nadd), zadd(nadd) < < C variables < < integer nvalues < parameter (nvalues=2) < < integer i,j,k,jcount,ierrdum,leni,kt,kf,isum,ie1, --- > integer nvalues,i,j,k,jcount,ierrdum,leni,kt,kf,isum,ie1, 2193a2173,2184 > real*8 crosx1,crosy1,crosz1,volume,crosx,crosy,crosz, > * a,b,c,d,e,f > C > character*132 logmess > C > character*(*) cmo > integer nadd > pointer (ipitadd, itadd) > integer itadd(nadd) > integer iadd(nadd) > real*8 xadd(nadd), yadd(nadd), zadd(nadd) > C 2197,2198c2188,2192 < integer itp1(*), isn1(*), int1(*) < --- > integer itp1(10000000), isn1(10000000), int1(1000000) > C > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) 2201,2202d2194 < integer itet(3,*), jtet(3,*) < 2205,2206c2197,2199 < integer itet1(*), jtet1(*) < --- > integer itet(3,10000000), jtet(3,10000000) > integer itet1(4*1000000), jtet1(4*1000000) > real*8 xic(10000000), yic(10000000), zic(10000000) 2211,2213d2203 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < 2217,2220c2207,2211 < integer itetnn(3,*), < * itetnn1(3,*), < * itetnn2(3,*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > integer itetnn(3,1000000), > * itetnn1(3,1000000), > * itetnn2(3,1000000) 2224,2226c2215,2218 < integer iedge_tet(*), iedge_face(*), < * iedge_edge(*) < --- > integer iedge_tet(6*1000000), iedge_face(6*1000000), > * iedge_edge(6*1000000) > C > parameter (nvalues=2) 2229,2230c2221,2224 < integer list_sink(*), list_source(nvalues,*) < --- > pointer (ipxweight_source, xweight_source) > integer list_sink(1000000), list_source(nvalues,1000000) > real*8 xweight_source(nvalues,1000000) > C 2232,2233c2226,2227 < integer iparent(*) < --- > integer iparent(1000000) > C 2235d2228 < integer itflag(*) 2237,2238c2230,2232 < integer ifadd(3,*) < --- > integer itflag(1000000) > integer ifadd(3,1000000) > C 2240,2242d2233 < < pointer (ipint1add, int1add) < integer int1add(*) 2244,2250c2235,2236 < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < < pointer (ipxweight_source, xweight_source) < real*8 xweight_source(nvalues,*) --- > pointer (ipint1add, int1add) > integer int1add(1000000) 2251a2238,2239 > character*32 isubname, iblknam, iprtnam > character*32 cmolength 2258,2260d2245 < real*8 crosx1,crosy1,crosz1,volume,crosx,crosy,crosz, < * a,b,c,d,e,f < 2270,2273d2254 < < character*132 logmess < character*32 isubname, iblknam, iprtnam < character*32 cmolength 2795c2776,2779 < implicit none --- > C > implicit none > C > character*132 logmess 2798,2807d2781 < < C arguments < character*(*) cmo_name < integer iprd, nadd < pointer (ipitadd, itadd) < integer itadd(nadd) < integer iadd(nadd) < real*8 xadd(nadd), yadd(nadd), zadd(nadd) < < C variables 2810c2784 < integer lenout, lenitp1, lenisn1, lenitetpar, --- > integer nadd, iprd, lenout, lenitp1, lenisn1, lenitetpar, 2827a2802,2808 > character*(*) cmo_name > C > pointer (ipitadd, itadd) > integer itadd(nadd) > integer iadd(nadd) > real*8 xadd(nadd), yadd(nadd), zadd(nadd) > C 2830,2841d2810 < < pointer (iplist_sink1, list_sink1) < pointer (iplist_source1, list_source1) < integer list_sink1(nadd), list_source1(*) < < pointer (iplist_sink2, list_sink2) < pointer (iplist_source2, list_source2) < integer list_sink2(nadd), list_source2(*) < < pointer (iplist_sink3, list_sink3) < pointer (iplist_source3, list_source3) < integer list_sink3(nadd), list_source3(*) 2845c2814,2819 < integer itp1(*), isn1(*) --- > integer itp1(10000000), isn1(10000000) > pointer (ipxic, xic) > pointer (ipyic, yic) > pointer (ipzic, zic) > real*8 xic(10000000), yic(10000000), zic(10000000) > C 2848,2849c2822 < integer itet1(*), jtet1(*) < --- > integer itet1(8*1000000), jtet1(6*1000000) 2854,2856c2827,2829 < integer itetclr(*), itettyp(*), < * itetoff(*), jtetoff(*) < --- > integer itetclr(1000000), itettyp(1000000), > * itetoff(1000000), jtetoff(1000000) > C 2860,2861c2833,2836 < integer itetpar(*),itetkid(*),itetlev(*) < --- > integer itetpar(1000000), > * itetkid(1000000), > * itetlev(1000000) > C 2863,2864c2838,2839 < integer iparent(*) < --- > integer iparent(1000000) > C 2869,2870c2844,2846 < integer itflag(*),itetnn1(*),jtetnn1(*),jtetnn2(*) < --- > integer itflag(1000000), > * itetnn1(8*1000000), > * jtetnn1(6*1000000), jtetnn2(6*1000000) 2872,2876c2848,2849 < pointer (ipxic, xic) < pointer (ipyic, yic) < pointer (ipzic, zic) < real*8 xic(*), yic(*), zic(*) < --- > pointer (iplist_sink1, list_sink1) > pointer (iplist_source1, list_source1) 2878c2851,2854 < real*8 xweight_source1(*) --- > integer list_sink1(nadd), list_source1(1000000) > real*8 xweight_source1(1000000) > pointer (iplist_sink2, list_sink2) > pointer (iplist_source2, list_source2) 2880c2856,2859 < real*8 xweight_source2(*) --- > integer list_sink2(nadd), list_source2(1000000) > real*8 xweight_source2(1000000) > pointer (iplist_sink3, list_sink3) > pointer (iplist_source3, list_source3) 2882,2883c2861,2862 < real*8 xweight_source3(*) < --- > integer list_sink3(nadd), list_source3(1000000) > real*8 xweight_source3(1000000) 2888c2867 < integer itlist_sink(*), itlist_source(*) --- > integer itlist_sink(10000000), itlist_source(10000000) 2891c2870 < real*8 xtweight_source(*) --- > real*8 xtweight_source(10000000) 2894c2873 < real*8 xradavg(*) --- > real*8 xradavg(1000000) 2897d2875 < 2903d2880 < 2908d2884 < character*132 logmess 2913,2914c2889 < C BEGIN begin < --- > C 2915a2891 > C 2916a2893 > C region.f regset.f remove_bigtet.f remove_bigtri_lg.f reorder.f resetpts.f retrieve_within_eps.f reverseform.f rm.f rmmat.f rmpoint.f rmregion.f rmsphere.f rmsurf.f rmtetless.f rotateln.f rotatelo.f rotatepr.f rotatept.f rzamr_lg.f rzbrick3.f rzbrickg.f rzbrickh.f rz.f rzs.f rzstrat.f rzv_lg.f scale_lg.f select.f setarayp.f set_bit_type.f set_epsilon.f set_global.f sethessian.f set_info_i.f set_jtetoff.f set_user_bounds.f sgd.f 102c102 < C --- > 110,117d109 < < C arguments (cmo,toldamage,msmoothed,mpary_in,mpno_in,ierror) < character*32 cmo < real*8 toldamage < integer msmoothed,mpno_in,ierror < integer mpary_in(*) < < C variables 121,132d112 < integer maxlenstr < parameter (maxlenstr=4095) < < real*8 asmallnumber < parameter (asmallnumber=-1.0d+99) < real*8 tolcutfactor, tolimprovefactor,ctrl < parameter (tolcutfactor=0.25,tolimprovefactor=1.1) < real*8 alg_epsilon < parameter (alg_epsilon=1.d-10) < < logical lusefd < parameter (lusefd=.false.) 133a114 > character*132 logmess 136,137c117 < integer itp1(*),isn1(*),icr1(*),imt1(*) < --- > pointer (ipxic, xic),(ipyic, yic),(ipzic, zic) 139,140c119 < integer itetclr(*) < --- > integer itetclr(lenptr) 142,146d120 < integer itet(*),itetoff(*) < < pointer (ipjtet,jtet),(ipjtetoff,jtetoff) < integer jtet(*),jtetoff(*) < 148,151c122,127 < integer itettyp(*), icontab(50,*) < < pointer (ipxic, xic),(ipyic, yic),(ipzic, zic) < real*8 xic(*),yic(*),zic(*) --- > integer icontab(50,lenptr) > integer itp1(lenptr),isn1(lenptr),icr1(lenptr),imt1(lenptr) > real*8 xic(lenptr),yic(lenptr),zic(lenptr) > integer itet(lenptr),itetoff(lenptr),itettyp(lenptr) > pointer (ipjtet,jtet),(ipjtetoff,jtetoff) > integer jtet(lenptr),jtetoff(lenptr) 154,155c130 < integer nodhyb(*),nodhyboff(*) < --- > integer nodhyb(lenptr),nodhyboff(lenptr) 157,158c132 < integer ieltary(*) < --- > integer ieltary(lenptr) 162,185c136,144 < integer invmpary(*),ichildary(*),invchildary(*), < & ireal1(*),iparent(*),mpary(*) < < pointer (ipvoloff,voloff) < real*8 voloff(*) < < pointer (iplocvoloff,locvoloff),(ipivoloffoff,ivoloffoff) < integer locvoloff(*),ivoloffoff(*) < < pointer (ipiedge,iedge) < integer iedge(*) < pointer (ipiedgeoff,iedgeoff),(ipiedgemat,iedgemat) < integer iedgeoff(*), iedgemat(*) < < pointer (ipitets,itets) < integer itets(3,*) < pointer (iplinkt, linkt) < integer linkt(*) < pointer (ipitfound,itfound),(ipisurftst,isurftst) < integer itfound(*),isurftst(*) < < pointer (ipsbox, sbox),(ipout,out) < real*8 sbox(*),out(*) < --- > integer invmpary(lenptr),ichildary(lenptr),invchildary(lenptr), > & ireal1(lenptr),iparent(lenptr),mpary(lenptr) > pointer (ipvoloff,voloff),(iplocvoloff,locvoloff), > & (ipivoloffoff,ivoloffoff) > real*8 voloff(lenptr) > integer locvoloff(lenptr),ivoloffoff(lenptr) > pointer (ipiedgeoff,iedgeoff),(ipiedge,iedge), > * (ipiedgemat,iedgemat) > integer iedgeoff(lenptr),iedge(lenptr),iedgemat(lenptr) 187,188c146 < real*8 fvec(*),reffield(*) < --- > real*8 fvec(lenptr),reffield(lenptr) 191,199c149 < real*8 hxx(*),hxy(*),hxz(*),hyy(*),hyz(*),hzz(*) < < pointer (ipxics,xics),(ipyics,yics),(ipzics,zics) < real*8 xics(*),yics(*),zics(*) < pointer (ipxsave,xsave),(ipysave,ysave),(ipzsave,zsave) < real*8 xsave(*),ysave(*),zsave(*) < < pointer (ipwork,work) < real*8 work(*) --- > real*8 hxx(*),hxy(*),hxz(*),hyy(*),hyz(*),hzz(*),range 207,211c157,160 < integer mcr(*),mat(*),invneibr(*), < & nearestnbr(*),neibr(*),nbrlist(*), < & ielts(*),tested(*),invtested(*) < < real*8 areak,dnbr(*),pf,pfx(3),pfxx(3,3),distpmin, --- > integer mcr(lenptr),mat(lenptr),invneibr(lenptr), > & nearestnbr(lenptr),neibr(lenptr),nbrlist(lenptr), > & ielts(lenptr),tested(lenptr),invtested(lenptr) > real*8 areak,dnbr(lenptr),pf,pfx(3),pfxx(3,3),distpmin, 213,215c162,166 < * yelm(2),zelm(2),range < < logical lstale(*),lmoved, validfield --- > * yelm(2),zelm(2),asmallnumber > logical lstale(lenptr),lmoved, validfield > > integer maxlenstr > parameter (maxlenstr=4095) 217,218c168,175 < integer iflag, < & nnodes,length,icmotype,nelements,mbndry,icscode, --- > character*8 cdefault, cwarn > character*32 cmo,isubname,cfield,action,cout, > * geom_name > character*132 cbuff > parameter (asmallnumber=-1.0d+99) > > integer mpary_in(lenptr),mpno_in,iflag, > & ierror,nnodes,length,icmotype,nelements,mbndry,icscode, 229c186 < & maxsweep,isweep,ntested,nnodess --- > & msmoothed,maxsweep,isweep,ntested,nnodess 231,232c188,189 < real*8 dnearnbr,frac,damage,xproj,damagea, < & yproj,zproj,a1x,a1y,a1z,ax,ay,az,atot,avec, --- > real*8 toldamage,dnearnbr,frac,damage,xproj,damagea, > & yproj,zproj,a1x,a1y,a1z,ax,ay,az,atot,avec,alg_epsilon, 239c196,209 < * zcenadapt,err,pftot,xcena,ycena,zcena --- > * zcenadapt,err,pftot,xcena,ycena,zcena,v > c > pointer (ipxics,xics),(ipyics,yics),(ipzics,zics) > real*8 xics(*),yics(*),zics(*) > pointer (ipitets,itets) > integer itets(3,*) > pointer (iplinkt, linkt),(ipsbox, sbox),(ipout,out) > integer linkt(*) > real*8 sbox(*),out(*) > pointer (ipitfound,itfound),(ipisurftst,isurftst),(ipwork,work) > integer itfound(*),isurftst(*) > real*8 work(*) > pointer (ipxsave,xsave),(ipysave,ysave),(ipzsave,zsave) > real*8 xsave(*),ysave(*),zsave(*) 240a211,212 > c > parameter (alg_epsilon=1.d-10) 242c214,219 < * goodface --- > * lusefd,goodface > parameter (lusefd=.false.) > character*8 eq > > real*8 tolcutfactor, tolimprovefactor,ctrl > parameter (tolcutfactor=0.25,tolimprovefactor=1.1) 244d220 < C commonly used statment functions include above any other macros 246,253d221 < < character*132 logmess < character*132 cbuff < character*32 isubname,cfield,action,cout,geom_name < character*8 cdefault, cwarn, eq < C < C ############################################################# < C BEGIN begin 1973c1941 < & nnodes,nelements,ichildary, --- > & nnodes,nelements,iedge,iedgeoff,iedgemat,ichildary, 1979a1948,1950 > c > c > c 1983,1985d1953 < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC < C < 2000,2003d1967 < C < C############################################################# < C BEGIN begin < C 2042,2043d2005 < < CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 2057d2018 < 2061d2021 < 2067,2069d2026 < C < C############################################################## < C BEGIN begin sheet.f shtgtsf.f shtgtsfp.f shttst.f shttstv.f smooth.f smooth_vconserve.f smooth_vconserve_triple.f solid_angle_lg.f solvsym3.f sortbins.f 241c241 < 9000 format(" ERROR SORT: found bad mesh object: ",a) --- > 9000 format(" SORT: CMO found bad mesh object: ",a) 252c252 < * ' ERROR SORT: mesh object does not exist: ' --- > * ' SORT: ERROR: mesh object does not exist: ' 261c261 < 9005 format(" ERROR SORT: looking for nnodes of mesh object: ",a) --- > 9005 format(" SORT: ERROR looking for nnodes of mesh object: ",a) 271c271 < 9006 format(" ERROR SORT: looking for nelements of mesh object: ",a) --- > 9006 format(" SORT: ERROR looking for nelements of mesh object: ",a) 277c277 < * ' ERROR SORT: mesh object has 0 elements.' --- > * ' SORT: ERROR mesh object has 0 elements.' 307c307 < 9008 format(" Warning SORT: Arg 7 epsilon_user not float: ",i2) --- > 9008 format(" SORT: Arg(7) epsilon_user not float: ",i2) 309,310c309,310 < write(logmess,'(a)') < * " SORT: Using default epsilon = 1.e-10 " --- > write(logmess,9009) > 9009 format(" SORT: Arg(7) Using default = 1.e-10 ") 325c325 < * ' ERROR SORT: Too many arguments for line_graph option' --- > * ' SORT: ERROR - Too many arguments for line_graph option' 334c334 < 9010 format(" ERROR SORT: invalid option 3 : ",a) --- > 9010 format(" SORT: ERROR invalid option 3 : ",a) 368,373c368,370 < write(logmess,'(a,a)') < * " ERROR SORT: invalid option 4: ", < * cmsgin(4)(1:icharlnf(cmsgin(4))) < call writloga('default',0,logmess,0,ier) < write(logmess,'(a)') < * " SORT: option should be ascending or descending" --- > write(logmess,9018) cmsgin(4)(1:icharlnf(cmsgin(4))) > 9018 format(" SORT: ERROR invalid option 4: ",a, > * " Use: ascending or descending") 419c416 < * ' SORT ERROR: Too many arguments for line_graph option' --- > * ' SORT: ERROR - Too many arguments for line_graph option' 449c446 < * ' ERROR SORT: Quitting early because there are 0 nodes.' --- > * ' SORT: Quitting early because there are 0 nodes.' 462c459 < * ' ERROR SORT: Quitting early because there are 0 elements.' --- > * ' SORT: Quitting early because there are 0 elements.' 510c507 < write(logmess, '(a,a,a,a)') " ERROR SORT: attribute: " --- > write(logmess, '(a,a,a,a)') " SORT: ERROR attribute: " 515c512 < 9027 format(" ERROR SORT: nsort = ",i11) --- > 9027 format(" SORT: ERROR nsort = ",i11) 528c525 < * " ERROR SORT: allocating work array: rwork for option " --- > * " SORT: ERROR allocating work array: rwork for option " 551c548 < 9026 format(" ERROR SORT: att_in length = ",i11) --- > 9026 format(" SORT: ERROR att_in length = ",i11) 587c584 < 9028 format(" ERROR SORT: attribute type=",a, --- > 9028 format(" SORT: ERROR attribute type=",a, 671c668 < * " ERROR SORT: invalid length ", --- > * " SORT: ERROR invalid length ", 681c678 < 9030 format(" ERROR SORT: work array allocation length = ",i11) --- > 9030 format(" SORT: ERROR work array allocation length = ",i11) 723c720 < * ' ERROR SORT: line_graph elements must be of type line.' --- > * 'SORT: ERROR - itet must consist only of line segments.' 791c788 < * " SORT: order key written to attribute: ", --- > * " SORT: new order written to sort key attribute: ", 842c839 < 9010 format(" SORT ERROR: Invalid option: ",a) --- > 9010 format(" SORT: Invalid option: ",a) sparse_lg.f sphere1.f sphere2.f stack_fill.f stack_layers.f stack_options.f surface.f surfac.f surfpts.f surfset.f surftst.f surftstv.f synthnormal.f table_element.f tangent_plane.f taylor_error.f tempgable.f tempgeo.f tempkuprat.f temptam.f termcode.f termgen.f test2to3.f 2,3c2,4 < subroutine test2to3(n1,n2,n3,n4,n5,iflag,npoints,ntets) < C --- > subroutine test2to3(n1,n2,n3,n4,n5,iflag, > * npoints,ntets) > implicit real*8 (a-h,o-z) 50d50 < implicit none 54,64c54,55 < < C arguments (n1,n2,n3,n4,n5,iflag,npoints,ntets) < integer n1,n2,n3,n4,n5,iflag,npoints,ntets < < integer i,j,k,ierror,lenxic,lenyic,lenzic,icmotype < < real*8 xst,xn1,yn1,zn1,sn1,xnorm1,ynorm1,znorm1, < * xnorm2,ynorm2,znorm2,xnorm3,ynorm3,znorm3, < * snorm1,snorm2,snorm3,dot1,dot2,dot3 < < real*8 crosx1,crosy1,crosz1 --- > C > C ###################################################################### 75c66 < C BEGIN begin --- > C test4to4.f 3c3 < C --- > implicit real*8 (a-h,o-z) 55d54 < implicit none 60,73d58 < < C arguments (n1,n2,n3,n4,n5,n6,iflag) < integer n1,n2,n3,n4,n5,n6,iflag < < C variables < integer i,j,k,ierror,lenxic,lenyic,lenzic,icmotype < < real*8 xst,xn1,yn1,zn1,sn1,xnorm1,ynorm1,znorm1, < * xnorm2,ynorm2,znorm2,xnorm3,ynorm3,znorm3, < * snorm1,snorm2,snorm3,dot1,dot2,dot3, < * xnorm4,ynorm4,znorm4,dot4,snorm4 < < real*8 crosx1,crosy1,crosz1 < test_argument_type.f 3,4c3 < * cmsgin,msgtype,nwds) < C --- > x cmsgin,msgtype,nwds) 38,40c37 < < C arguments nargs,itype,istart,imsgin,xmsgin,cmsgin,msgtype,nwds < integer nargs,itype,istart --- > integer itype,istart,nwds,i,index,ierr,nargs 44,47d40 < integer nwds < < C variables < integer i,index,ierr 50,52d42 < C ################################################################### < C BEGIN begin < C test_coupling_coef.f 49c49 < integer isn1(*), itp1(*) --- > integer isn1(1000000), itp1(1000000) 53c53 < integer itettyp(*), itetoff(*) --- > integer itettyp(10000000), itetoff(10000000) 63,65c63,65 < integer itetclr(*), jtetoff(*) < integer itet(*), jtet(*) < real*8 xic(*), yic(*), zic(*) --- > integer itetclr(1000000), jtetoff(1000000) > integer itet(10000000), jtet(10000000) > real*8 xic(1000000), yic(1000000), zic(1000000) 78c78 < real*8 ncc(*) --- > real*8 ncc(10000000) 293c293 < real*8 ncc(*) --- > real*8 ncc(10000000) 295c295 < integer ietet(3,*) --- > integer ietet(3,10000000) 312c312 < integer isn1(*), itp1(*) --- > integer isn1(1000000), itp1(1000000) 316c316 < integer itettyp(*), itetoff(*) --- > integer itettyp(10000000), itetoff(10000000) 326,328c326,328 < integer itetclr(*), jtetoff(*) < integer itet(*), jtet(*) < real*8 xic(*), yic(*), zic(*) --- > integer itetclr(1000000), jtetoff(1000000) > integer itet(10000000), jtet(10000000) > real*8 xic(1000000), yic(1000000), zic(1000000) 330c330 < integer iparent(*) --- > integer iparent(1000000) testdamage.f 1d0 < C 3c2 < C --- > implicit none 38d36 < implicit none 44,45c42 < < C arguments (i1,i2,i3,i4,iflag,toldamage) --- > 48,49d44 < < C variables 154c149 < C --- > implicit none 178,179d172 < implicit none < C 201c194 < C BEGIN begin --- > C test_interior_mat_lg.f 27a28,29 > character*132 logmess > C 29,30d30 < integer itp1(*) < 32,34d31 < pointer ( ipitettyp , itettyp ) < integer itetclr(*),itettyp(*) < 37,38c34 < integer itetoff(*),jtetoff(*) < --- > pointer ( ipitettyp , itettyp ) 41,43c37,40 < integer itet1(*),jtet1(*) < < integer clr(*) --- > pointer ( ipxic,xic) > pointer ( ipyic,yic) > pointer ( ipzic,zic) > real*8 xic(*),yic(*),zic(*) 44a42 > integer clr(*) 49,58d46 < < pointer ( ipibnd1, ibnd1) < integer ibnd1(*) < < integer n(6) < < pointer ( ipxic,xic) < pointer ( ipyic,yic) < pointer ( ipzic,zic) < real*8 xic(*),yic(*),zic(*) 61,62c49,57 < < --- > integer itetclr(*),itettyp(*),itetoff(*),itet1(*),jtet1(*), > * jtetoff(*) > integer itp1(*) > C > pointer ( ipibnd1, ibnd1) > integer ibnd1(*) > C > C####################################################################### > C 65,72c60 < * maxfacets < < real*8 a(6) < real*8 vol,vol1,areatri < < include 'statementfunctions.h' < < character*132 logmess --- > * maxfacets,n(6) 73a62,63 > real*8 vol,vol1,areatri,a(6) > include 'statementfunctions.h' 76,77d65 < C BEGIN begin < C 140d127 < C NOTE compiler warning of unsafe goto 50 statement 217,219d203 < < C compiler WARNING < C Transfer of control into the DO loop is not safe tettestd.f 1c1 < C --- > 610c610 < --- > *dk,tettestd 611a612 > implicit real*8 (a-h,o-z) 649d649 < implicit none 654,656d653 < integer ierror,nwrite,maxnef,length,icmotype,ierr,i,it,ier, < * lenitetclr,lenitettyp,lenitet,lenjtet,idebug,len, < * mbndry_test,iwrite,nholes,nholed,nincons,k,ierrwrt translate.f tree_to_fe.f triangulate_lg.f tritri.f try2to0b.f 4a5 > implicit real*8 (a-h,o-z) 16d16 < C note iary is now an array of itets 68,69d67 < implicit none < C 73,77d70 < < C arguments (iary,ntet,nflips,nflipsb,it2,npoints,ntets) < integer iary(*) < integer ntet,nflips,nflipsb,it2,npoints,ntets < 79c72,73 < integer nmulti --- > C ###################################################################### > C 81,82c75,77 < integer ichain0(nmulti),imt0(nmulti) < --- > dimension ichain0(nmulti),imt0(nmulti) > c pointer( ipiary , iary(1) ) > integer iary(1000000) 84,90c79,80 < integer int1(*) < < integer ierror,length,icmotype,lenimt1,lenitp1, < * lenitetclr,ier,lenitet,lenjtet,i,it,imtx,j,k, < * jtemp,ict,ipar,index,kpt2,ifpos,ierr < < character*32 isubname --- > integer int1(1000000) > character*8 isubname 93c83,84 < C BEGIN begin --- > C > C try2to0.f 3a4 > implicit real*8 (a-h,o-z) 14,15d14 < C this has been changed to an array for itets < C usually with itets(4) from recon2 57,58d55 < implicit none < C 62,72c59,64 < < C arguments (iary,ntet,nflips,it2,npoints,ntets) < < integer iary(*) < integer ntet,nflips,it2,npoints,ntets < < C variables < < integer ierror,length,icmotype,lenitetclr,ier,lenitet, < * lenjtet,i,it,j,k < --- > C > C ###################################################################### > C > c pointer( ipiary , iary(ntet) ) > integer iary(1000000) > C 74,75c66,68 < C BEGIN begin < --- > C > C > C 89a83 > C 91a86 > C try2to2b.f 3a4 > implicit real*8 (a-h,o-z) 78c79,80 < implicit none --- > C > C ###################################################################### 84,90c86,88 < < C arguments (nface,n2to2,npoints,ntets) < integer nface,n2to2,npoints,ntets < < C variables < integer id(8),jd(8),itets(301) < --- > C > C ###################################################################### > C 92,105c90,91 < integer icontab(50,*) < < integer i,j,k,i1,i2,i3,i4,i5,ip1,ip2,it,it2 < integer ierror,length,icmotype,nconbnd,lenitp1,lenicr1, < * lenxic,lenyic,lenzic,lenitetclr,ier,lenitet, < * lenjtet,ilen,itwo,iface,n1,n2,n3,volit,n2to0, < * volit2,m,idup,icrnbr1,icrnbr2,icrnbr4, < * icrnbr5,j1,j2,j4,j5,irb1,irb2,irb4,irb5, < * iepos,iofs,ipos2,iflag,ntet,ibndflg,ivorerr, < * itlast,itest1,itest2,idum,ierrwrt,nflips,itx < < real*8 xn,yn,zn,sn,xnorm1,ynorm1,znorm1,snorm1, < * xnorm2,ynorm2,znorm2,snorm2,dot1,dot2,xst < --- > integer icontab(50,1000000) > dimension id(8),jd(8),ktmp(lenblk),itets(301) 108c94,98 < real*8 crosx1,crosy1,crosz1,volume --- > dimension ifindx(4,4) > C > C ###################################################################### > C > C 118,120d107 < < C < character*132 logmess 123c110 < C BEGIN begin --- > C try2to2r.f 4c4 < --- > implicit real*8 (a-h,o-z) 69,70d68 < implicit none < C 76,84c74,78 < < C arguments (nface,n2to2,npoints,ntets,toldamage) < integer nface,n2to2,npoints,ntets < real*8 toldamage < < C variables < < integer id(8),jd(8),itets(301) < --- > C > C ###################################################################### > C > dimension id(8),jd(8),ktmp(lenblk),itets(301) > C 86,103c80,81 < integer icontab(50,*) < < integer i,j,k,i1,i2,i3,i4,i5,ip1,ip2,it,it2,ipos1 < integer ierror,length,icmotype,lenitp1,lenicr1, < * lenxic,lenyic,lenzic,lenitetclr,ier,lenitet, < * lenjtet,itwo,iface,n1,n2,n3,volit,n2to0, < * volit2,m,idup,icrnbr1,icrnbr2,icrnbr4, < * icrnbr5,j1,j2,j4,j5,irb1,irb2,irb4,irb5, < * ipos2,iflag, < * nflips,itx < < real*8 xn,yn,zn,sn,xnorm1,ynorm1,znorm1,snorm1, < * xnorm2,ynorm2,znorm2,snorm2,dot1,dot2,xst < real*8 a124x,a124y,a124z,a215x,a215y,a215z, < * atotx,atoty,atotz,atot,xmid,ymid,zmid, < * dot124,dot215,dot4,dot5,dotmin,dotmax, < * damage,dist4,dist5 < --- > integer icontab(50,1000000) > dimension ifindx(4,4) 106c84,86 < real*8 crosx1,crosy1,crosz1,volume --- > C ###################################################################### > C > C 116,117d95 < < character*32 isubname 120c98 < C BEGIN begin --- > C try2to3i.f 3a4 > implicit real*8 (a-h,o-z) 70,71d70 < implicit none < C 75,81c74,76 < < C arguments (it1,ifpos1,it2,ibdytet,iflip,npoints,ntets) < integer it1,ifpos1,it2,ibdytet,iflip,npoints,ntets < < C variables < < integer nmulti --- > C > C ###################################################################### > C 83,89c78,82 < < integer kpts(3),ichain1(nmulti),imt0(nmulti) < < integer ierror,length,icmotype,lenitetclr,ier,lenitet, < * lenjtet,m,kpos1,kpt,kpos2,k,ktest,ict1,ipar < < C MACROS function statements --- > dimension kpts(3),ichain1(nmulti),imt0(nmulti) > C > C ###################################################################### > C > C MACROS. 91d83 < integer iposfnd,i0,i1,i2,i3,i4 94d85 < 97c88 < C BEGIN begin --- > C try4to4x.f 3a4 > implicit none 65,66d65 < implicit none < 70,75c69,71 < < C arguments (iepos,it,iflag,nface2,i,npoints,ntets) < integer iepos,it,iflag,nface2,i,npoints,ntets < < C variables < --- > C > C ###################################################################### > C 79d74 < 82c77 < --- > real*8 crosx1,crosy1,crosz1,volume 86,87c81 < < integer ip,itv,nflips,ierflg,ifindopt,np1,np2,np3,jf1,jf2, --- > integer ip,itv,nflips,ierflg,ifindopt,np1,np2,np3,jf1,jf2,idum, 89,90c83,84 < * ier,ifour,it2,it4,ipos2,it3,ipos3,idum, < * j,k,i1,i2,i3,i4 --- > * ier,ifour,it2,it4,ipos2,it3,ipos3 > integer iepos,it,iflag,nface2,i,npoints,ntets,j,k,i1,i2,i3,i4 92d85 < real*8 crosx1,crosy1,crosz1,volume 104c97 < C BEGIN begin --- > C try4to4xv.f 4a5 > implicit none 50,51d50 < implicit none < C 55,75c54,60 < < C arguments < C (iepos,it,iflag,ntet,mtet,xmegah,xmegadet,xmegaerr, < C npoints,ntets,toldamage,iopt2to2) < < integer iepos,it,iflag < integer ntet(*),mtet(*) < real*8 xmegah(*), xmegadet(*), xmegaerr(*) < integer npoints,ntets < real*8 toldamage < integer iopt2to2 < < C variables < integer nmulti < data nmulti/200/ < < integer idold(16),idnew(16),jdold(16),jdnew(16) < integer imt1a(200),ichain(200) < < integer i,it2,it3,it4,it5,ifac,ifac2,ifac3, < * ifac4, ierror, length,icmotype,ierflg, --- > C > C ###################################################################### > C > integer ntet(*),mtet(*), > * idold(16),idnew(16),jdold(16),jdnew(16) > integer iepos,it,iflag, i,it2,it3,it4,it5,ifac,ifac2,ifac3, > * ifac4, ierror, npoints,ntets,length,icmotype,ierflg, 77,85c62,66 < * ifour,ier,j,k,kpe,nsd,n,m,iofs,jj,ipar,i3b,i4b, < * ict,imtx,iflg,ipar1 < < logical flip,interface1,interface2,itsttp < < real*8 xxlarge,val1,val2,vol1,vol2,vol3,vol4, < * valinit,en,em < < real*8 alargenumber --- > * ifour,ier,j,k,kpe,nsd,n,m,iofs,jj,nmulti,ipar,i3b,i4b, > * ict,imt1a(200),ichain(200),imtx,iflg,ipar1,iopt2to2 > real*8 crosx1,crosy1,crosz1,volume,xxlarge,val1,val2, > * vol1,vol2,vol3,vol4,alargenumber, > * valinit,en,em,toldamage 86a68,70 > real*8 xmegah(*), xmegadet(*),xmegaerr(*) > logical flip,interface1,interface2,itsttp > data nmulti/200/ 88d71 < real*8 crosx1,crosy1,crosz1,volume 100c83 < C BEGIN begin --- > C tst2to3i.f 4c4 < C --- > implicit real*8 (a-h,o-z) 57d56 < implicit none 63,75d61 < < C arguments (n1,n2,n3,n4,n5,iflag1,iflag2,npoints,ntets) < integer n1,n2,n3,n4,n5,iflag1,iflag2,npoints,ntets < < C variables < integer i,j,k,ierror,lenxic,lenyic,lenzic,icmotype < < real*8 xst,xn1,yn1,zn1,sn1,xnorm1,ynorm1,znorm1, < * xnorm2,ynorm2,znorm2,xnorm3,ynorm3,znorm3, < * snorm1,snorm2,snorm3,dot1,dot2,dot3, < * test1,test2,test3 < < real*8 crosx1,crosy1,crosz1 89c75 < C BEGIN begin --- > C tstregv.f 48d47 < C arguments (x,y,z,npts,epsln,regname,iregloc,ierr) 52d50 < integer iregloc(npts) 54,57c52 < < C variables < integer iout,lout,itype,ierror,length,i < --- > integer iregloc(npts) 60d54 < 61a56 > integer iout,lout,itype,ierror,length,i 64d58 < C BEGIN begin ung2avs.f unpackpc.f unpacktp.f upscale.f verify_edges.f volume_element.f volume_hex.f volume_node.f volume_qud.f volume_tet.f volume_tri.f voravg2d.f vorfclst.f voron2d.f voronoi_center.f voronoi_stor.f 3003,3005d3002 < < C compiler error - This statement can not be reached. < C need to redo this weird set of statements 3007d3003 < vorpoint.f vorpts_lg.f writedump.f writfls.f writinit.f writloga.f writlogb.f writset.f x3d_error.f xinterpolate.f xsectelm.f xsumsp2r.f xsumspi.f xyznorm.f 48,49c48,49 < implicit none < --- > implicit real*8 (a-h,o-z) > C 51,55d50 < < C arguments < real*8 x1,y1,z1,x2,y2,z2 < C variables < real*8 x0,y0,z0,ax,bx,cx,ay,by,cy,az,bz,cz zq.f cmo_interpolate.F getsfact.F 1,3d0 < C < C This file has subroutines getsfact and getsfactv < C 5a3,5 > implicit none > C > character*132 logmess 100d99 < implicit none 102,116c101,102 < C args getsfact(x1,y1,z1,x2,y2,z2,cmo,istype,surfdata, < C sheetnm,ckmin,ckmax,epsln,sfact,nsfact) < < character*32 cmo, sheetnm, istype < real*8 x1,y1,z1,x2,y2,z2,ckmin,ckmax,epsln < real*8 sfact(100) < real*8 surfdata(*) < integer nsfact < < C variables < < real*8 ckzero < parameter(ckzero=1.0d-14) < < real*8 rnorm,sck1,ts,xchk,ychk,zchk,xc,yc,zc,s1,s2,t1,t2, --- > real*8 sfact(100),ckmin,ckmax,epsln,ckzero,x1,y1,z1, > * x2,y2,z2,rnorm,sck1,ts,xchk,ychk,zchk,xc,yc,zc,s1,s2,t1,t2, 119c105 < --- > parameter(ckzero=1.0d-14) 126a113 > real*8 surfdata(*) 128,130c115 < integer istrt,i,iout,ntab,itype < C < character*32 cgeom --- > integer nsfact,istrt,i,iout,ntab,itype 132,133c117 < C ################################################################### < C BEGIN begin --- > character*32 cgeom,sheetnm,istype,cmo 652,663c636 < < C arguments getsfactv(x1,y1,z1,x2,y2,z2,nvec,cmo,istype,surfdata, < C sheetnm,ckmin,ckmax,epsln,sfact,nsfact) < < character*32 cmo, sheetnm, istype < real*8 sfact(100,*), x1(*), y1(*), z1(*), < & x2(*), y2(*), z2(*), surfdata(*) < real*8 ckmin,ckmax,epsln < integer nsfact(*), nvec < < C variables < --- > 666,670d638 < < real*8 ckzero < parameter(ckzero=1.0d-14) < < integer isurftst(6*KVECLEN),line(6*KVECLEN) 671a640,641 > real*8 sfact(100,lenptr), x1(lenptr), y1(lenptr), z1(lenptr), > & x2(lenptr), y2(lenptr), z2(lenptr) 674,675c644,646 < < real*8 a,b,c,d,denom,chksqr,cv,rnorm --- > integer nsfact(lenptr),isurftst(6*KVECLEN),line(6*KVECLEN) > > real*8 a,b,c,d,denom,chksqr,cv,rnorm,surfdata(*) 677,678c648,649 < real*8 chksqrd,zv,rt1,rt2,zt1,zt2,zr1t,zr2t, < & sck1,ts,xc,yc,zc,s1,s2,t1,t2,sck2,xe, --- > real*8 chksqrd,zv,rt1,rt2,zt1,zt2,zr1t,zr2t,ckzero, > & ckmin,ckmax,epsln,sck1,ts,xc,yc,zc,s1,s2,t1,t2,sck2,xe, 681,682c652 < < integer i,j,istrt,ivec,iout,k,ntab,ioff,loclen, --- > integer nvec,nwdat,i,j,istrt,ivec,iout,k,ntab,ioff,loclen, 684c654 < C --- > parameter(ckzero=1.0d-14) 686c656,657 < character*32 cgeom --- > C > character*32 istype, cgeom, cmo, sheetnm 689d659 < C BEGIN begin 691d660 < if (nvec .le. 0) call x3d_error('getsfact','nvec = 0') initlagrit.F memory.F pset.F 379,381c379,381 < integer isetwd(*) < integer imt1(*), itp1(*), < * icr1(*), isn1(*), xtetwd --- > integer isetwd(nplen) > integer imt1(nplen), itp1(nplen), > * icr1(nplen), isn1(nplen), xtetwd 393c393 < real*8 xic(*), yic(*), zic(*) --- > real*8 xic(nplen), yic(nplen), zic(nplen) 396a397,398 > C > C 413c415 < integer ipointi,ipointj,icscode,lenname,lenmode --- > integer imask,ipointi,ipointj,icscode,lenname,lenmode 415c417 < * nmask,it,k,kk,ivaltypa --- > * nmask,it,k,kk,ivaltypa 469,471d470 < C < integer imask < imask(i)=2**(i-1) 479a479,485 > > C ###################################################################### > C > C > imask(i)=2**(i-1) > > C 481d486 < C BEGIN begin 486d490 < i = 0 regnpts.F sbinit.F setsize.F blockcom.h chydro.h cmerge.h cmo.h 145,147c145,147 < integer isetwd(*), ialias(*) < integer imt1(*), itp1(*), < * icr1(*), isn1(*) --- > integer isetwd(1000000), ialias(1000000) > integer imt1(1000000), itp1(1000000), > * icr1(1000000), isn1(1000000) 163c163 < REAL*8 xic(*), yic(*), zic(*) --- > REAL*8 xic(1000000), yic(1000000), zic(1000000) 177,179c177,179 < integer itetclr(*), itettyp(*) < integer itet(4,*), itet1(*) < integer jtet(4,*), jtet1(*) --- > integer itetclr(1000000), itettyp(1000000) > integer itet(4,1000000), itet1(4*1000000) > integer jtet(4,1000000), jtet1(4*1000000) cmo_lg.h commands_lg.h consts.h copyrite.h geom_lg.h global_lg.h local_element.h logcom1.h machine.h machine_header.h machine_m32.h machine_m64.h massage.h metis_defs.h metis.h metis_macros.h metis_proto.h metis_rename.h metis_struct.h neibor.h search.h smooth.h sparseMatrix.h statementfunctions.h type_sizes.h June 28 2012 realm: LaGrit Mercurial repository user: tam remote: adding changesets remote: adding manifests remote: adding file changes remote: added 24 changesets with 157 changes to 154 files remote: notify: sending 1 subscribers 24 changes changeset bb2aafe605f3 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=bb2aafe605f3 summary: New version LaGriT V3.005 fixes lin64 bugs changeset d637862151e0 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=d637862151e0 summary: Cleaned out extra copyright text that is already in copyrite.h changeset 39b6e9e3baf1 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=39b6e9e3baf1 summary: leaned out extra copyright text that is already in copyrite.h changeset 1772e64854f2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=1772e64854f2 summary: Cleaned out extra copyright text that is already in copyrite.h changeset ab2730c29e18 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=ab2730c29e18 summary: Updated copyright text to current version and date changeset fa4c53212132 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=fa4c53212132 summary: Cleaned out extra copyright text that is already in copyrite.h changeset e085ce7ab474 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=e085ce7ab474 summary: Added copyright notices for netcdf and exodus libs changeset 26bc959c1f5d in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=26bc959c1f5d summary: fixed bug with ipointi and ipointj are not set correctly. changeset a3a1538b7dd4 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=a3a1538b7dd4 summary: close #114 added recpgmotopm pf tab as white space and added reporting changeset c58656fad1f2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c58656fad1f2 summary: Fixed some bugs by cleaning up code and adding clearer reporting changeset f2d17a4fa32e in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=f2d17a4fa32e summary: Added error checking for bad file name or number changeset 19ae78c8a99c in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=19ae78c8a99c summary: Added ifdef macx64 for sizes on mac 64 bit changeset 5f0fbc2d604a in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=5f0fbc2d604a summary: Commented out pesky log2(int) declaration changeset c538afb52d00 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c538afb52d00 summary: Added ifdef macx64 for sizes on mac 64 bit changeset be029ee95d98 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=be029ee95d98 summary: If error on cmo copy the routine now creates error flag and returns changeset fe1197800080 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=fe1197800080 summary: Added the compiled versions of machine.h for 32 and 64 bit changeset 52d3bad181b4 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=52d3bad181b4 summary: Changed explicit call to python to /n/local_linux/epd/bin/python2.7 changeset 19eb3266690f in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=19eb3266690f summary: This is the code that writes facesets from avs files with full method changeset ea01842e1151 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=ea01842e1151 summary: Major rewrite parsing arguments to avoid seg faults, added testing changeset c67f685f74f1 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=c67f685f74f1 summary: Major changes to error and status reporting, more relevant, changeset fd70bc872c52 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=fd70bc872c52 summary: fixed argument to line_graph_nsort to be nelem instead of nnodes changeset 35a8e688edaf in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=35a8e688edaf summary: Added tests for cmo_readatt and hybrid_volume, expanded sort line_graph tests, changeset b2f6aed71104 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=b2f6aed71104 summary: dump exo facesets new syntax and error reporting changeset 9a8eae3185f6 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=9a8eae3185f6 summary: finish new codes for V3.005 diffstat: bin/Versions.txt | 72 + bin/lagrit_lin_g | 0 src/Makefile | 41 +- src/Makefile.depends | 1 + src/README.compile | 167 + src/anothermatbld3d_wrapper.f | 12 - src/assign_quadrant_id.f | 12 - src/cmo_addatt.f | 69 +- src/cmo_addatt_cmo.f | 29 +- src/cmo_delatt.f | 11 +- src/cmo_get_attinfo.f | 27 +- src/cmo_get_info.f | 47 +- src/cmo_get_intinfo.f | 25 +- src/cmo_readatt.f | 285 +- src/control_command_lg.f | 17 +- src/copyrite.h | 47 +- src/dot_product_6_planes.f | 14 +- src/dump_fehm_geom.f | 12 - src/dump_interface_list.f | 12 - src/dump_material_list.f | 13 +- src/dump_multi_mat_con.f | 12 - src/dump_outside_list.f | 12 - src/dump_parent_list.f | 12 - src/dumpexodusII.f | 539 +- src/exodusII.inc | 90 +- src/getbit.f | 13 +- src/identify_dot.f | 12 - src/lagrit.h | 4 +- src/lagrit_lin.h | 4 +- src/lagrit_lin64.h | 4 +- src/lagrit_mac.h | 4 +- src/lagrit_maci.h | 4 +- src/lagrit_maci64.h | 32 + src/lagrit_sgi.h | 4 +- src/lagrit_sun.h | 4 +- src/line_graph_nsort.cpp | 329 + src/machine_header.h | 18 +- src/machine_m32.h | 138 + src/machine_m64.h | 138 + src/mask_icr.f | 12 - src/matbld2d_stor.f | 13 - src/matbld3d_stor.f | 12 - src/matrix_values_compress.c | 10 +- src/metis_proto.h | 2 +- src/msgtty.f | 2 +- src/read_trilayers.f | 16 +- src/reorder.f | 4 +- src/set_bit_type.f | 13 +- src/skiplist.ch | 9 + src/sortbins.f | 561 +- src/stack_layers.f | 47 +- src/stack_options.f | 8 +- src/translate.f | 3 + src/type_sizes.h | 14 + src/writedump.f | 31 +- test/level01/addmesh_add/reference_06V1.104/addmesh_add.gmv | 0 test/level01/addmesh_add/reference_06V1.104/addmesh_connect.gmv | 0 test/level01/addmesh_add/reference_06V1.104/input.lgi | 131 - test/level01/addmesh_add/reference_06V1.104/logx3dgen | 76 - test/level01/addmesh_add/reference_06V1.104/merge_hex.gmv | 0 test/level01/addmesh_add/reference_06V1.104/merge_hex2.gmv | 0 test/level01/addmesh_add/reference_06V1.104/merge_hex2.inp | 40 - test/level01/addmesh_add/reference_06V1.104/outx3dgen | 474 - test/level01/addmesh_add/reference_06V1.104/polygon.gmv | 0 test/level01/addmesh_add/reference_06V1.104/polygon.inp | 11540 - test/level01/addmesh_append/reference_06V1.104/append_hex2.gmv | 0 test/level01/addmesh_append/reference_06V1.104/append_hex2.inp | 51 - test/level01/addmesh_append/reference_06V1.104/input.lgi | 82 - test/level01/addmesh_append/reference_06V1.104/logx3dgen | 56 - test/level01/addmesh_append/reference_06V1.104/outx3dgen | 329 - test/level01/addmesh_doublemesh/reference_06V1.104/compare_doublemesh | 322 - test/level01/addmesh_doublemesh/reference_06V1.104/input_doublemesh.lgd | 0 test/level01/addmesh_doublemesh/reference_06V1.104/lagrit_input_doublemesh | 59 - test/level01/addmesh_doublemesh/reference_06V1.104/output_doublemesh | 475 - test/level01/addmesh_doublemesh/reference_06V1.104/output_doublemesh.gmv | 0 test/level01/addmesh_doublemesh/reference_06V1.104/output_doublemesh.log | 55 - test/level01/addmesh_doublemesh/reference_06V1.104/outx3dgen | 416 - test/level01/addmesh_doublemesh/reference_06V1.104/time_doublemesh | 4 - test/level01/check_test.py | 24 +- test/level01/cmo_readatt/input.dat | 7 + test/level01/cmo_readatt/input.lgi | 69 + test/level01/cmo_readatt/input_bad.dat | 7 + test/level01/cmo_readatt/input_dylan.dat | 10 + test/level01/cmo_readatt/input_ev.dat | 14261 + test/level01/cmo_readatt/input_tab.dat | 8 + test/level01/cmo_readatt/input_tabs.lgi | 9 + test/level01/cmo_readatt/reference/input.dat | 7 + test/level01/cmo_readatt/reference/input.lgi | 69 + test/level01/cmo_readatt/reference/input.log | 43 + test/level01/cmo_readatt/reference/input.out | 535 + test/level01/cmo_readatt/reference/input_V3.004.out | 524 + test/level01/cmo_readatt/reference/input_bad.dat | 7 + test/level01/cmo_readatt/reference/input_dylan.dat | 10 + test/level01/cmo_readatt/reference/input_ev.dat | 14261 + test/level01/cmo_readatt/reference/input_tab.dat | 8 + test/level01/cmo_readatt/reference/input_tabs.lgi | 9 + test/level01/cmo_readatt/reference/logx3dgen | 43 + test/level01/cmo_readatt/reference/output1.inp | 22 + test/level01/cmo_readatt/reference/output_dylan.gmv | 29 + test/level01/cmo_readatt/reference/output_dylan.inp | 27 + test/level01/cmo_readatt/reference/output_dylan_add.gmv | 37 + test/level01/cmo_readatt/reference/output_dylan_add.inp | 47 + test/level01/cmo_readatt/reference/output_ev.gmv | 0 test/level01/cmo_readatt/reference/output_ev.inp | 28242 + test/level01/cmo_readatt/reference/outx3dgen | 559 + test/level01/connect_cube/reference_06V1.104/compare_connect | 178 - test/level01/connect_cube/reference_06V1.104/lagrit_input_connect | 27 - test/level01/connect_cube/reference_06V1.104/output_conn1.gmv | 0 test/level01/connect_cube/reference_06V1.104/output_conn2.gmv | 0 test/level01/connect_cube/reference_06V1.104/output_connect | 243 - test/level01/connect_cube/reference_06V1.104/output_connect.log | 15 - test/level01/connect_cube/reference_06V1.104/outx3dgen | 216 - test/level01/connect_cube/reference_06V1.104/time_connect | 4 - test/level01/connect_errors/reference/outx3dgen | 14 +- test/level01/createpts/reference_06V1.104/compare_createbrick | 214 - test/level01/createpts/reference_06V1.104/lagrit_input_createbrick | 60 - test/level01/createpts/reference_06V1.104/output_createbrick | 411 - test/level01/createpts/reference_06V1.104/output_createbrick.gmv | 0 test/level01/createpts/reference_06V1.104/output_createbrick.log | 23 - test/level01/createpts/reference_06V1.104/output_quad.gmv | 0 test/level01/createpts/reference_06V1.104/outx3dgen | 358 - test/level01/createpts/reference_06V1.104/time_createbrick | 4 - test/level01/exodus/reference/outx3dgen | 14 +- test/level01/hybrid_volume/input.lgi | 104 + test/level01/hybrid_volume/reference/input.lgi | 104 + test/level01/hybrid_volume/reference/logx3dgen | 26 + test/level01/hybrid_volume/reference/outx3dgen | 440 + test/level01/hybrid_volume/reference/test01.gmv | 0 test/level01/hybrid_volume/reference/test01.stor | 4509 + test/level01/hybrid_volume/reference/test02.gmv | 0 test/level01/hybrid_volume/reference/test03.gmv | 0 test/level01/hybrid_volume/reference/test03.inp | 15 + test/level01/hybrid_volume/reference/test04.gmv | 0 test/level01/hybrid_volume/reference/test04.inp | 152 + test/level01/hybrid_volume/reference/test04.stor | 189 + test/level01/hybrid_volume/reference/test05.stor | 11176 + test/level01/hybrid_volume/reference/test06.stor | 7808 + test/level01/hybrid_volume/reference/test07.stor | 4509 + test/level01/hybrid_volume/reference/test08.stor | 926560 ++++++++++ test/level01/hybrid_volume/reference/test09.gmv | 0 test/level01/hybrid_volume/reference/test09.inp | 6 + test/level01/hybrid_volume/reference/test09_hybrid.stor | 14 + test/level01/hybrid_volume/reference/test09_nohybrid.stor | 14 + test/level01/hybrid_volume/reference/test11.gmv | 0 test/level01/hybrid_volume/reference/test11.stor | 65 + test/level01/hybrid_volume/reference/test11_h.stor | 65 + test/level01/hybrid_volume/test01.gmv | 0 test/level01/hybrid_volume/test01.stor | 4509 + test/level01/hybrid_volume/test01_ascii.gmv | 0 test/level01/hybrid_volume/test02.gmv | 0 test/level01/hybrid_volume/test03.gmv | 0 test/level01/hybrid_volume/test03.inp | 15 + test/level01/hybrid_volume/test04.gmv | 0 test/level01/hybrid_volume/test04.inp | 152 + test/level01/hybrid_volume/test04.stor | 189 + test/level01/hybrid_volume/test05.stor | 11176 + test/level01/hybrid_volume/test06.stor | 7808 + test/level01/hybrid_volume/test07.stor | 4509 + test/level01/hybrid_volume/test08.gmv | 0 test/level01/hybrid_volume/test08.stor | 926560 ++++++++++ test/level01/hybrid_volume/test09.gmv | 0 test/level01/hybrid_volume/test09.inp | 6 + test/level01/hybrid_volume/test09_hybrid.stor | 14 + test/level01/hybrid_volume/test09_nohybrid.stor | 14 + test/level01/hybrid_volume/test11.gmv | 0 test/level01/hybrid_volume/test11.stor | 65 + test/level01/hybrid_volume/test11_h.stor | 65 + test/level01/hybrid_volume/x.in | 6 + test/level01/interp_continuous/reference_06V1.104/compare_continuous | 1045 - test/level01/interp_continuous/reference_06V1.104/input.lgi | 249 - test/level01/interp_continuous/reference_06V1.104/input_2d_hires.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_2d_hires_trans.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_3d_hex.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_500_quad.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_hex.inp | 23 - test/level01/interp_continuous/reference_06V1.104/input_hex1_med.inp | 32 - test/level01/interp_continuous/reference_06V1.104/input_random500_quad.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_random500_tri.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_random500_tri_id.gmv | 0 test/level01/interp_continuous/reference_06V1.104/input_tet3x3_flat.inp | 136 - test/level01/interp_continuous/reference_06V1.104/logx3dgen | 102 - test/level01/interp_continuous/reference_06V1.104/output_con01.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02a.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02b.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con02c.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con04.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_con05.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con01.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con02.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con04.gmv | 0 test/level01/interp_continuous/reference_06V1.104/output_view_con05.gmv | 0 test/level01/interp_continuous/reference_06V1.104/outx3dgen | 1473 - test/level01/interp_map/reference_06V1.104/compare_map | 2270 - test/level01/interp_map/reference_06V1.104/input_1row_hex.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_quad.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_tet.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_tri.gmv | 0 test/level01/interp_map/reference_06V1.104/input_1row_tri.inp | 19 - test/level01/interp_map/reference_06V1.104/input_2d_hires.gmv | 0 test/level01/interp_map/reference_06V1.104/input_2d_hires_trans.gmv | 0 test/level01/interp_map/reference_06V1.104/input_3d_hex.gmv | 0 test/level01/interp_map/reference_06V1.104/input_3d_hex_small.gmv | 0 test/level01/interp_map/reference_06V1.104/input_tet24.gmv | 0 test/level01/interp_map/reference_06V1.104/lagrit_input_map | 484 - test/level01/interp_map/reference_06V1.104/output_map | 3515 - test/level01/interp_map/reference_06V1.104/output_map.log | 198 - test/level01/interp_map/reference_06V1.104/output_map01_max.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map01_min.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map02_nearest.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map02_plus1.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map02_user.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map03.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map04.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map05.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map06.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map07.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map08.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map09.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map10.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map11.gmv | 0 test/level01/interp_map/reference_06V1.104/output_map12.gmv | 0 test/level01/interp_map/reference_06V1.104/outx3dgen | 3300 - test/level01/interp_map/reference_06V1.104/time_map | 7 - test/level01/interp_voronoi/reference_06V1.104/output_view_vor01.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor02.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor03.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor04.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor05.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor06.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor07.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor08.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor09.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor10.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor11.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor12.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor13.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor14.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_view_vor15.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor01.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor02.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor03.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor04.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor05.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor06.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor07.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor08.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor09.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor10.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor11.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor12.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor13.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor14.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/output_vor15.gmv | 0 test/level01/interp_voronoi/reference_06V1.104/outx3dgen | 3584 - test/level01/intersect/reference/lg_intersect_output3.png | 0 test/level01/intersect/reference/output_test03.gmv | 0 test/level01/intersect/reference/outx3dgen | 52 +- test/level01/intrp_2D_sizes/2d_sink_new.gmv | 2 +- test/level01/intrp_2D_sizes/reference_06V1.104/append_1.em10.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/append_1.ep00.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/append_1scale.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/interpolate_2d_field.outx3dgen | 419 - test/level01/intrp_2D_sizes/reference_06V1.104/intrp_pts.outx3dgen | 338 - test/level01/intrp_2D_sizes/reference_06V1.104/logx3dgen | 69 - test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em02.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em04.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em06.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em06.inp | 7771 - test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em08.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em10.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.em11.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep00.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep00.inp | 7771 - test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep02.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep04.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep06.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep08.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1.ep10.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_1scale.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp.inp | 400007 ---- test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp_pts1.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/out_intrp_pts2.gmv | 0 test/level01/intrp_2D_sizes/reference_06V1.104/outx3dgen | 12300 - test/level01/io_agf_simple/input_tet24.inp | 608 - test/level01/io_agf_simple/reference_06V1.104/compare_fehm | 611 - test/level01/io_agf_simple/reference_06V1.104/input_unit_tet.inp | 36 - test/level01/io_agf_simple/reference_06V1.104/lagrit_input_fehm | 34 - test/level01/io_agf_simple/reference_06V1.104/outascii.fehmn | 20 - test/level01/io_agf_simple/reference_06V1.104/outascii.stor | 38 - test/level01/io_agf_simple/reference_06V1.104/outascii_material.zone | 7 - test/level01/io_agf_simple/reference_06V1.104/outascii_outside.area | 33 - test/level01/io_agf_simple/reference_06V1.104/outascii_outside.zone | 27 - test/level01/io_agf_simple/reference_06V1.104/outbin.fehmn | 20 - test/level01/io_agf_simple/reference_06V1.104/outbin.stor | 0 test/level01/io_agf_simple/reference_06V1.104/outbin_material.zone | 7 - test/level01/io_agf_simple/reference_06V1.104/outbin_outside.area | 33 - test/level01/io_agf_simple/reference_06V1.104/outbin_outside.zone | 27 - test/level01/io_agf_simple/reference_06V1.104/output.gmv | 0 test/level01/io_agf_simple/reference_06V1.104/output.inp | 36 - test/level01/io_agf_simple/reference_06V1.104/output_ascii.gmv | 74 - test/level01/io_agf_simple/reference_06V1.104/output_fehm | 676 - test/level01/io_agf_simple/reference_06V1.104/output_fehm.log | 15 - test/level01/io_agf_simple/reference_06V1.104/outx3dgen | 640 - test/level01/io_agf_simple/reference_06V1.104/time_fehm | 4 - test/level01/io_agf_simple/test.out | 69 - test/level01/io_agf_simple/test.stor | 26 - test/level01/io_agf_simple/test1.gmv | 74 - test/level01/io_agf_simple/test2.gmv | 0 test/level01/io_agf_simple/test_ascii.gmv | 74 - test/level01/io_agf_simple/test_binary.gmv | 0 test/level01/quad_quality/reference/outx3dgen | 22 +- test/level01/refine_octree/reference_06V1.104/compare_octree | 225 - test/level01/refine_octree/reference_06V1.104/input_hex.gmv | 0 test/level01/refine_octree/reference_06V1.104/input_quad.gmv | 0 test/level01/refine_octree/reference_06V1.104/lagrit_input_refine_octree | 62 - test/level01/refine_octree/reference_06V1.104/output_octree | 466 - test/level01/refine_octree/reference_06V1.104/output_octree.log | 34 - test/level01/refine_octree/reference_06V1.104/output_refine_amr.gmv | 0 test/level01/refine_octree/reference_06V1.104/outx3dgen | 466 - test/level01/refine_octree/reference_06V1.104/time_octree | 4 - test/level01/refine_octree_prd/reference_06V1.104/compare_prdlev | 482 - test/level01/refine_octree_prd/reference_06V1.104/lagrit_input_refine_prdlev | 145 - test/level01/refine_octree_prd/reference_06V1.104/output_prdlev | 1314 - test/level01/refine_octree_prd/reference_06V1.104/output_prdlev.log | 83 - test/level01/refine_octree_prd/reference_06V1.104/outx3dgen | 1314 - test/level01/refine_octree_prd/reference_06V1.104/time_prdlev | 4 - test/level01/refine_recon_quality/reference/outx3dgen | 18 +- test/level01/refine_recon_quality/reference_06V1.104/compare_quality | 313 - test/level01/refine_recon_quality/reference_06V1.104/lagrit_input_quality | 61 - test/level01/refine_recon_quality/reference_06V1.104/output_quality | 454 - test/level01/refine_recon_quality/reference_06V1.104/output_quality.log | 40 - test/level01/refine_recon_quality/reference_06V1.104/outx3dgen | 419 - test/level01/refine_recon_quality/reference_06V1.104/time_quality | 4 - test/level01/result_files/diffout_lin.txt | 547 +- test/level01/result_files/diffout_mac.txt | 3275 +- test/level01/result_files/reference_V2.003/diffout_lin.txt | 892 - test/level01/result_files/reference_V2.003/diffout_mac.txt | 909 - test/level01/result_files/reference_V2.003/diffout_sgi32.txt | 884 - test/level01/result_files/reference_V2.003/diffout_sun.txt | 383 - test/level01/result_files/reference_V2.003/stdout_lin.txt | 18072 - test/level01/result_files/reference_V2.003/stdout_mac.txt | 18072 - test/level01/result_files/reference_V2.003/stdout_sgi32.txt | 0 test/level01/result_files/reference_V2.003/stdout_sun.txt | 18076 - test/level01/result_files/reference_V2.1_MAR08/diffout_lin.txt | 349 - test/level01/result_files/reference_V2.1_MAR08/diffout_mac.txt | 505 - test/level01/result_files/reference_V2.1_MAR08/diffout_sun.txt | 505 - test/level01/result_files/reference_V2.1_MAR08/stdout_lin.txt | 18057 - test/level01/result_files/reference_V2.1_MAR08/stdout_mac.txt | 11694 - test/level01/result_files/reference_V2.1_MAR08/stdout_sun.txt | 18061 - test/level01/result_files/reference_V2.200_NOV10/diffout_lin.txt | 537 - test/level01/result_files/reference_V2.200_NOV10/diffout_maci.txt | 586 - test/level01/result_files/reference_V2.200_NOV10/stdout_lin.txt | 18781 - test/level01/result_files/reference_V2.200_NOV10/stdout_maci.txt | 586 - test/level01/result_files/stdout_lin64.txt | 4428 +- test/level01/rmpoint/reference_06V1.104/compare_rmmat | 608 - test/level01/rmpoint/reference_06V1.104/lagrit_input_rmmat | 94 - test/level01/rmpoint/reference_06V1.104/output_rmmat | 960 - test/level01/rmpoint/reference_06V1.104/output_rmmat.log | 62 - test/level01/rmpoint/reference_06V1.104/output_rmmat1.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat2.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat3.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat4.gmv | 0 test/level01/rmpoint/reference_06V1.104/output_rmmat5.gmv | 0 test/level01/rmpoint/reference_06V1.104/outx3dgen | 867 - test/level01/rmpoint/reference_06V1.104/time_rmmat | 4 - test/level01/rmpoint/reference_V2.003/logx3dgen | 93 - test/level01/rmpoint/reference_V2.003/outx3dgen | 1464 - test/level01/run_test.py | 13 +- test/level01/setpts/reference_06V1.104/compare_setpts | 131 - test/level01/setpts/reference_06V1.104/lagrit_input_setpts | 85 - test/level01/setpts/reference_06V1.104/output.gmv | 0 test/level01/setpts/reference_06V1.104/output_setpts | 326 - test/level01/setpts/reference_06V1.104/output_setpts.log | 53 - test/level01/setpts/reference_06V1.104/outx3dgen | 261 - test/level01/setpts/reference_06V1.104/time_setpts | 4 - test/level01/smooth/reference_06V1.104/compare_smooth | 192 - test/level01/smooth/reference_06V1.104/lagrit_input_smooth | 71 - test/level01/smooth/reference_06V1.104/output_smooth | 407 - test/level01/smooth/reference_06V1.104/output_smooth.log | 56 - test/level01/smooth/reference_06V1.104/output_smooth1.gmv | 0 test/level01/smooth/reference_06V1.104/output_smooth2.gmv | 0 test/level01/smooth/reference_06V1.104/outx3dgen | 535 - test/level01/smooth/reference_06V1.104/time_smooth | 4 - test/level01/sort/input.lgi | 80 +- test/level01/sort/input_poly_no_sort.gmv | 0 test/level01/sort/input_poly_no_sort.inp | 47 + test/level01/sort/reference/input.lgi | 80 +- test/level01/sort/reference/lagrit_test_sort_poly.png | 0 test/level01/sort/reference/output_poly_elem.gmv | 89 + test/level01/sort/reference/output_poly_node.gmv | 83 + test/level01/sort/reference/output_test01.gmv | 0 test/level01/sort/reference/output_test01.inp | 145 + test/level01/sort/reference/output_test01s.gmv | 0 test/level01/sort/reference/output_test01s.inp | 99 +- test/level01/sort/reference/outx3dgen | 655 +- test/level01/sort/test_surf.inp | 36 + test/level01/zone_outside/reference/outx3dgen | 10 +- test/level01/zone_outside/reference_V2.003/logx3dgen | 7 - test/level01/zone_outside/reference_V2.003/outx3dgen | 116 - test/level01/zone_outside_minmax/reference/outx3dgen | 38 +- test/level01/zone_outside_minmax/reference_V2.003/logx3dgen | 7 - test/level01/zone_outside_minmax/reference_V2.003/outx3dgen | 139 - 404 files changed, 1980437 insertions(+), 605620 deletions(-) diffs (truncated from 2591499 to 300 lines): diff -r fd0042cca973 -r 9a8eae3185f6 bin/Versions.txt --- a/bin/Versions.txt Mon Sep 12 08:49:08 2011 -0600 +++ b/bin/Versions.txt Thu Jun 28 12:53:46 2012 -0600 @@ -1,3 +1,75 @@ +======================================================================= +LaGriT V3.005 +* * Program: LaGriT V3.005 Linux m64 * +* * date_compile: 2012/04/15 gfort 4.5 * + +fixed bugs related to cmo/addatt and cmo/readatt resulting in seg fault +added error checking to cmo/readatt and stack routines +fixes and added option for sort line_graph option for nodes, elements, both + +updated test/level01 reference files to reflect 64 bit results +added test/level01/ ascem_demo001 eltset exodus hybrid_volume +updated test/level01/*.py to point to non-version 3 python which + has different syntax for common routines such as print + + +======================================================================= +LaGriT V3.002 +* * Program: LaGriT V3.002 Linux m64 * +* * date_compile: 2011/09/09 gfort 4.5 * + +fixed bug: read/gmv small binary +fixed bug: read/gmv second time (file not closing correctly) + added better format checking, error messages + +M src/readdump.f +M src/readgmv_binary.f +M src/writfls.f +M src/writloga.f + +Expanded read/write tests +M test/level01/io_agf_simple/input.lgi +M test/level01/io_agf_simple/reference/input.lgi +M test/level01/io_agf_simple/reference/output_ascii.gmv +M test/level01/io_agf_simple/reference/outx3dgen +M test/level01/result_files/diffout_lin.txt +M test/level01/result_files/stdout_lin64.txt +? io_agf_simple/reference/output_hex8_ascii.gmv +? io_agf_simple/reference/output_hex8_ascii.inp +? io_agf_simple/reference/output_hex8_ascii.lagrit +? io_agf_simple/reference/output_hex8_binary.gmv +? io_agf_simple/reference/output_hex8_binary.gmvF +? io_agf_simple/reference/output_hex8_binary.lagrit +? io_agf_simple/reference/output_tet1_ascii.gmv +? io_agf_simple/reference/output_tet1_binary.gmv +? io_agf_simple/reference/output_tet1_binary.gmvF + + +Update to V3.002 +M bin/lagrit_lin64_o_gfort4.5 +M lib/lagrit_lin64_g_gfort4.5.a +M lib/lagrit_lin64_o_gfort4.5.a +M src/lagrit.h +M src/lagrit.template.h +M src/lagrit_lin.h +M src/lagrit_lin64.h +M src/lagrit_mac.h +M src/lagrit_maci.h +M src/lagrit_sgi.h +M src/lagrit_sun.h + +hg commit +V3.002 for new release has bug fixes. +This closes #103 for 64bit version of LaGriT +This version closes #66 writing outside ares for median and voronoi +This fixes #110 for all but a few cases that are added to test/level01 +close #4 to create eltset like psets +close #34 reading gmv binary with few elements +fixes #50 where quality prints largets volume bin twice +close #60 addatt voronoi and hybrid + + + ======================================================================= LaGriT V3.001 Tue Aug 30 16:16:50 MDT 2011 diff -r fd0042cca973 -r 9a8eae3185f6 bin/lagrit_lin_g Binary file bin/lagrit_lin_g has changed diff -r fd0042cca973 -r 9a8eae3185f6 src/Makefile --- a/src/Makefile Mon Sep 12 08:49:08 2011 -0600 +++ b/src/Makefile Thu Jun 28 12:53:46 2012 -0600 @@ -94,8 +94,8 @@ ifeq ($(MOPT), 64) OSTAG = _lin64 OBJDIR = lin_objects_m64/ -FFLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 -FF90FLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 +FFLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 +FF90FLAGS = -fcray-pointer -fdefault-integer-8 -m64 -Dlinx64 CFLAGS = -m64 -Dlinx64 endif @@ -130,6 +130,24 @@ FF90FLAGS = -m32 CFLAGS = -m32 OBJDIR = objects_maci/ + +ifeq ($(COMPILER),GFORTRAN) +FC = gfortran +FC90 = gfortran +CC= gcc +FFLAGS = -fcray-pointer -m32 +FF90FLAGS = -fcray-pointer -m32 + +ifeq ($(MOPT), 64) +OSTAG = _maci64 +OBJDIR = lin_objects_maci64/ +FFLAGS = -fcray-pointer -m64 -fdefault-integer-8 -Dmacx64 +FF90FLAGS = -fcray-pointer -m64 -fdefault-integer-8 -Dmacx64 +CFLAGS = -m64 -Dmacx64 +endif + +endif + endif # endif @@ -188,6 +206,9 @@ SUFF2 ="" ifeq ($(COMPILER),GFORTRAN) SUFF2 = _gfort4.5 +ifeq ($(OPSYS), Darwin) +SUFF2 = _gfort4.6 +endif endif ifeq ($(COMPILER),ABSOFT) SUFF2 = _absoft @@ -334,14 +355,14 @@ $(OBJDIR)%.o : %.cpp $(CXX) $(COPT) $(CFLAGS) -c -o $@ $< -machine.h : machine_header.h - @echo "--------------------------------------------------" - @echo "Remove and re-make machine.h from machine_header.F" - cp -p machine_header.h machine_header.F - $(CC) -E $(CFLAGS) machine_header.F -o machine.h - cp -p machine.h $(OBJDIR) - -rm -f machine_header.F - @echo "--------------------------------------------------" +#machine.h : machine_header.h +# @echo "--------------------------------------------------" +# @echo "Remove and re-make machine.h from machine_header.F" +# cp -p machine_header.h machine_header.F +# $(CC) -E $(CFLAGS) machine_header.F -o machine.h +# cp -p machine.h $(OBJDIR) +# -rm -f machine_header.F +# @echo "--------------------------------------------------" $(OBJDIR)%.o : %.F cp lagrit$(OSTAG).h lagrit.h diff -r fd0042cca973 -r 9a8eae3185f6 src/Makefile.depends --- a/src/Makefile.depends Mon Sep 12 08:49:08 2011 -0600 +++ b/src/Makefile.depends Thu Jun 28 12:53:46 2012 -0600 @@ -266,6 +266,7 @@ $(OBJDIR)kdtreeselect.o: local_element.h $(OBJDIR)laplace2d.o: local_element.h consts.h $(OBJDIR)line_graph_sort.o: line_graph_sort.cpp +$(OBJDIR)line_graph_nsort.o: line_graph_nsort.cpp $(OBJDIR)lineseg_inter.o: consts.h $(OBJDIR)lineseglineseg.o: local_element.h local_element.h $(OBJDIR)linesegtri.o: local_element.h diff -r fd0042cca973 -r 9a8eae3185f6 src/README.compile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/README.compile Thu Jun 28 12:53:46 2012 -0600 @@ -0,0 +1,167 @@ +Version 3.X LaGriT libraries and executables +with linux 64 bit compiled with gfortran 4.5 or greater ------- + +Check for valid compiler versions. + +gcc --version +gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50) + +gfortran --version +GNU Fortran (GCC) 4.5.1 + + +============================================================== +Compile lg_util library + +In directory lg_util/src +Use make install or copy libraries to lg_util/lib (used by lagrit compile) + +------- debug and optimized version 64 bit + +check mm2000.h that BYTES_PER_INT = 8 +if not then Remove and re-make mm2000.h from mm2000_header.F + rm -f mm2000.h + gcc -g -E -m64 -Dlinx64 mm2000_header.F -o mm2000.h + cp -p mm2000.h objects_lin64_g_gfort4.5/ + cp -p mm2000.h objects_lin64_o_gfort4.5/ + +make MOPT=64 COPT=-g lib +make MOPT=64 lib + +-rw-r--r-- 1 tam pf 643136 Aug 15 14:02 util_lin64_g_gfort4.5.a +-rw-r--r-- 1 tam pf 260512 Aug 15 14:03 util_lin64_o_gfort4.5.a + +============================================================== +Compile lagrit library and build executable + +# for linux version only +# create library and build executable in this directory +# +# Target: x86_64-unknown-linux-gnu +# Configured with: ../gcc-4.5.1/configure --prefix=/scratch/ymp/packages/gcc/gcc-4.5.1 +# Thread model: posix gcc version 4.5.1 (GCC) +# this adds the libraries needed for exodus read/write commands. +# +# Call buildgfort for all versions +# or copy and past sections for single version compile and build + + +# OSTYPE = Linux gfortran 64 bit ------------------------------------------------ +# build -g debug version for use with debuggers such as gdb + +cp lagrit_lin64.h lagrit.h + +make MOPT=64 COPT=-g lib + +gfortran -g -fcray-pointer -fdefault-integer-8 -Dlinx64 -c -o lagrit_main.o lagrit_main.f +gfortran -g -fcray-pointer -fdefault-integer-8 -Dlinx64 -c -o lagrit_fdate.o lagrit_fdate.f + +gfortran -g -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o lagrit_lin64_g_gfort4.5 lagrit_main.o lagrit_fdate.o lagrit_lin64_g_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_g_gfort4.5.a -lm -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ + +-rw-r----- 1 tam pf 23666226 Aug 31 09:53 lagrit_lin64_g_gfort4.5.a +-rwxr-x--x 1 tam pf 14985136 Aug 31 10:09 lagrit_lin64_g_gfort4.5* + + +# OSTYPE = Linux gfortran 64 bit ------------------------------------------------ +# build -O version optimized + +cp lagrit_lin64.h lagrit.h + +make MOPT=64 lib + +gfortran -O -Dlinx64 -fcray-pointer -fdefault-integer-8 -c -o lagrit_main.o lagrit_main.f +gfortran -O -Dlinx64 -fcray-pointer -fdefault-integer-8 -c -o lagrit_fdate.o lagrit_fdate.f + +gfortran -O -Dlinx64 -static -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o lagrit_lin64_o_gfort4.5 lagrit_main.o lagrit_fdate.o lagrit_lin64_o_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_o_gfort4.5.a -lm -L/home/tam/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ + +-rw-r----- 1 tam pf 10265720 Aug 31 10:09 lagrit_lin64_o_gfort4.5.a +-rwxr-x--x 1 tam pf 8480343 Aug 31 10:10 lagrit_lin64_o_gfort4.5* + +============================================================== +If do not have and do not need the ExodusII and netCDF libraries. + +LaGriT V3.0 supports ExodusII file format output (which sits on top of netCDF). +This means that if you want to compile your own code you have to build the ExodusII and netCDF libraries yourself. We do not distribute those packages. A quick and dirty option to compile without these libraries would to just take the code that calls those libraries and replace dumpexodusII.f it with: + + subroutine dumpexodusII(ifile) + return + end + +============================================================== + +Running executable lagrit_lin64_o_gfort4.5 + + +* * * * * * * * * * * * * * * * * * * * * * * * * +* * * +* * Program: LaGriT V3.001 Linux m64 * +* * date_compile: 2011/08/01 gfort 4.5 * +* * Run Time: 2011/Aug 31 10:14:12 * +* * Manual: http://lagrit.lanl.gov * +* * * +* * * * * * * * * * * * * * * * * * * * * * * * * + + -----oOo----- +LaGriT Copyright: This program was prepared by Los Alamos National Security, LLC +at Los Alamos National Laboratory (LANL) under contract No. DE-AC52-06NA25396 +with the U.S. Department of Energy (DOE). All rights in the program are reserved +by the DOE and Los Alamos National Security, LLC. Permission is granted to the +public to copy and use this software without charge, provided that this Notice +and any statement of authorship are reproduced on all copies. Neither the +U.S. Government nor LANS makes any warranty, express or implied, or assumes +any liability or responsibility for the use of this software. + -----oOo----- + + +Output log file: outx3dgen +Command log file: logx3dgen + + Enter a command +memory print +memory print +-------- + +MEMORY SIZES : + Sizeof char (type 3) = 1 bytes Sizeof long = 8 bytes + Sizeof real*8 (type 2) = 8 bytes Sizeof pointer = 8 bytes + Sizeof integer (type 1) = 4 bytes Sizeof INT_PTRSIZE = 8 bytes + + +INDEX LENGTH TYPE ADDRESS NAME PARTITION + 2 10 1 102267104 global_type global_lg + 3 10 1 102267296 global_index global_lg @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ September 1 2011 From: lagrit-dev@lanl.gov Date: September 1, 2011 8:59:26 AM MDT To: lagrit-dev@lanl.gov Subject: lagrit: 2 new changesets changeset 1a01c8e82d8e in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=1a01c8e82d8e summary: Version 3.001 Release and associated docs changeset f58a9b2b7469 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=f58a9b2b7469 summary: Version V3.001 test directories with reference changed to linux 64 diffstat: bin/Versions.txt | 96 +- bin/lagrit_lin64_o_gfort4.5 | 0 lagrit.lanl.gov/docs/DUMP2.html | 23 +- lagrit.lanl.gov/docs/DUMP3.html | 64 + lagrit.lanl.gov/docs/ELTSET2.html | 19 +- lagrit.lanl.gov/docs/INTERSECT.html | 16 +- lagrit.lanl.gov/docs/Makefile | 17 + lagrit.lanl.gov/docs/PERTURB.html | 2 +- lagrit.lanl.gov/docs/PSET.html | 23 +- lagrit.lanl.gov/docs/QUALITY.html | 15 +- lagrit.lanl.gov/docs/REORDER.html | 2 +- lagrit.lanl.gov/docs/SORT.html | 119 +- lagrit.lanl.gov/docs/TRIAGN.html | 2 +- lagrit.lanl.gov/docs/alpha.aux | 1 + lagrit.lanl.gov/docs/alpha.dvi | 0 lagrit.lanl.gov/docs/alpha.log | 151 + lagrit.lanl.gov/docs/alpha.png | 0 lagrit.lanl.gov/docs/alpha.tex | 12 + lagrit.lanl.gov/docs/cmo_addatt.html | 92 +- lagrit.lanl.gov/docs/h_max.aux | 1 + lagrit.lanl.gov/docs/h_max.dvi | 0 lagrit.lanl.gov/docs/h_max.log | 151 + lagrit.lanl.gov/docs/h_max.png | 0 lagrit.lanl.gov/docs/h_max.tex | 12 + lagrit.lanl.gov/docs/h_s.aux | 1 + lagrit.lanl.gov/docs/h_s.dvi | 0 lagrit.lanl.gov/docs/h_s.log | 151 + lagrit.lanl.gov/docs/h_s.png | 0 lagrit.lanl.gov/docs/h_s.tex | 12 + lagrit.lanl.gov/docs/h_s_eq.aux | 1 + lagrit.lanl.gov/docs/h_s_eq.dvi | 0 lagrit.lanl.gov/docs/h_s_eq.log | 151 + lagrit.lanl.gov/docs/h_s_eq.png | 0 lagrit.lanl.gov/docs/h_s_eq.tex | 12 + lagrit.lanl.gov/docs/l_i.aux | 1 + lagrit.lanl.gov/docs/l_i.dvi | 0 lagrit.lanl.gov/docs/l_i.log | 151 + lagrit.lanl.gov/docs/l_i.png | 0 lagrit.lanl.gov/docs/l_i.tex | 12 + lagrit.lanl.gov/docs/p_ac.aux | 1 + lagrit.lanl.gov/docs/p_ac.dvi | 0 lagrit.lanl.gov/docs/p_ac.log | 151 + lagrit.lanl.gov/docs/p_ac.png | 0 lagrit.lanl.gov/docs/p_ac.tex | 13 + lagrit.lanl.gov/docs/p_bd.aux | 1 + lagrit.lanl.gov/docs/p_bd.dvi | 0 lagrit.lanl.gov/docs/p_bd.log | 151 + lagrit.lanl.gov/docs/p_bd.png | 0 lagrit.lanl.gov/docs/p_bd.tex | 13 + lagrit.lanl.gov/docs/quad_quality.jpg | 0 lagrit.lanl.gov/docs/quad_quality_equation.aux | 1 + lagrit.lanl.gov/docs/quad_quality_equation.dvi | 0 lagrit.lanl.gov/docs/quad_quality_equation.log | 151 + lagrit.lanl.gov/docs/quad_quality_equation.png | 0 lagrit.lanl.gov/docs/quad_quality_equation.tex | 12 + lagrit.lanl.gov/docs/regularity.aux | 1 + lagrit.lanl.gov/docs/regularity.dvi | 0 lagrit.lanl.gov/docs/regularity.log | 151 + lagrit.lanl.gov/docs/regularity.png | 0 lagrit.lanl.gov/docs/regularity.tex | 12 + lagrit.lanl.gov/docs/s_min.aux | 1 + lagrit.lanl.gov/docs/s_min.dvi | 0 lagrit.lanl.gov/docs/s_min.log | 151 + lagrit.lanl.gov/docs/s_min.png | 0 lagrit.lanl.gov/docs/s_min.tex | 12 + lib/lagrit_lin64_g_gfort4.5.a | 0 lib/lagrit_lin64_o_gfort4.5.a | 0 src/00README | 155 + src/lagrit.h | 6 +- src/machine.h | 6 +- test/00README | 4 + test/level01/00README | 18 +- test/level01/RUNS | 11 + test/level01/addmesh_add/polygon.gmv | 0 test/level01/addmesh_add/reference/output_addmesh_add.gmv | 0 test/level01/addmesh_add/reference/output_addmesh_connect.gmv | 0 test/level01/addmesh_add/reference/output_merge_hex.gmv | 0 test/level01/addmesh_add/reference/output_merge_hex2.gmv | 0 test/level01/addmesh_add/reference/outx3dgen | 14 +- test/level01/addmesh_add/reference/polygon.gmv | 0 test/level01/addmesh_append/reference/output_append_hex2.gmv | 0 test/level01/addmesh_append/reference/outx3dgen | 10 +- test/level01/addmesh_doublemesh/reference/output_doublemesh.gmv | 0 test/level01/addmesh_doublemesh/reference/outx3dgen | 25 +- test/level01/addmesh_merge/input.lgi | 44 + test/level01/addmesh_merge/reference/input.lgi | 44 + test/level01/addmesh_merge/reference/logx3dgen | 26 + test/level01/addmesh_merge/reference/outx3dgen | 207 + test/level01/check_test.py | 4 +- test/level01/clean_testdirs.scr | 12 +- test/level01/connect_cube/reference/output_conn1.gmv | 0 test/level01/connect_cube/reference/output_conn2.gmv | 0 test/level01/connect_cube/reference/outx3dgen | 13 +- test/level01/connect_errors/input.lgi | 78 + test/level01/connect_errors/reference/input.lgi | 78 + test/level01/connect_errors/reference/logx3dgen | 46 + test/level01/connect_errors/reference/outx3dgen | 381 + test/level01/connect_errors/run_lagrit | 15 + test/level01/connect_errors/test_delaunay_2d | 57 + test/level01/createpts/reference/output_createbrick.gmv | 0 test/level01/createpts/reference/output_quad.gmv | 0 test/level01/createpts/reference/outx3dgen | 12 +- test/level01/eltset/eset01.cellset | 12 + test/level01/eltset/eset02.cellset | 9 + test/level01/eltset/eset03.cellset | 12 + test/level01/eltset/eset04.cellset | 0 test/level01/eltset/eset05.cellset | 12 + test/level01/eltset/eset06.cellset | 12 + test/level01/eltset/eset07.cellset | 12 + test/level01/eltset/eset08_eset1.cellset | 12 + test/level01/eltset/eset08_eset2.cellset | 9 + test/level01/eltset/eset09_eset1.cellset | 12 + test/level01/eltset/eset09_eset2.cellset | 9 + test/level01/eltset/eset10_eset1.cellset | 12 + test/level01/eltset/eset10_eset2.cellset | 9 + test/level01/eltset/input.lgi | 42 + test/level01/eltset/reference/eset01.cellset | 12 + test/level01/eltset/reference/eset02.cellset | 9 + test/level01/eltset/reference/eset03.cellset | 12 + test/level01/eltset/reference/eset04.cellset | 0 test/level01/eltset/reference/eset05.cellset | 12 + test/level01/eltset/reference/eset06.cellset | 12 + test/level01/eltset/reference/eset07.cellset | 12 + test/level01/eltset/reference/eset08_eset1.cellset | 12 + test/level01/eltset/reference/eset08_eset2.cellset | 9 + test/level01/eltset/reference/eset09_eset1.cellset | 12 + test/level01/eltset/reference/eset09_eset2.cellset | 9 + test/level01/eltset/reference/eset10_eset1.cellset | 12 + test/level01/eltset/reference/eset10_eset2.cellset | 9 + test/level01/eltset/reference/input.lgi | 42 + test/level01/eltset/reference/logx3dgen | 28 + test/level01/eltset/reference/outx3dgen | 154 + test/level01/eltset/reference/test01.gmv | 0 test/level01/eltset/test01.gmv | 0 test/level01/exodus/input.lgi | 6 + test/level01/exodus/reference/hexcube.exo | 0 test/level01/exodus/reference/input.lgi | 6 + test/level01/exodus/reference/logx3dgen | 5 + test/level01/exodus/reference/output_hexcube.exo | 0 test/level01/exodus/reference/outx3dgen | 54 + test/level01/exodus/reference/prev_outx3dgen | 54 + test/level01/exodus/reference/strace_success | 2660 + test/level01/interp_continuous/reference/output_con01.gmv | 0 test/level01/interp_continuous/reference/output_con02.gmv | 0 test/level01/interp_continuous/reference/output_con02a.gmv | 0 test/level01/interp_continuous/reference/output_con02b.gmv | 0 test/level01/interp_continuous/reference/output_con04.gmv | 0 test/level01/interp_continuous/reference/output_con05.gmv | 0 test/level01/interp_continuous/reference/output_view_con01.gmv | 0 test/level01/interp_continuous/reference/output_view_con02.gmv | 0 test/level01/interp_continuous/reference/output_view_con04.gmv | 0 test/level01/interp_continuous/reference/output_view_con05.gmv | 0 test/level01/interp_continuous/reference/outx3dgen | 28 +- test/level01/interp_map/input_tet24.inp | 4 +- test/level01/interp_map/reference/output_map01_max.gmv | 0 test/level01/interp_map/reference/output_map01_min.gmv | 0 test/level01/interp_map/reference/output_map02_nearest.gmv | 0 test/level01/interp_map/reference/output_map02_plus1.gmv | 0 test/level01/interp_map/reference/output_map02_user.gmv | 0 test/level01/interp_map/reference/output_map03.gmv | 0 test/level01/interp_map/reference/output_map04.gmv | 0 test/level01/interp_map/reference/output_map05.gmv | 0 test/level01/interp_map/reference/output_map06.gmv | 0 test/level01/interp_map/reference/output_map07.gmv | 0 test/level01/interp_map/reference/output_map08.gmv | 0 test/level01/interp_map/reference/output_map09.gmv | 0 test/level01/interp_map/reference/output_map10.gmv | 0 test/level01/interp_map/reference/output_map11.gmv | 0 test/level01/interp_map/reference/output_map12.gmv | 0 test/level01/interp_map/reference/outx3dgen | 62 +- test/level01/interp_voronoi/reference/output_view_vor01.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor02.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor03.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor04.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor05.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor06.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor07.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor08.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor09.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor10.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor11.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor12.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor13.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor14.gmv | 0 test/level01/interp_voronoi/reference/output_view_vor15.gmv | 0 test/level01/interp_voronoi/reference/output_vor01.gmv | 0 test/level01/interp_voronoi/reference/output_vor02.gmv | 0 test/level01/interp_voronoi/reference/output_vor03.gmv | 0 test/level01/interp_voronoi/reference/output_vor04.gmv | 0 test/level01/interp_voronoi/reference/output_vor05.gmv | 0 test/level01/interp_voronoi/reference/output_vor06.gmv | 0 test/level01/interp_voronoi/reference/output_vor07.gmv | 0 test/level01/interp_voronoi/reference/output_vor08.gmv | 0 test/level01/interp_voronoi/reference/output_vor09.gmv | 0 test/level01/interp_voronoi/reference/output_vor10.gmv | 0 test/level01/interp_voronoi/reference/output_vor11.gmv | 0 test/level01/interp_voronoi/reference/output_vor12.gmv | 0 test/level01/interp_voronoi/reference/output_vor13.gmv | 0 test/level01/interp_voronoi/reference/output_vor14.gmv | 0 test/level01/interp_voronoi/reference/output_vor15.gmv | 0 test/level01/interp_voronoi/reference/outx3dgen | 96 +- test/level01/intersect/input.lgi | 47 + test/level01/intersect/reference/input.lgi | 47 + test/level01/intersect/reference/logx3dgen | 19 + test/level01/intersect/reference/output_test01.gmv | 0 test/level01/intersect/reference/output_test01.inp | 80 + test/level01/intersect/reference/output_test02.gmv | 0 test/level01/intersect/reference/output_test03.gmv | 0 test/level01/intersect/reference/outx3dgen | 651 + test/level01/intersect/reference/test01.gmv | 0 test/level01/intersect/reference/test01.inp | 80 + test/level01/intersect/reference/test02.gmv | 0 test/level01/intersect/reference/test02.inp | 6530 + test/level01/intersect/reference/test03.gmv | 0 test/level01/intersect/test01.inp | 80 + test/level01/intersect/test02.inp | 6530 + test/level01/intrp_2D_sizes/2d_sink_new.gmv | 87611 ++++++++++ test/level01/intrp_2D_sizes/2d_sink_new.inp | 7772 + test/level01/intrp_2D_sizes/2d_source.gmv | 0 test/level01/intrp_2D_sizes/2d_triangle_sink.inp | 7769 + test/level01/intrp_2D_sizes/hide/2d_sink_old.gmv | 0 test/level01/intrp_2D_sizes/hide/2d_sink_old.inp | 7770 + test/level01/intrp_2D_sizes/hide/diff.out | 32444 +++ test/level01/intrp_2D_sizes/hide/input.save.lgi | 96 + test/level01/intrp_2D_sizes/hide/merge.gmv | 0 test/level01/intrp_2D_sizes/hide/new_old.diff | 261 + test/level01/intrp_2D_sizes/hide/x.lgi | 97 + test/level01/intrp_2D_sizes/hide/x.out | 50212 +++++ test/level01/intrp_2D_sizes/hide/xnew.out | 97 + test/level01/intrp_2D_sizes/images/2D_sink_field3.jpg | 0 test/level01/intrp_2D_sizes/images/2D_sink_field3.png | 0 test/level01/intrp_2D_sizes/images/2D_sink_field3_TN.PNG | 0 test/level01/intrp_2D_sizes/images/field2_new.jpg | 0 test/level01/intrp_2D_sizes/images/field2_new.png | 0 test/level01/intrp_2D_sizes/images/field2_new_TN.PNG | 0 test/level01/intrp_2D_sizes/images/field2_old.jpg | 0 test/level01/intrp_2D_sizes/images/field2_old.png | 0 test/level01/intrp_2D_sizes/images/field2_old_TN.PNG | 0 test/level01/intrp_2D_sizes/images/gallery.html | 40 +- test/level01/intrp_2D_sizes/images/out_1.ep04.jpg | 0 test/level01/intrp_2D_sizes/images/out_1.ep04.png | 0 test/level01/intrp_2D_sizes/images/out_1.ep04_TN.PNG | 0 test/level01/intrp_2D_sizes/images/out_1.ep06_new.jpg | 0 test/level01/intrp_2D_sizes/images/out_1.ep06_new.png | 0 test/level01/intrp_2D_sizes/images/out_1.ep06_new_TN.PNG | 0 test/level01/intrp_2D_sizes/images/out_1.ep06_old.jpg | 0 test/level01/intrp_2D_sizes/images/out_1.ep06_old.png | 0 test/level01/intrp_2D_sizes/images/out_1.ep06_old_TN.PNG | 0 test/level01/intrp_2D_sizes/images/view_merged_field2.gmvattr | 280 + test/level01/intrp_2D_sizes/reference/2d_sink_new.gmv | 25091 ++ test/level01/intrp_2D_sizes/reference/2d_sink_new.inp | 7772 + test/level01/intrp_2D_sizes/reference/2d_source.gmv | 0 test/level01/intrp_2D_sizes/reference/2d_triangle_sink.inp | 7769 + test/level01/intrp_2D_sizes/reference/out_1.ep02.gmv | 24689 ++ test/level01/intrp_2D_sizes/reference/out_1.ep06_new.gmv | 0 test/level01/intrp_2D_sizes/reference/outx3dgen | 2 +- test/level01/intrp_2D_sizes/reference/view_field2_id_elem.gmv | 0 test/level01/intrp_2D_sizes/reference/view_field2_id_elem.inp | 23777 ++ test/level01/intrp_2D_sizes/view_field2_id_elem.gmv | 0 test/level01/intrp_2D_sizes/view_field2_id_elem.inp | 23777 ++ test/level01/io_agf_simple/input.lgi | 15 +- test/level01/io_agf_simple/input_tet24.inp | 608 + test/level01/io_agf_simple/reference/input.lgi | 15 +- test/level01/io_agf_simple/reference/logx3dgen | 2 +- test/level01/io_agf_simple/reference/outascii.stor | 2 +- test/level01/io_agf_simple/reference/outascii_material.zone | 2 +- test/level01/io_agf_simple/reference/outascii_outside.zone | 12 +- test/level01/io_agf_simple/reference/outascii_outside_vor.area | 33 + test/level01/io_agf_simple/reference/outbin.stor | 0 test/level01/io_agf_simple/reference/outbin_material.zone | 2 +- test/level01/io_agf_simple/reference/outbin_outside.zone | 12 +- test/level01/io_agf_simple/reference/outbin_outside_vor.area | 33 + test/level01/io_agf_simple/reference/output_ascii.gmv | 2 +- test/level01/io_agf_simple/reference/outx3dgen | 114 +- test/level01/io_agf_simple/reference/x.in | 10 + test/level01/io_agf_simple/test.out | 69 + test/level01/io_agf_simple/test.stor | 26 + test/level01/io_agf_simple/test1.gmv | 74 + test/level01/io_agf_simple/test2.gmv | 0 test/level01/io_agf_simple/test_ascii.gmv | 74 + test/level01/io_agf_simple/test_binary.gmv | 0 test/level01/io_agf_simple/test_good.stor | 26 + test/level01/pset/input.lgi | 37 + test/level01/pset/pset01.pset | 12 + test/level01/pset/pset01.vertexset | 12 + test/level01/pset/pset02.vertexset | 9 + test/level01/pset/pset02.vertexset.pset | 9 + test/level01/pset/pset03.pset | 12 + test/level01/pset/pset03.vertexset | 12 + test/level01/pset/pset04.pset | 0 test/level01/pset/pset04.vertexset | 0 test/level01/pset/pset05.pset | 12 + test/level01/pset/pset05.vertexset | 12 + test/level01/pset/pset06.pset | 12 + test/level01/pset/pset06.vertexset | 12 + test/level01/pset/pset07.pset | 12 + test/level01/pset/pset07.vertexset | 12 + test/level01/pset/pset08.pset | 20 + test/level01/pset/pset08_pset1.vertexset | 12 + test/level01/pset/pset08_pset2.vertexset | 9 + test/level01/pset/pset09.pset | 20 + test/level01/pset/pset09_pset1.vertexset | 12 + test/level01/pset/pset09_pset2.vertexset | 9 + test/level01/pset/pset10.pset | 20 + test/level01/pset/pset10_pset1.vertexset | 12 + test/level01/pset/pset10_pset2.vertexset | 9 + test/level01/pset/reference/input.lgi | 37 + test/level01/pset/reference/logx3dgen | 22 + test/level01/pset/reference/outx3dgen | 124 + test/level01/pset/reference/pset01.vertexset | 12 + test/level01/pset/reference/pset02.vertexset | 9 + test/level01/pset/reference/pset03.vertexset | 12 + test/level01/pset/reference/pset04.vertexset | 0 test/level01/pset/reference/pset05.vertexset | 12 + test/level01/pset/reference/pset06.vertexset | 12 + test/level01/pset/reference/pset07.vertexset | 12 + test/level01/pset/reference/pset08_pset1.vertexset | 12 + test/level01/pset/reference/pset08_pset2.vertexset | 9 + test/level01/pset/reference/pset09_pset1.vertexset | 12 + test/level01/pset/reference/pset09_pset2.vertexset | 9 + test/level01/pset/reference/pset10_pset1.vertexset | 12 + test/level01/pset/reference/pset10_pset2.vertexset | 9 + test/level01/pset/reference/test01.gmv | 0 test/level01/pset/test01.gmv | 0 test/level01/quad_quality/input.lgi | 44 + test/level01/quad_quality/reference/input.lgi | 44 + test/level01/quad_quality/reference/logx3dgen | 20 + test/level01/quad_quality/reference/output_test03.gmv | 0 test/level01/quad_quality/reference/output_test04.gmv | 0 test/level01/quad_quality/reference/output_test05.gmv | 0 test/level01/quad_quality/reference/outx3dgen | 283 + test/level01/quad_quality/reference/test03.gmv | 0 test/level01/quad_quality/reference/test03.inp | 348 + test/level01/quad_quality/reference/test04.gmv | 0 test/level01/quad_quality/reference/test04.inp | 348 + test/level01/quad_quality/reference/test05.gmv | 0 test/level01/quad_quality/reference/test05.inp | 348 + test/level01/quad_quality/test03.inp | 348 + test/level01/quad_quality/test04.inp | 348 + test/level01/quad_quality/test05.inp | 348 + test/level01/refine_octree/reference/output_refine_amr.gmv | 0 test/level01/refine_octree/reference/outx3dgen | 14 +- test/level01/refine_octree_prd/reference/outx3dgen | 231 +- test/level01/refine_recon_quality/reference/outx3dgen | 12 +- test/level01/result_files/reference/diffout_lin.txt | 344 +- test/level01/result_files/reference/diffout_mac.txt | 344 +- test/level01/result_files/reference/diffout_sun.txt | 260 +- test/level01/result_files/reference/stdout_lin.txt | 123 +- test/level01/result_files/reference/stdout_mac.txt | 123 +- test/level01/result_files/reference/stdout_sun.txt | 123 +- test/level01/result_files/reference_V2.200_NOV10/diffout_lin.txt | 537 + test/level01/result_files/reference_V2.200_NOV10/diffout_maci.txt | 586 + test/level01/result_files/reference_V2.200_NOV10/stdout_lin.txt | 18895 ++ test/level01/result_files/reference_V2.200_NOV10/stdout_maci.txt | 586 + test/level01/result_files/stdout_lin64.txt | 22171 ++ test/level01/rmpoint/reference/outx3dgen | 34 +- test/level01/rotateln/input.lgi | 16 + test/level01/rotateln/reference/input.lgi | 16 + test/level01/rotateln/reference/logx3dgen | 7 + test/level01/rotateln/reference/output_test01.gmv | 0 test/level01/rotateln/reference/output_test01.inp | 86 + test/level01/rotateln/reference/outx3dgen | 48 + test/level01/rotateln/reference/test01.gmv | 0 test/level01/rotateln/reference/test01.inp | 86 + test/level01/rotateln/test01.gmv | 0 test/level01/rotateln/test01.inp | 86 + test/level01/run_test.py | 45 +- test/level01/setpts/reference/outx3dgen | 39 +- test/level01/smooth/reference/outx3dgen | 28 +- test/level01/sort/input.lgi | 54 + test/level01/sort/reference/input.lgi | 54 + test/level01/sort/reference/logx3dgen | 23 + test/level01/sort/reference/output_test01.gmv | 0 test/level01/sort/reference/output_test01s.gmv | 0 test/level01/sort/reference/output_test01s.inp | 144 + test/level01/sort/reference/output_test02.gmv | 0 test/level01/sort/reference/output_test02s.gmv | 0 test/level01/sort/reference/output_test02s.inp | 143 + test/level01/sort/reference/output_test04.inp | 10 + test/level01/sort/reference/outx3dgen | 277 + test/level01/sort/reference/test01.gmv | 0 test/level01/sort/reference/test01.inp | 67 + test/level01/sort/reference/test01s.gmv | 0 test/level01/sort/reference/test01s.inp | 144 + test/level01/sort/reference/test02.gmv | 0 test/level01/sort/reference/test02.inp | 67 + test/level01/sort/reference/test02s.gmv | 0 test/level01/sort/reference/test02s.inp | 143 + test/level01/sort/reference/test03.inp | 8 + test/level01/sort/reference/test04.inp | 10 + test/level01/sort/test01.inp | 67 + test/level01/sort/test01s.inp | 144 + test/level01/sort/test02.inp | 67 + test/level01/sort/test02s.inp | 143 + test/level01/sort/test03.inp | 8 + test/level01/sort/test04.inp | 10 + test/level01/surface/reference/outx3dgen | 8 +- test/level01/zone_outside/reference/output_outside.zone | 12 +- test/level01/zone_outside/reference/output_outside_vor.area | 3868 + test/level01/zone_outside/reference/outx3dgen | 8 +- test/level01/zone_outside_minmax/input.lgi | 17 +- test/level01/zone_outside_minmax/reference/input.lgi | 17 +- test/level01/zone_outside_minmax/reference/logx3dgen | 12 +- test/level01/zone_outside_minmax/reference/output_outside_med.area | 3061 + test/level01/zone_outside_minmax/reference/output_outside_vor.area | 3061 + test/level01/zone_outside_minmax/reference/output_zone_outside_med.gmv | 0 test/level01/zone_outside_minmax/reference/output_zone_outside_vor.gmv | 0 test/level01/zone_outside_minmax/reference/outx3dgen | 12 +- 408 files changed, 387812 insertions(+), 1203 deletions(-) diffs (truncated from 393814 to 300 lines): diff -r 921a89558212 -r f58a9b2b7469 bin/Versions.txt --- a/bin/Versions.txt Tue Aug 30 16:22:34 2011 -0600 +++ b/bin/Versions.txt Thu Sep 01 08:55:22 2011 -0600 @@ -9,7 +9,6 @@ This version was sent to Andrew Kuprat 64 bit modifications have been working in general *************************************************************** Summer of 2011 Student Development by Adam Cozzette adamc@lanl.gov acozzette@cs.hmc.edu Here's what I did to compile the 32-bit Linux version of LaGriT. When I did this I set things up so that the NetCDF, Exodus, and lg_util libraries went in $HOME/local/lib, with NetCDF header files in $HOME/local/include. I guess you already have everything set up to compile lg_util and LaGriT but I've included my steps for those, too, just in case. Let me know if you run into any problems. I'll try and do the Mac compiles in the next couple of days. Best, Adam ------ NetCDF ------ ./configure --disable-netcdf-4 --prefix=$HOME/local CFLAGS=-m32 LDFLAGS=-m32 CXXFLAGS=-m32 make check install This should put libnetcdf.a in $HOME/local/lib and should also put netcdf.h in $HOME/local/include. ------ Exodus ------ Edit Makefile.standalone: - Change NETCDF_INC to have -I$(HOME)/local/include - Change "CFLAGS =" to "CFLAGS +=" on line 195. Then run the following: CFLAGS=-m32 make -f Makefile.standalone Then create symbolic links from $HOME/local/lib to point to libexodus.a and libexoIIv2for.a. This is what I did (though the paths will probably be different for your setup): cd ~/local/lib ln -s ~/lanl/exodusii-5.09/exodusii/libexodus.a . ln -s ~/lanl/exodusii-5.09/exodusii/libexoIIv2for.a . ------- lg_util ------- make lib Then I made a symbolic link from ~/local/lib to the lg_util library so that when I built LaGriT there would be a way of finding it: cd ~/local/lib ln -s ~/lanl/lg_util/src/util_lin_o_gfort4.5.a . ------ LaGriT ------ I added the following line to Makefile.depends: $(OBJDIR)GraphModule.o: GraphModule.f90 Then I executed these commands (the last one will probably be different depending on where your libraries happen to be): make lib OBJDIR=objects_lin_o_gfort4.5 gfortran -m32 -static -static-libgcc -static-libgfortran -fcray-pointer -fdefault-integer-8 -fno-sign-zero -o lagrit_lin_o_gfort4.5 $OBJDIR/lagrit_main.o $OBJDIR/lagrit_fdate.o lagrit_lin_o_gfort4.5.a $HOME/local/lib/util_lin_o_gfort4.5.a -L$HOME/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ -- Adam Cozzette Harvey Mudd College Class of 2012 anothermatbld3d.c @@ -133,6 +132,24 @@ ----------------- August 18, 2011 2:02:09 PM MDT My working source directory is /home/adamc/mercurial/lagrit/src. These two files have new changes that shouldn't be committed yet: dumpfehm.f writedump.f And these two files are new but aren't ready to commit: clipped_volume.c clipped_volume_wrapper.f The other changes should be good to go but I don't think there are very many for this week. I did make some changes to the tests, though, so you might want to look in /home/adamc/mercurial/lagrit/test/level01 to see if anything has changed since the last time you copied any files from there. ----------------- Ok, here it is. It should probably be changed eventually so that it doesn't have my home directory listed in it, but here it is just so you know that it works: #!/bin/bash make MOPT=64 COPT=-g lib cp lagrit_lin64_g_gfort4.5.a ../lib OBJDIR=objects_lin64_g_gfort4.5 gfortran -g -static-libgcc -static-libgfortran -fcray-pointer -fdefault-integer-8 -fno-sign-zero -Dlinx64 -o lagrit_lin64_g_gfort4.5 $OBJDIR/lagrit_main.o $OBJDIR/lagrit_fdate.o ../lib/lagrit_lin64_g_gfort4.5.a /home/tam/src/lg_util/lib/util_lin64_g_gfort4.5.a -L/home/adamc/local/lib -lexoIIv2for -lexodus -lnetcdf -lm -lstdc++ ----------------- August 17, 2011 12:14:00 PM MDT I just made a couple of changes to the test suite so I thought I would let you know so that you can copy them over. The changes are to a handful of files in these two directories (maybe it will be easiest just to copy the whole directories): /home/adamc/mercurial/lagrit/test/level01/sort /home/adamc/mercurial/lagrit/test/level01/hybrid_volume ----------------- August 17, 2011 10:20:11 AM MDT So it looks to me like NetCDF and Exodus don't come with any real restrictions except that you have to include their copyright notices. You can copy them from here: /home/adamc/src/exodusii-5.09/exodusii/COPYRIGHT /home/adamc/src/netcdf-4.1.3/COPYRIGHT I don't know what the best way to include these would be. Maybe just copy both of them into a single COPYRIGHT file and include that with the LaGriT binaries? ----------------- August 18, 2011 9:18:48 AM MDT I never really finished polishing up my work on 3D Voronoi diagrams but I wanted to send you what I have so that you have it. I made two directories with my code: /home/adamc/voronoi_qhull /home/adamc/voronoi_voro++ The old qhull version has some limitations but I think it actually works pretty well. It should be a bit faster now that it can run many threads in parallel. It will also assign the right material ids to the Voronoi cells now. I wrote a README file in that directory so that you can see how to use it. The new voro++ version sort of works but is probably not ready to use yet. ----------------- August 18, 2011 1:10:10 PM MDT I updated /home/adamc/mercurial/lagrit/lagrit.lanl.gov/docs/DUMP2.html to add info about the dump / exo command. I couldn't find a very good reference on the Exodus II format so I didn't include a link. ----------------- As of August 15 2011 ----------------- From: "Adam M. Cozzette" Date: August 15, 2011 7:35:56 AM MDT To: "Terry A. Miller" Subject: LaGriT Source Directory Reply-To: adamc@lanl.gov Hi Terry, My LaGriT source directory is here: /home/adamc/mercurial/lagrit/src My tests are at: /home/adamc/mercurial/lagrit/test/level01 And my documentation changes are here: /home/adamc/mercurial/lagrit/lagrit.lanl.gov/docs These are the source files I have added: sparseMatrix.h type_sizes.h dumpexodusII.f line_graph_sort.cpp quad_quality.c ----------------- August 12, 2011 3:13:05 PM MDT I have an update on some files I have added and removed. I removed this file: src/populate_bins.cpp And I added these ones: src/excre_wrapper.c docs/quad_quality.jpg docs/h_s_eq.tex docs/l_i.tex docs/p_ac.tex docs/p_bd.tex docs/regularity.tex excre_wrapper.c is a trivial C wrapper function I had to write in order to fix dump / exodus. I was really confused because the Fortran interface for Exodus has a C function which takes an integer (not a pointer to an integer) as an argument, which seemed to me to make it impossible to call that function from Fortran. So my C wrapper will take that pointer and dereference it before calling the actual Exodus function. But I just mention this because maybe you know a better way to do it. The .jpg file is a GMV screenshot for the quad quality documentation and the .tex files are all equations for the documentation. ----------------- August 11, 2011 1:56:07 PM MDT I've mostly written down the necessary steps for building NetCDF and Exodus. I also realized that Exodus seems to link statically by default, so NetCDF is the only one I will have to change if we want static linking. So far I have only tried Exodus on Linux, so I will have to try it on a Mac to see if it works. There is a comment in the Exodus source code that says the Fortran interface was written explicitly for Linux, so it might not work out of the box on a Mac. But if we want Mac OS support, it probably would not be too hard to arrange because Exodus's Fortran interface is just a thin wrapper around the C interface. ----------------- As of August 10 2011 In the following files I removed the C preprocessor stuff for determining the size an integer should be. Instead I moved that into the header file type_sizes.h so that it does not need to be duplicated in every C file: anothermatbld3d.c matrix_values_compress.c skiplist.ch sparseMatrix.c These are the new files I added: sparseMatrix.h - Add function prototypes so that gcc can do type checking type_sizes.h - Stuff for deciding what int_ptrsize should be dumpexodusII.f - Rao's Exodus code line_graph_sort.cpp - Sort and classify line segments quad_quality.c - Add various quality metrics for quads populate_bins.cpp - Helper code for binning quality attributes Here are some other things that are not represented in this diff. 1. ASCEM: I restructured Mike's LaGriT GUI a bit and I also fixed up the LaGriT files it produces. I also created a GUI for the meshing work flow menu. I made a preliminary design for redoing the Gridder GUI as well, but I never implemented it because other people had taken over the ASCEM work at that point. 2. I wrote a Perl script that generates 3D Voronoi diagrams in GMV by running an AVS file through the qhull program. Currently it can't handle unbounded Voronoi cells and it is pretty slow. I plan to rewrite my script as a C++ program using the Voro++ library, which should make it much faster and possibly make it easier to handle unbounded cells correctly. 3. I've written documentation for most of my changes in the HTML files in the docs/ directory. I have also written tests for most of my changes. Here are the files I changed or added in the docs/ directory: DUMP2.html DUMP3.html ELTSET2.html INTERSECT.html PERTURB.html PSET.html QUALITY.html REORDER.html SORT.html TRIAGN.html cmo_addatt.html Makefile alpha.tex h_max.tex h_s.tex quad_quality_equation.tex s_min.tex I added the Makefile for turning the LaTeX code into PNG equations that can be included in the web pages. Actually I should probably show you that some time so that you can decide if it's worth keeping or not. Also, I still have to finish the quad quality metric documentation because I think I stopped part way through because I got distracted by something else. Here are the test directories that I have added or changed (in test/level01/): connect2d eltset hybrid_volume intersect pset quad_quality rotateln sort I also made a small change to fix a bug in run_test.py. Code Reports: #112: cmo / copyatt gets confused between node and element attributes --------------------+------------------- Reporter: adamc | Owner: Gable Type: defect | Status: new Priority: minor | Milestone: Component: IO | Version: Keywords: | --------------------+------------------- With the following LaGriT commands I have been trying to create attributes for Voronoi points in one mesh (xvor, yvor, zvor) and then copy those to another mesh so that I can view them in GMV. This involves copying from an element attribute to a node attribute. cmo / create / mo10 /// hex createpts / brick / xyz / 2 2 2 / 0 0 0 / 1 1 10 / 1 1 1 hextotet / 24 / mo11 / mo10 cmo / addatt / mo11 / voronoi dump / test11.gmv / mo11 cmo / create / mo12 / 24 / N cmo / copyatt / mo12 / mo11 / xic / xvor cmo / copyatt / mo12 / mo11 / yic / yvor cmo / copyatt / mo12 / mo11 / zic / zvor dump / test12.gmv / mo12 If N is 0 (which it should be), copyatt refuses to copy the attributes even though there is enough room: Error from: WARNING:copy element att into node att cmo_copyatt Warning: sink elems lt source elems by 24 No values acquired for indexed set of xvor It seems to be looking at the number of elements in mo12 instead of the number of nodes. If I set N to 24, then cmo / copyatt will copy the attributes correctly, but dump / gmv will cause a segfault, perhaps because it has 24 uninitialized elements. #111: Reorder may sort the wrong thing if nnodes == nelements Changes (by adamc): * status: new => closed * resolution: => fixed #72: createpts brick should allow nx or ny or nz = 1 Comment (by adamc): A problem related to this is that in rzbrickg.f, the rzbrickg subroutine will change nx (or ny or nz) to 2 if it is passed as a 1. However, it doesn't reset nnodes or grow the xic, yiz, and zic arrays, so I believe in some cases it leads to LaGriT writing past the end of these arrays. #108: cmo/addatt/mo/area_normal/xyz/att_v_area off by factor of 2 #110: connect (2D) crashes when y coordinate range is negative ode DIFFS: diff -u /home/tam/src/lagrit/src/anothermatbld3d.c /home/adamc/mercurial/lagrit/src/anothermatbld3d.c --- /home/tam/src/lagrit/src/anothermatbld3d.c 2011-05-03 10:54:26.960660000 -0600 +++ /home/adamc/mercurial/lagrit/src/anothermatbld3d.c 2011-08-09 10:06:21.703529000 -0600 @@ -87,8 +61,25 @@ adam: Here I added a couple of function prototypes so that gcc can perform type checking. (a21*a12)))) #define det2(a11,a12,a21,a22) (a11*a22 - a21*a12) - -extern double sqrt(); + +/* Declare some Fortran functions we're going to use so that the compiler can do + * type checking. */ +void inside_tet_( + double *x1, double *y1, double *z1, + double *x2, double *y2, double *z2, + double *x3, double *y3, double *z3, + double *x4, double *y4, double *z4, + double *xa, double *ya, double *za, + int_ptrsize *flag); + +void lineseg_tri_( + double *x1, double *y1, double *z1, + double *x2, double *y2, double *z2, + double *x3, double *y3, double *z3, + double *xa, double *ya, double *za, + double *xb, double *yb, double *zb, + double *x, double *y, double *z, + int_ptrsize *flag); typedef struct x3dMeshStructure { int_ptrsize nnodes; @@ -97,24 +88,55 @@ adam: I added helper functions for computing dot products and distances. adam: I also changed the areaOf3dTriangle function to compute a vector area rather than a scalar. adam: I added helper functions for computing dot products and distances. adam: I also changed the areaOf3dTriangle function to compute a vector area rather than a scalar. + +/**************************************************************************/ + +static double dot(double x1, double y1, double z1, + double x2, double y2, double z2) + +/**************************************************************************/ + +/* Compute the dot product of two vectors. */ + +{ + return x1 * x2 + y1 * y2 + z1 * z2; +} + +static double distance(double x1, double y1, double z1, + double x2, double y2, double z2) +{ + return sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1) + + (z2 - z1)*(z2 - z1)); +} /**************************************************************************/ -double areaOf3dTriangle(double a0, double a1, double a2, +static void areaOf3dTriangle(double a0, double a1, double a2, double b0, double b1, double b2, - double c0, double c1, double c2) + double c0, double c1, double c2, + double *xa, double *ya, double *za) /**************************************************************************/ + +/* + * Compute the vector area of a triangle. The result is stored in (xa, ya, za). + */ { - /* area (a,b,c) = length of AxB, A= b-a, B = c-a */ - double A0, A1, A2, B0,B1,B2; - double D1,D2,D3; + /* area (a,b,c) = 0.5 * length of AxB, A = b-a, B = c-a */ + double A0, A1, A2, B0, B1, B2; A0 = b0 - a0; A1 = b1 - a1; @@ -123,24 +145,16 @@ B0 = c0 - a0; B1 = c1 - a1; B2 = c2 - a2; - - D1 = A1*B2-A2*B1; - D1 = D1*D1; - - D2 = A2*B0 - A0*B2; - D2 = D2*D2; - - D3 = A0*B1 - A1*B0; - D3 = D3*D3; - - return (sqrt(D1+D2+D3)/2.0); - + + *xa = (A1*B2 - A2*B1)/2.0; + *ya = (A2*B0 - A0*B2)/2.0; + *za = (A0*B1 - A1*B0)/2.0; } @@ -430,7 +444,14 @@ adam: The compiler was giving me some warnings about the printf format string adam: below. So I added an #if that will make sure to match the format string to the adam: size of the integers being used. break; default: printf("Error: getTetVertices has unexpected set of vertices.\n"); + + /* Ugly C preprocessor junk to make sure we use the right format string + * depending on the size of int_ptrsize. */ +#if SIZEOF_INT == SIZEOF_VOIDP printf("tet: %d with a b c d: %d %d %d %d\n",tet,a,b,c,d); +#else + printf("tet: %ld with a b c d: %ld %ld %ld %ld\n",tet,a,b,c,d); +#endif } } /* end getTetVertices() */ @@ -462,15 +481,162 @@ adam: I added several functions for computing the hybrid point of a control volume: adam: tetisOnBoundary adam: intersectSegmentWithFace adam: getHybridPoint + +/**************************************************************************/ + +static int_ptrsize tetIsOnBoundary(int_ptrsize tet) + +/**************************************************************************/ + +/* + * Return 1 or 0 to indicate whether the tetrahedron indexed by tet is on a + * boundary. Note that we assume that all elements in itet are tetrahedra; if + * not then the results are undefined. We also assume that the tet index uses + * the C convention of starting from 0. The Mesh structure declared at the top + * of this file must be initialized. + */ +{ + size_t i; + int_ptrsize *jtet; + + /* Adjust jtet so that it points to the tet we're interested in. */ + jtet = Mesh->jtet + 4 * tet; + + for (i = 0; i < 4; i++) { + if (jtet[i] >= Mesh->mbndry) { + return 1; + } + } + + return 0; +} + +/**************************************************************************/ + +static int_ptrsize intersectSegmentWithFace(int_ptrsize *itet, + double xm, double ym, double zm, + double xv, double yv, double zv, + int_ptrsize p1, int_ptrsize p2, int_ptrsize p3, + double *x, double *y, double *z) + /**************************************************************************/ + +/* + * Test for intersection between the line segment ((xm, ym, zm), (xv, yv, zv)) + * and the triangle defined by points p1, p2, and p3, which are indices into the + * itet argument. Return 1 if an intersection exists and 0 otherwise. If there + * is an intersection, the function will return it by placing it in the + * arguments x, y, and z. + */ + +{ + int_ptrsize flag; + + lineseg_tri_( + &Mesh->xic[itet[p1] - 1], &Mesh->yic[itet[p1] - 1], + &Mesh->zic[itet[p1] - 1], &Mesh->xic[itet[p2] - 1], + &Mesh->yic[itet[p2] - 1], &Mesh->zic[itet[p2] - 1], + &Mesh->xic[itet[p3] - 1], &Mesh->yic[itet[p3] - 1], + &Mesh->zic[itet[p3] - 1], + &xm, &ym, &zm, &xv, &yv, &zv, x, y, z, &flag); + + if (flag != -1) + return 1; + else + return 0; +} + +/**************************************************************************/ + +static int_ptrsize getHybridPoint(int_ptrsize tet, + double xv, double yv, double zv, + double *x, double *y, double *z, + double *hybrid_factor) + +/**************************************************************************/ + +/* + * Given the index of a tet which does not contain its Voronoi center, compute + * the point that represents the "hybrid median-Voronoi" center. We define this + * to be the point where the line segment connecting the median point and + * Voronoi point intersects a face of the tet. The triple (xv, yv, zv) should be + * the coordinates of the Voronoi center. The function returns the result by + * storing it in the arguments x, y, and z. It also computes the hybrid_factor + * which is a measure of how far the hybrid point is relative to the Voronoi and + * median points. A 0 indicates that the hybrid point is on the Voronoi point + * whereas a 1 indicates that it is on the hybrid point. + * + * NOTE: This function will only compute the hybrid point if the Voronoi center + * lies outside the boundary of the mesh. If the Voronoi center is outside the + * tet but still within the mesh, we don't need to do anything. The function + * will return 1 if it finds an intersection and 0 otherwise. If it returns 0 + * then (assuming nothing went wrong) we don't need to use a hybrid point + * because the Voronoi center is still within the boundaries of the mesh. + */ + +{ + size_t i; + int_ptrsize *itet; + int_ptrsize *jtet; + double xm = 0, ym = 0, zm = 0; + double dist_v_to_h; /* distance from Voronoi to hybrid */ + double dist_v_to_m; /* distance from Voronoi to median */ + + /* Set itet and jtet to point to the tet we're interested in. */ + itet = Mesh->itet + 4 * tet; + jtet = Mesh->jtet + 4 * tet; + + /* Compute the median point of the tetrahedron by taking the arithmetic mean + * of each coordinate across the four vertices of the tet. */ + for (i = 0; i < 4; i++) { + xm += Mesh->xic[itet[i] - 1]; + } + xm /= 4.0; + + for (i = 0; i < 4; i++) { + ym += Mesh->yic[itet[i] - 1]; + } + ym /= 4.0; + + for (i = 0; i < 4; i++) { + zm += Mesh->zic[itet[i] - 1]; + } + zm /= 4.0; + + /* It's not obvious which face the median-Voronoi segment will intersect, so + * we just try all boundary faces of this tet. */ + if (jtet[0] >= Mesh->mbndry && intersectSegmentWithFace(itet, + xm, ym, zm, xv, yv, zv, 1, 2, 3, x, y, z)) + ; + else if (jtet[1] >= Mesh->mbndry && intersectSegmentWithFace(itet, + xm, ym, zm, xv, yv, zv, 0, 2, 3, x, y, z)) + ; + else if (jtet[2] >= Mesh->mbndry && intersectSegmentWithFace(itet, + xm, ym, zm, xv, yv, zv, 0, 1, 3, x, y, z)) + ; + else if (jtet[3] >= Mesh->mbndry && intersectSegmentWithFace(itet, + xm, ym, zm, xv, yv, zv, 0, 1, 2, x, y, z)) + ; + else + return 0; + + dist_v_to_h = distance(xv, yv, zv, *x, *y, *z); + dist_v_to_m = distance(xv, yv, zv, xm, ym, zm); + if (dist_v_to_m != 0.0) /* make sure we don't divide by zero */ + *hybrid_factor = dist_v_to_h / dist_v_to_m; + else + *hybrid_factor = 0; + + return 1; +} @@ -499,8 +670,22 @@ adam: This change computes a unit vector in the direction of an edge between adam: two points in the tetrahedral mesh. We dot this with the facet of the Voronoi adam: cell in order to consider just the component of the area that is in the adam: direction of the edge. xv2_save, yv2_save, zv2_save, xk1_save, yk1_save, zk1_save, xk2_save, yk2_save, zk2_save; + double xhybrid, yhybrid, zhybrid; - area=0.0; volume = 0.0; + area=0.0; + volume = 0.0; + + /* Compute unit vector in the direction of the edge from index_i to index_j. + */ + edge_unit_x = Mesh->xic[index_j - 1] - Mesh->xic[index_i - 1]; + edge_unit_y = Mesh->yic[index_j - 1] - Mesh->yic[index_i - 1]; + edge_unit_z = Mesh->zic[index_j - 1] - Mesh->zic[index_i - 1]; + edgelength = sqrt(edge_unit_x*edge_unit_x + + edge_unit_y*edge_unit_y + + edge_unit_z*edge_unit_z); + edge_unit_x /= edgelength; + edge_unit_y /= edgelength; + edge_unit_z /= edgelength; /* for every incidentTet.*/ for (tetIndex=0; tetIndex < numIncidentTets; tetIndex++) { @@ -538,6 +723,29 @@ Mesh->xic[k2],Mesh->yic[k2],Mesh->zic[k2], &tetCenterx, &tetCentery, &tetCenterz); + /* If the tet is on the boundary and it does not contain its circumcenter, + * then we might need to move the center back inside the tet. I say "might + * need to" because it's possible that the Voronoi center is outside the tet + * but still within the mesh, in which case we're ok already. We only + * attempt to do this stuff if we're using the "hybrid" mode. */ + if (Mesh->ifhybrid && tetIsOnBoundary(incidentTets[tetIndex] - 1)) { + /* This call might not be necessary. getHybridPoint will find out later + * whether or not the circumcenter is inside the tet. */ + inside_tet_(&Mesh->xic[v1],&Mesh->yic[v1],&Mesh->zic[v1], + &Mesh->xic[v2],&Mesh->yic[v2],&Mesh->zic[v2], + &Mesh->xic[k1],&Mesh->yic[k1],&Mesh->zic[k1], + &Mesh->xic[k2],&Mesh->yic[k2],&Mesh->zic[k2], + &tetCenterx, &tetCentery, &tetCenterz, &flag); + if (flag == -1 && getHybridPoint(incidentTets[tetIndex] - 1, + tetCenterx, tetCentery, tetCenterz, + &xhybrid, &yhybrid, &zhybrid, + &Mesh->hybrid_factor[incidentTets[tetIndex] - 1])) { + tetCenterx = xhybrid; + tetCentery = yhybrid; + tetCenterz = zhybrid; + } + } + getCircumcenterOfTriangle(Mesh->xic[v1], Mesh->yic[v1],Mesh->zic[v1], Mesh->xic[v2], Mesh->yic[v2],Mesh->zic[v2], Mesh->xic[k1], Mesh->yic[k1],Mesh->zic[k1], @@ -550,10 +758,15 @@ /* Compute the signed contribution of area and volume. */ - area1 = areaOf3dTriangle(bisectorx,bisectory,bisectorz, + areaOf3dTriangle(bisectorx,bisectory,bisectorz, triCenter1x,triCenter1y,triCenter1z, - tetCenterx, tetCentery,tetCenterz) ; - + tetCenterx, tetCentery, tetCenterz, + &xa, &ya, &za); + /* Dot the area with the unit edge vector so that we count only the + * component of the area vector that is in line with the edge. We take the + * absolute value in case the area vector and edge vector are pointing in + * opposite directions. */ + area1 = fabs(dot(xa, ya, za, edge_unit_x, edge_unit_y, edge_unit_z)); vol1 = volumeOfTet(Mesh->xic[v1],Mesh->yic[v1],Mesh->zic[v1], bisectorx,bisectory,bisectorz, @@ -564,10 +777,11 @@ area1 = -area1; } - - area2 = areaOf3dTriangle(bisectorx,bisectory,bisectorz, + areaOf3dTriangle(bisectorx,bisectory,bisectorz, tetCenterx, tetCentery,tetCenterz, - triCenter2x,triCenter2y,triCenter2z); + triCenter2x,triCenter2y,triCenter2z, + &xa, &ya, &za); + area2 = fabs(dot(xa, ya, za, edge_unit_x, edge_unit_y, edge_unit_z)); vol2 = volumeOfTet(Mesh->xic[v1],Mesh->yic[v1],Mesh->zic[v1], triCenter2x,triCenter2y,triCenter2z, @@ -582,13 +796,6 @@ volume += vol1 + vol2; } - edgelength = sqrt((Mesh->xic[v1]-Mesh->xic[v2])* - (Mesh->xic[v1]-Mesh->xic[v2])+ - (Mesh->yic[v1]-Mesh->yic[v2])* - (Mesh->yic[v1]-Mesh->yic[v2])+ - (Mesh->zic[v1]-Mesh->zic[v2])* - (Mesh->zic[v1]-Mesh->zic[v2])); - value = -area/edgelength; setEntry(index_i,index_j,volume,&value); @@ -613,8 +820,8 @@ /**************************************************************************/ -void computeentry_(int_ptrsize *Pindex_i, int_ptrsize *Pindex_j, int_ptrsize *PnumIncidentTets, - int_ptrsize *incidentTets, int_ptrsize *localEdges) +void computeentry_(int_ptrsize *Pindex_i, int_ptrsize *Pindex_j, int_ptrsize + *PnumIncidentTets, int_ptrsize *incidentTets, int_ptrsize *localEdges) /**************************************************************************/ @@ -628,8 +835,8 @@ /**************************************************************************/ -void computeentry(int_ptrsize *Pindex_i, int_ptrsize *Pindex_j, int_ptrsize *PnumIncidentTets, - int_ptrsize *incidentTets, int_ptrsize *localEdges) +void computeentry(int_ptrsize *Pindex_i, int_ptrsize *Pindex_j, int_ptrsize + *PnumIncidentTets, int_ptrsize *incidentTets, int_ptrsize *localEdges) /**************************************************************************/ @@ -644,9 +851,10 @@ adam: I changed the parameter list for initialize3ddiffusionmat_ so that the adam: function also takes arrays for jtet, pmbndry, ifhybrid, and hybridfactor. adam: ifhybrid indicates whether to use hybrid volumes and hybrid_factor is an adam: attribute that the function will fill in order to indicate the extent to which adam: each cell is hybridized. /**************************************************************************/ -void initialize3ddiffusionmat_(int_ptrsize *pentrysize, int_ptrsize -*pcompress, int_ptrsize *pnnodes, double *xic, double *yic, double *zic, -int_ptrsize *pntets, int_ptrsize *itet) +void initialize3ddiffusionmat_(int_ptrsize *pentrysize, int_ptrsize *pcompress, + int_ptrsize *pnnodes, double *xic, double *yic, double *zic, int_ptrsize + *pntets, int_ptrsize *itet, int_ptrsize *jtet, int_ptrsize *pmbndry, + int_ptrsize *ifhybrid, double *hybrid_factor) /**************************************************************************/ diff -u /home/tam/src/lagrit/src/anothermatbld3d_wrapper.f /home/adamc/mercurial/lagrit/src/anothermatbld3d_wrapper.f --- /home/tam/src/lagrit/src/anothermatbld3d_wrapper.f 2011-05-03 10:54:26.965659000 -0600 +++ /home/adamc/mercurial/lagrit/src/anothermatbld3d_wrapper.f 2011-08-05 12:26:08.008037000 -0600 @@ -1,7 +1,7 @@ *dk,mikematmatbld3d_wrapper subroutine anothermatbld3d_wrapper - x (ifile,io_type,num_area_coef,ifcompress) + x (ifile,io_type,num_area_coef,ifcompress, ifhybrid) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C Copyright, 1999 C C This program was prepared by the Regents of the University of C @@ -432,6 +438,27 @@ adam: Here I added code that will create the hybrid_factor attribute if we are adam: using the hybrid option. C Call C functions to do the real work of building the matrix. ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc + if (ifhybrid .eq. 1) then + write(logmess,'(a)') + * 'AMatbld3d_stor: Using hybrid median-Voronoi volumes' + call writloga('default',1,logmess,0,icscode) + +C Create an attribute for storing the hybrid factor. + write(cbuff, '(a,a,a)') 'cmo/addatt/', cmo, + * '/hybrid_factor/vdouble/scalar/nelements; finish' + call dotask(cbuff, icscode) + + call cmo_get_info("hybrid_factor", cmo, iphybrid_factor, ilen, + * ityp, ierr) + +C +C Zero out the new attribute +C + do i = 1, ntets + hybrid_factor(i) = 0.0 + enddo + endif + if (idebug.ne.0) then write(logmess,'(a)') "AMatbld3d_stor: initialize3ddiffusionmat" call writloga('default',1,logmess,0,icscode) diff -u /home/tam/src/lagrit/src/cmo_addatt.f /home/adamc/mercurial/lagrit/src/cmo_addatt.f --- /home/tam/src/lagrit/src/cmo_addatt.f 2011-05-03 10:54:27.080659000 -0600 +++ /home/adamc/mercurial/lagrit/src/cmo_addatt.f 2011-08-05 12:26:08.018037000 -0600 @@ -49,8 +49,12 @@ adam: In this file I added the hybrid_volume to the cmo // addatt command. This adam: allows you to see the volumes of the control volumes under the hybrid scheme. I also added a metric for quad quality, which can be used via the 'cmo // addatt / quad_quality' command. C implemented only for triangle areas C voronoi_varea - creates node attributes xn_varea, yn_varea, zn_varea C same as computed for outside area -C voronoi_volume - creates node attribute xvor,yvor,zvor +C voronoi_volume - creates node attribute storing volumes of Voronoi +C cells C old was vor_volume fills with voronoi volume from getvoronoivolumes() +C +C hybrid_volume - creates node attribute storing volumes of hybrid +C median-Voronoi control volumes C C vector - creates one vector attribute C fills with values from 3 scalar attributes @@ -504,12 +514,15 @@ C.... keyword voronoi_varea etc this is a new file for lagrit, do not need to include diff diff -u /home/tam/src/lagrit/src/connect2d_lg.f /home/adamc/mercurial/lagrit/src/connect2d_lg.f --- /home/tam/src/lagrit/src/connect2d_lg.f 2011-05-03 10:54:27.258613000 -0600 +++ /home/adamc/mercurial/lagrit/src/connect2d_lg.f 2011-07-27 13:07:20.024932000 -0600 @@ -569,10 +569,10 @@ adam: This change fixes a bug in the 2D Delaunay connect. C C ****************************************************************** C -C CALCULATE VOLUMES, VORONOI POINTS -C *** SIX TIMES THE TRUE TETRAHEDRON VOLUME. -C *** TWICE THE COORDINATES OF THE VORONOI POINT. -C +C NOTE: The following if statement formerly contained code that +C doubled the coordinates of the first Voronoi point. I removed it +C because it was causing problems but I do not know the original +C reason it was there. -- Adam Cozzette, July 2011 if(ibigtet.gt.0) then call volume_tri(xic(ibigtet),yic(ibigtet),zic(ibigtet), * xic(ibigtet+1),yic(ibigtet+1),zic(ibigtet+1), @@ -582,9 +582,6 @@ * xic(ibigtet+1),yic(ibigtet+1),zic(ibigtet+1), * xic(ibigtet+2),yic(ibigtet+2),zic(ibigtet+2), * xvor(1),yvor(1),zvor(1),r) - xvor(1)=2.*xvor(1) - yvor(1)=2.*yvor(1) - zvor(1)=2.*zvor(1) endif C C ****************************************************************** diff -u /home/tam/src/lagrit/src/cr_copy.f /home/adamc/mercurial/lagrit/src/cr_copy.f --- /home/tam/src/lagrit/src/cr_copy.f 2011-05-03 10:54:27.297587000 -0600 +++ /home/adamc/mercurial/lagrit/src/cr_copy.f 2011-07-26 17:00:59.535224000 -0600 @@ -52,12 +52,12 @@ adam: This change fixes an off-by-one error by making an array one element adam: longer. I think I changed this to get rid of a segfault I was running into. logical mask(n), mask2(n) pointer (ipitemp, itemp) - integer itemp(n) + integer itemp(n + 1) character*8 icrname icrname='cr_sum' length=n - call mmgetblk('itemp',icrname,ipitemp,length,2,icscode) + call mmgetblk('itemp',icrname,ipitemp,length + 1,2,icscode) indx = 1 do i=1,n if (mask(i)) then diff -u /home/tam/src/lagrit/src/dumpfehm.f /home/adamc/mercurial/lagrit/src/dumpfehm.f --- /home/tam/src/lagrit/src/dumpfehm.f 2011-05-03 10:54:27.564580000 -0600 +++ /home/adamc/mercurial/lagrit/src/dumpfehm.f 2011-07-26 17:18:35.447953000 -0600 @@ -1,6 +1,7 @@ adam: Added support for hybrid volumes to dumpfehm.f. anothermatbld3d.c does the adam: real work but dumpfehm.f has to pass along the hybrid option from the user. *DK dumpfehm subroutine dumpfehm(ifile,ifileini,ioption,iomode, - * area_coef_option,compress_opt,attrib_option,area_option) + * area_coef_option,compress_opt,attrib_option,area_option, + * hybrid_option) diff -u /home/tam/src/lagrit/src/eset.f /home/adamc/mercurial/lagrit/src/eset.f --- /home/tam/src/lagrit/src/eset.f 2011-05-03 10:54:27.713584000 -0600 +++ /home/adamc/mercurial/lagrit/src/eset.f 2011-07-26 16:45:42.814771000 -0600 @@ -353,16 +356,25 @@ adam: Added support for writing element sets out to a file. I mostly copied and adam: pasted code from pset.F. I also changed the behavior so that eltset // write adam: will write each element set to a separate file if it is given the -all- option. adam: Furthermore, filenames now end with .cellset. C ****************************************************************** C -C PROCESS THE 'LIST' MODE +C PROCESS THE 'LIST' and 'WRITE' MODE C - 12 if (mode(1:lenmode) .eq. 'list') then + 12 if ((mode(1:lenmode) .eq. 'list') .or. + $ (mode(1:lenmode) .eq. 'write')) then + if (mode(1:lenmode) .eq. 'write') then + if ((msgtype(2).eq.3.and.cmsgin(2)(1:5).eq.'-def-') .or. + * (msgtype(2).eq.3.and.cmsgin(2)(1:5).eq.'-all-') .or. + * (msgtype(2).eq.3.and.cmsgin(2).eq.' ')) then + name = '-all-' + endif + endif C C --------------------------------------------------------------- -C IF NO NAME ENTERED, DISPLAY LIST OF PSET NAMES +C IF NO NAME ENTERED, DISPLAY LIST OF ELTSET NAMES C if ((msgtype(2).eq.1.and.imsgin(2).eq.0) .or. - * (msgtype(2).eq.3.and.cmsgin(2).eq.' ').or. - * (msgtype(2).eq.3.and.cmsgin(2)(1:5).eq.'-def-')) then + * (msgtype(2).eq.3.and.cmsgin(2)(1:5).eq.'-def-') .or. + * (msgtype(2).eq.3.and.cmsgin(2).eq.' ') .or. + * (mode(1:lenmode) .eq. 'write')) then ierror=0 icnt=0 do 1 i=1,nbitsmax @@ -379,7 +391,26 @@ 6001 format(2(2x,a32)) call writloga('default',0,logmess,0,ierr) 2 continue - go to 9998 + if(mode(1:lenmode) .eq. 'list') then + go to 9998 + elseif(mode(1:lenmode) .eq. 'write') then +C Make sure that the element set actually exists + icnt=0 + do 3 i=1,nbitsmax + len2=icharlnf(eltsetnames(i)) + len1=max(lenname,len2) + if (name(1:len1) .eq. eltsetnames(i)(1:len1)) icnt=i + 3 continue + if (name(1:5) .eq. '-all-') then + go to 9997 + elseif (icnt .eq. 0) then + write(logmess, 1005) name + call writloga('default',1,logmess,1,ierr) + go to 9998 + else + go to 9997 + endif + endif C C --------------------------------------------------------------- C IF NAME ENTERED, CHECK THAT IT EXISTS @@ -608,12 +639,12 @@ adam: This fixes a bug where attempting to redefine an element set would only adam: add elements to an existing one. This should zero it out so that it starts adam: afresh. inode=itet(itetoff(i)+j) if(mpary1(inode).eq.1) then if(mode(1:lenmode).eq.'inclusive') - * xtetwd(i)=ior(xtetwd(i),mask) + * itmpwd(i)=ior(itmpwd(i),mask) if(mode(1:lenmode).eq.'exclusive') then if(j.eq.1) emask=1 if(j.gt.1.and.j.lt.nen) emask=emask+1 if(j.eq.nen.and.emask.eq.nen-1) - * xtetwd(i)=ior(xtetwd(i),mask) + * itmpwd(i)=ior(itmpwd(i),mask) endif endif enddo @@ -634,13 +665,13 @@ if(j.eq.1) emask=1 if(j.gt.1.and.j.lt.nnf) emask=emask+1 if(j.eq.nnf.and.emask.eq.nnf-1) - * xtetwd(ie)=ior(xtetwd(ie),mask) + * itmpwd(ie)=ior(itmpwd(ie),mask) endif enddo enddo enddo endif - go to 9997 + go to 9996 endif +C ****************************************************************** +C Write eltset info to a file. +C + elseif(mode(1:lenmode) .eq. 'write') then + icnt = 1 + etc new code added, no diff diff -u /home/tam/src/lagrit/src/geniee.f /home/adamc/mercurial/lagrit/src/geniee.f --- /home/tam/src/lagrit/src/geniee.f 2011-05-03 10:54:27.912581000 -0600 +++ /home/adamc/mercurial/lagrit/src/geniee.f 2011-08-05 12:26:08.034037000 -0600 @@ -932,20 +932,28 @@ adam: This loop dives right in and starts iterating before checking the adam: condition. I changed it to check the condition first, which I believe removes an adam: invalid memory write. irepeat(j)=1 enddo isdegen=0 + +C Begin loop (I wish Fortran had while loops...) j=1 -302 if (loc_nodes(j+1).eq.loc_nodes(j)) then - isdegen=isdegen+1 - if (jtet_reduce_nnd.eq.1) then - nnd=nnd-1 - irepeat(j)=irepeat(j)+1 - do isort=j+1,nnd - loc_nodes(isort)=loc_nodes(isort+1) - enddo - if (j.lt.nnd) goto 302 +302 if (j .lt. nnd) then + if (loc_nodes(j+1).eq.loc_nodes(j)) then + isdegen=isdegen+1 + if (jtet_reduce_nnd.eq.1) then + nnd=nnd-1 + irepeat(j)=irepeat(j)+1 + do isort=j+1,nnd + loc_nodes(isort)=loc_nodes(isort+1) + enddo + else + j = j + 1 + endif + else + j = j + 1 endif + goto 302 endif - j=j+1 - if (j.lt.nnd) goto 302 +C End loop + if (isdegen.gt.0) n_self_degen=n_self_degen+1 icycle=1 ksdegen=0 diff -u /home/tam/src/lagrit/src/intersect_cmo.f /home/adamc/mercurial/lagrit/src/intersect_cmo.f --- /home/tam/src/lagrit/src/intersect_cmo.f 2011-05-03 10:54:28.132581000 -0600 +++ /home/adamc/mercurial/lagrit/src/intersect_cmo.f 2011-08-05 12:26:08.043037000 -0600 @@ -1247,7 +1253,7 @@ adam: I don't remember what this fixed exactly , but I think it was important. adam: This do loop was looping the wrong number of times but should now work properly. enddo enddo C - do i=1,npointsc + do i=1,npointsa if(itp1c(i).eq.ifitpint.or.itp1c(i).eq.ifitpini) icr1a(i)=0 enddo C @@ -1281,6 +1287,39 @@ adam: This runs sort // line_graph after performing the intersection. call dotaskx3d(dotask_command,ierror) endif C +C Sort the edges in itet. Hopefully no one is using line_sort_key +C for anything. +C + do i = 1, 5 + cmd_imsgin(i) = 0 + cmd_xmsgin(i) = 0.0 + cmd_msgtyp(i) = 3 + enddo + cmd_cmsgin(1) = 'sort' + cmd_cmsgin(2) = cmoout + cmd_cmsgin(3) = 'line_graph' + cmd_cmsgin(4) = 'ascending' + cmd_cmsgin(5) = 'line_sort_key' + + call sortbins(cmd_imsgin, cmd_xmsgin, cmd_cmsgin, cmd_msgtyp, 5, + * ierror) +C dotask_command = 'sort/' // cmoout // +C * '/line_graph/ascending/line_sort_key; finish' +C call dotaskx3d(dotask_command, ierror) + if (ierror .ne. 0) then + write(logmess, '(a)') + * ' INTERSECT: ERROR - something went wrong sorting the output.' + call writloga('default',0,logmess,0,ierr1) + ierr1 = 1 + else + dotask_command = 'reorder/' // cmoout // + * '/line_sort_key; finish' + call dotaskx3d(dotask_command, ierror) + dotask_command = 'cmo/delatt/' // cmoout // + * '/line_sort_key; finish' + call dotaskx3d(dotask_command, ierror) + endif + call mmrelprt(isubname,icscode) return end diff -u /home/tam/src/lagrit/src/pcc_test.f /home/adamc/mercurial/lagrit/src/pcc_test.f --- /home/tam/src/lagrit/src/pcc_test.f 2011-05-03 10:54:28.614504000 -0600 +++ /home/adamc/mercurial/lagrit/src/pcc_test.f 2011-07-27 14:23:41.877933000 -0600 adam: Formerly pcc_test would give you a warning for each and every element in your mesh, if you gave it a non-tetrahedral mesh. This changes it to give just one warning. @@ -73,6 +73,9 @@ integer itet(10000000), jtet(10000000) real*8 xic(1000000), yic(1000000), zic(1000000) character*8 cglobal,cdefault + +C Count the number of non-tets so that we can give a useful warning. + integer nnontets C dist2(a11,a12,a13,a21,a22,a23) = * (a11-a21)**2 + (a12-a22)**2 + (a13-a23)**2 @@ -80,6 +83,7 @@ isubname='pcc_test' cglobal='global' cdefault='default' + nnontets = 0 C C C ****************************************************************** @@ -146,7 +150,7 @@ do it=1,ntets c check to see that we are dealing with tets! if (nelmnef(itettyp(it)).ne.4) then - call x3d_error(isubname,'assumes a tetrahedral mesh!') + nnontets = nnontets + 1 endif ncc(it) = 1.0 @@ -183,6 +187,12 @@ call writloga('default',1,logmess,0,ierror) endif enddo + + if (nnontets .gt. 0) then + write(logmess, '(a,i10,a)') 'pcc_test warning: found ', + * nnontets, ' non-tetrahedral elements' + call writloga('default',1,logmess,0,ierror) + endif call cmo_set_info('neg_coup_coeff', cmo,ipncc,ilen,itype,ierror) diff -u /home/tam/src/lagrit/src/pset.F /home/adamc/mercurial/lagrit/src/pset.F --- /home/tam/src/lagrit/src/pset.F 2011-05-03 10:54:28.674504000 -0600 +++ /home/adamc/mercurial/lagrit/src/pset.F 2011-07-27 07:16:51.756392000 -0600 adam: Changed pset to verify that a given point set exists before trying to adam: write it out to a file. I also changed the behavior so that it will write each adam: point set to a separate file if it is given the -all- option. The file extension adam: is now .vertexset. @@ -596,46 +596,6 @@ $ (mode(1:lenmode) .eq. 'write')) then if(mode(1:lenmode) .eq. 'write') then - file_name = cmsgin(4) - lenname = icharlnf(file_name) - if(ioformat .eq. 1)then - if(file_name(lenname-4:lenname) .ne. '.pset') then - file_name = file_name(1:lenname) // '.pset' - lenname = lenname + 5 - write(logmess,5000)'PSET: Appended .pset to the file name' - 5000 format(a) - call writloga('default',0,logmess,0,ierr) - endif - elseif(ioformat .eq. 2)then - if(file_name(lenname-4:lenname) .ne. '.zone') then - file_name = file_name(1:lenname) // '.zone' - lenname = lenname + 5 - write(logmess,5000)'PSET: Appended .zone to the file name' - call writloga('default',0,logmess,0,ierr) - endif - elseif(ioformat .eq. 3)then - if(file_name(lenname-4:lenname) .ne. '.zonn') then - file_name = file_name(1:lenname) // '.zonn' - lenname = lenname + 5 - write(logmess,5000)'PSET: Appended .zonn to the file name' - call writloga('default',0,logmess,0,ierr) - endif - endif -C -C Open file for pset output. -C - iunit = nextlun() - iunit = nextlun() - print *, 5, msgtype(5), cmsgin(5) - if ((msgtype(5).eq.3.and.cmsgin(5)(1:5).eq.'ascii') .or. - * (msgtype(5).eq.3.and.cmsgin(5)(1:5).eq.'-def-') .or. - * (nwds .eq. 4) .or. - * (msgtype(5).eq.3.and.cmsgin(5).eq.' ')) then - open(unit=iunit, file = file_name, form = 'formatted') - iotype = 1 - elseif(msgtype(5).eq.3.and.cmsgin(5)(1:6).eq.'binary') then - open(unit=iunit, file = file_name, form = 'unformatted') - iotype = 0 - endif if ((msgtype(2).eq.3.and.cmsgin(2)(1:5).eq.'-def-') .or. * (msgtype(2).eq.3.and.cmsgin(2)(1:5).eq.'-all-') .or. * (msgtype(2).eq.3.and.cmsgin(2).eq.' ')) then @@ -667,7 +627,22 @@ if(mode(1:lenmode) .eq. 'list') then go to 9998 elseif(mode(1:lenmode) .eq. 'write') then - go to 9997 +C Make sure that the pset actually exists + icnt=0 + do 3 i=1,nbitsmax + len2=icharlnf(psetnames(i)) + len1=max(lenname,len2) + if (name(1:len1) .eq. psetnames(i)(1:len1)) icnt=i + 3 continue + if (name(1:5) .eq. '-all-') then + go to 9997 + elseif (icnt .eq. 0) then + write(logmess, 1005) name + call writloga('default',1,logmess,1,ierr) + go to 9998 + else + go to 9997 + endif endif C C --------------------------------------------------------------- @@ -2119,15 +2094,7 @@ C C Count up the number of psets for output. C - icnt = 0 - if(name(1:5) .ne. '-all-')then - icnt = 1 - else - do j=1,nbitsmax - if((psetnames(j)(1:1) .ne.' ') .and. - * (psetnames(j)(1:5) .ne. '-def-'))icnt = icnt + 1 - enddo - endif + icnt = 1 C C Use user supplied number for zone id number in output file C @@ -2137,22 +2104,6 @@ if_id_zone_number = 1 endif C - if(iotype .eq. 1)then - if(ioformat .eq. 1)then - write(iunit,7005) 'pset ascii',icnt - 7005 format(a,i10) - elseif(ioformat .eq. 2)then - write(iunit,7013)'zone' - elseif(ioformat .eq. 3)then - write(iunit,7013)'zonn' - endif - elseif(iotype .eq. 0)then - write(iunit) 'pset unformatted',icnt - endif - - write(logmess,7007)name(1:icharlnf(name)),icnt - 7007 format('PSET: OUTPUT ',a,' ',i3,' PSETS TO FILE ') - call writloga('default',0,logmess,0,ierr) C C Output pset lists C @@ -2170,6 +2121,70 @@ endif if(iprint .eq. 1)then + + file_name = cmsgin(4) + if (name(1:5) .eq. '-all-') then + file_name = file_name(1:icharlnf(file_name)) // '_' // + * psetnames(j)(1:icharlnf(psetnames(j))) + endif + lenname = icharlnf(file_name) + + if(ioformat .eq. 1)then + if(file_name(lenname-9:lenname) .ne. '.vertexset') then + file_name = file_name(1:lenname) // '.vertexset' + lenname = lenname + 10 + write(logmess,5000)'PSET: Appended .vertexset to the file name' + 5000 format(a) + call writloga('default',0,logmess,0,ierr) + endif + elseif(ioformat .eq. 2)then + if(file_name(lenname-4:lenname) .ne. '.zone') then + file_name = file_name(1:lenname) // '.zone' + lenname = lenname + 5 + write(logmess,5000)'PSET: Appended .zone to the file name' + call writloga('default',0,logmess,0,ierr) + endif + elseif(ioformat .eq. 3)then + if(file_name(lenname-4:lenname) .ne. '.zonn') then + file_name = file_name(1:lenname) // '.zonn' + lenname = lenname + 5 + write(logmess,5000)'PSET: Appended .zonn to the file name' + call writloga('default',0,logmess,0,ierr) + endif + endif +C +C Open file for pset output. diff -u /home/tam/src/lagrit/src/quality.f /home/adamc/mercurial/lagrit/src/quality.f --- /home/tam/src/lagrit/src/quality.f 2011-05-03 10:54:28.684504000 -0600 +++ /home/adamc/mercurial/lagrit/src/quality.f 2011-07-29 15:51:10.259831000 -0600 adam: Added support for quad metrics in quality / quad. diff -u /home/tam/src/lagrit/src/reorder.f /home/adamc/mercurial/lagrit/src/reorder.f --- /home/tam/src/lagrit/src/reorder.f 2011-05-03 10:54:28.909507000 -0600 +++ /home/adamc/mercurial/lagrit/src/reorder.f 2011-08-09 08:46:57.588682000 -0600 adam: Fixed reorder so that it doesn't rely on the numerical values of nnodes adam: and nelements to determine whether to sort nodes or elements. Now it can adam: determine unambiguously whether to sort nodes or elements. @@ -55,7 +55,8 @@ C ###################################################################### C C Local variables - integer ilen, itype, nnode, nelem + integer ilen, itype, nnode, nelem, index + character*32 ctype,crank,cattr_name,clength,cio,cpers,cinter C integer icharlnf C @@ -121,21 +122,12 @@ call cmo_get_info('nnodes',cmo_name,nnode,ilen,itype,ierr) call cmo_get_info('nelements',cmo_name,nelem,ilen,itype,ierr) - if(nnode .eq. nelem)then - logmess = - * 'REORDER: WARNING, nnodes=nelem , code cannot figure out if ' - call writloga('default',0,logmess,0,ierr) - logmess = - * 'REORDER: WARNING, the sort key is nodes or elements' - call writloga('default',0,logmess,0,ierr) - logmess = - * 'REORDER: WARNING, WILL ASSUME NODE REORDER' - call writloga('default',0,logmess,0,ierr) - endif + call cmo_get_attparam(cname_isort_key,cmo_name,index,ctype, + * crank,clength,cinter,cpers,cio,ierr) - if(ilen_isort_key .eq. nnode)then + if (clength(1:6) .eq. 'nnodes') then call reorder_node(imsgin,xmsgin,cmsgin,msgtype,nwds,ierr) - elseif(ilen_isort_key .eq. nelem)then + elseif(clength(1:9) .eq. 'nelements')then call reorder_element(imsgin,xmsgin,cmsgin,msgtype,nwds,ierr) else C diff -u /home/tam/src/lagrit/src/rotatelo.f /home/adamc/mercurial/lagrit/src/rotatelo.f --- /home/tam/src/lagrit/src/rotatelo.f 2011-05-03 10:54:28.933506000 -0600 +++ /home/adamc/mercurial/lagrit/src/rotatelo.f 2011-07-28 15:38:17.984659000 -0600 adam: Fixed a bug whereby rotateln would rotate some points in one direction and adam: some points in the opposite direction. @@ -75,10 +75,13 @@ c first rotate the coordinate system by using a transformation c matrix subroutine c - bx1=xb-x1 - by1=yb-y1 - bz1=zb-z1 - distbx=bx1**2+by1**2+bz1**2 +C We need to to make sure that (x1, y1, z1) => (xb, yb, zb) points +C in the same direction as a => b. So we take the unit vector in the +C direction of a => b and scale it accordingly. + distbx = (xb - x1)**2 + (yb - y1)**2 + (zb - z1)**2 + bx1 = (xb - xa) * distbx / distab + by1 = (yb - ya) * distbx / distab + bz1 = (zb - za) * distbx / distab if(distbx.eq.zero) then bx1=xa-x1 by1=ya-y1 diff -u /home/tam/src/lagrit/src/sortbins.f /home/adamc/mercurial/lagrit/src/sortbins.f --- /home/tam/src/lagrit/src/sortbins.f 2011-05-03 10:54:29.036506000 -0600 +++ /home/adamc/mercurial/lagrit/src/sortbins.f 2011-08-09 08:48:08.413177000 -0600 adam: Added support for sort // line_graph. line_graph_sort.cpp does most of the adam: real work. I also had to fix this subroutine to create the sort keys correctly. adam: Previously it used an integer length to decide whether to use 'nnodes' or adam: 'nelements', but now it is careful to choose based on whether it is actually adam: sorting nodes or elements. @@ -238,6 +260,20 @@ endif elseif(cmsgin(3)(1:icharlnf(cmsgin(3))) .eq. 'rank') then isort_type = 'rank' + elseif(cmsgin(3)(1:icharlnf(cmsgin(3))) .eq. 'line_graph') then + isort_type = 'line_graph' + if (nwds .gt. 5) then + write(logmess,'(a)') + * ' SORT: Error - Too many arguments for line_graph option' + call writloga('default',0,logmess,0,ier) + goto 9999 + endif + if (nelem .eq. 0) then + write(logmess, '(a)') + * ' SORT: Quitting early because there are 0 elements.' + call writloga('default',0,logmess,0,ier) + goto 9999 + endif else write(logmess,9010) cmsgin(3)(1:icharlnf(cmsgin(3))) 9010 format(" SORT: Invalid option: ",a) diff -u /home/tam/src/lagrit/src/sparseMatrix.c /home/adamc/mercurial/lagrit/src/sparseMatrix.c --- /home/tam/src/lagrit/src/sparseMatrix.c 2011-05-03 10:54:29.040506000 -0600 +++ /home/adamc/mercurial/lagrit/src/sparseMatrix.c 2011-07-27 15:24:06.669041000 -0600 adam: In this file I removed a number of unused variables in order to get rid of adam: some compiler warnings. I also put a printf statement inside an #if so that I adam: could set the format string appropriately according to whether we're using adam: four-byte or eight-byte ints. @@ -410,9 +376,13 @@ /************************************************************************/ { - int_ptrsize j; +#if SIZEOF_INT == SIZEOF_VOIDP printf("\t Row=%d, Column=%d, Value = %e\n", (int_ptrsize)rowc, - ek->column,ek->info->value[0]); + ek->column,ek->info->value[0]); +#else + printf("\t Row=%ld, Column=%ld, Value = %e\n", (int_ptrsize)rowc, + ek->column,ek->info->value[0]); +#endif return 1; } diff -u /home/tam/src/lagrit/src/writedump.f /home/adamc/mercurial/lagrit/src/writedump.f --- /home/tam/src/lagrit/src/writedump.f 2011-05-03 10:54:29.246473000 -0600 +++ /home/adamc/mercurial/lagrit/src/writedump.f 2011-07-26 17:40:45.998619000 -0600 adam: Small changes to writedump.f to facilitate the 'hybrid' option for FEHM adam: as well as Rao's new dump / exo code. 2011 Terry Miller file changes: +IN GENERAL >>>>>> + +/* LaGriT assumes that the size of an integer is the same size as a + * pointer. Use the preprocessor and configure settings to select + * the integer type so that it matches the size of a pointer. + */ +#if SIZEOF_INT == SIZEOF_VOIDP +#define int_ptrsize int +#elif SIZEOF_LONG == SIZEOF_VOIDP +#define int_ptrsize long + +New Makefile and Makefile.depends includes changes for gfortran and 64 bit + -fcray-pointer + Enables the Cray pointer extension, which provides a C-like pointer + -falign-commons (will try to reorder commons so this is not needed) + By default, gfortran enforces proper alignment of all variables in a COMMON block by padding them as needed. On certain platforms this is mandatory, on others it increases performance. If a COMMON block is not declared with consistent data types everywhere, this padding can cause trouble, and -fno-align-commons can be used to disable automatic alignment. The same form of this option should be used for all files that share a COMMON block. To avoid potential alignment issues in COMMON blocks, it is recommended to order objects from largests to smallest. + + readgmv_binary.f - merged with Kuprat version for 64 bit added error capture and added messaging about bytes read @@ -142,6 +159,82 @@ Combine routines used for stack_layers into one file stack_options.f they used to be scattered between temptam.f and read_trilayers.f +The beads algorithm and routines are now all in their +own file beads_ona_ring.f - this file and stack had some +array usage that were incorrect and caused seg faults for +the beads options. They are working now but should be +improved so memory management is consistent with current +practices. These codes have been the same since before 2000. + +I have updated the demo tests as used for the manual and +rewritten and rerun the beads tests. They are currently in +/home/tam/src/lagrit/work_2000/stack and stack_beads + +I have a new html and image file showing how the beads +work for the different options. +/home/tam/src/lagrit/work_2000/stack_beads/html/stack_beads.html + +------- changesets + +changeset b13a2a415ef3 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=b13a2a415ef3 +summary: Changes to compile and builds to allow gfortran for linux 64 bit + +changeset d8a6f73d4bde in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=d8a6f73d4bde +summary: Version 3.001 kuprat additions for new filter command + +changeset 025fe933aa95 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=025fe933aa95 +summary: Version 3.001 merge of kuprat and tam changes and bug fixes + +changeset aeb3852306bc in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=aeb3852306bc +summary: Version 3.001 Adam C work Add various quality metrics for quads + +changeset 978c5375e4a1 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=978c5375e4a1 +summary: Version 3.001 - Adam C work for sorting line polygons + +changeset 8ae83dc2e41a in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=8ae83dc2e41a +summary: Version 3.001 - Adam C work for added several functions for computing the + +changeset 1f94775b63e7 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=1f94775b63e7 +summary: Version 3.001 - Adam C work for hybrid version of voronoi control volumes + +changeset d6f9aa60769a in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=d6f9aa60769a +summary: Version 3.001 - 64 bit for linux + +changeset dc645c0684d1 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=dc645c0684d1 +summary: Version 3.001 - added error catching to avoid seg faults + +changeset cb99635035d9 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=cb99635035d9 +summary: Version 3.001 - tam work to clarify routines for stack command + +changeset 3bec6ff60180 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=3bec6ff60180 +summary: Version 3.001 - Adam C work in support of his debugging + +changeset 73909b2a7736 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=73909b2a7736 +summary: Version 3.001 - new include files for this version and for Adam C work + +changeset e5b3592353fe in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=e5b3592353fe +summary: Version 3.001 - Adam C added for fortran interface for exodus file workchangeset 71f512772ca9 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagritdetails: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=71f512772ca9summary: Version 3.001 - new build for exodus files and 64 bit workchangeset 7b543e19ef2c in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=7b543e19ef2c +summary: Full notes on version changes. + +changeset 921a89558212 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit +details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=921a89558212 +summary: Added tag Release V3.001 for changeset 7b543e19ef2c + + ======================================================================= @@ -152,7 +245,7 @@ NOTE: cmo_setatt.f was started but not finished!!!!! Assigns scalar value to selected attribute -------- +------- changesets changeset 7d4c4cce15e2 in /nh/packages/www/svn/repos.ancho/lagrit/hg/lagrit details: https://ancho.lanl.gov/lagrit/hg/lagrit?cmd=changeset;node=7d4c4cce15e2 diff -r 921a89558212 -r f58a9b2b7469 bin/lagrit_lin64_o_gfort4.5 Binary file bin/lagrit_lin64_o_gfort4.5 has changed diff -r 921a89558212 -r f58a9b2b7469 lagrit.lanl.gov/docs/DUMP2.html --- a/lagrit.lanl.gov/docs/DUMP2.html Tue Aug 30 16:22:34 2011 -0600 +++ b/lagrit.lanl.gov/docs/DUMP2.html Thu Sep 01 08:55:22 2011 -0600 @@ -72,7 +72,8 @@
For common file types, a short form syntax can be used which skips the file type designation. The file_type is asssumed from the file_name suffix. The following are recognized; - AVS (.inp or .avs), GMV (.gmv), LaGriT (.lagrit or .lg), and .ts (gocad).
+ AVS (.inp or .avs), Exodus (.exo), GMV (.gmv), LaGriT (.lagrit or .lg), and .ts + (gocad).


@@ -195,6 +196,20 @@
+ + + dump / exo / file_name/ mo_name
+ dump / exodusii / file_name/ mo_name
+ dump / exodusII / file_name/ mo_name
+
+
+ +Write a mesh object to a file in the Exodus II format. +
+
+
+ + @@ -210,7 +225,8 @@ [ ascii | binary ] / [scalar | vector | both | area_scalar | area_vector | area_both]
        / -[all | graph | coefs | none] +[all | graph | coefs | none] / +[hybrid | nohybrid ]

@@ -365,7 +381,8 @@
        / [scalar | vector | both | area_scalar | area_vector | area_both]
        / -[all | graph | coefs | none] +[all | graph | coefs | none] / +[hybrid | nohybrid ]
diff -r 921a89558212 -r f58a9b2b7469 lagrit.lanl.gov/docs/DUMP3.html --- a/lagrit.lanl.gov/docs/DUMP3.html Tue Aug 30 16:22:34 2011 -0600 +++ b/lagrit.lanl.gov/docs/DUMP3.html Thu Sep 01 08:55:22 2011 -0600 @@ -184,12 +184,14 @@ | area_vector | area_both]
  / [ all | graph | coefs | none ]
 / [ delatt, | keepatt ]

+/ [ hybrid, nohybrid ] IO Mode Options for stor file
Area Coefficient Options for writing stor file coefficient values
Compression Options for the stor file
CMO Attribute created during creation of outside zone files
+Specify whether hybrid median-Voronoi control volumes should be used
@@ -403,6 +405,68 @@
+ +Hybrid OPTIONS: +
+ + + + + + + + + + + +
nohybrid (default) Do not use hybrid median-Voronoi control volumes
hybrid Use hybrid median-Voronoi control volumes.
+ +

+These hybrid volumes represent a means for addressing poorly shaped tetrahedra +on a boundary of the mesh. Boundary tetrahedra whose Voronoi centers are outside +the mesh lead to incorrect modeling results. Alternatively, if we construct +control volumes using medians (centroids), the center point for each element +always lies within that element, but median meshes lack other nice properties of +Voronoi meshes. +

+ +

+As a compromise between the median and Voronoi approaches, we start with a +Voronoi mesh and fix boundary tetrahedra whose circumcenters are not contained +within the boundary of the mesh. To fix such an element, we draw a line segment +from the median center to the Voronoi center and find the point at which this +segment intersects the surface of the element. This intersection then becomes +the center point for the purposes of determining control volumes. Essentially we +move the Voronoi center toward the median point until it just reaches the +element. +

+ +

+When we use the hybrid approach, we also make a slight change to the way we +calculate the area coefficients. Voronoi control volumes have the property that +their faces are always perpendicular to the mesh edges that intersect them. With +hybrid control volumes (as well as median control volumes), this is not the +case. To compensate for this, when we compute the area coefficient we only +consider the component of the face area vector which is in the same direction as +the edge. We accomplish this by taking the area vector and dotting it with a +unit vector in the direction of the edge. +

+ +

+The hybrid option may lead to poor results if it is applied to a mesh +that is non-Delaunay, because there may be elements which it cannot fix, such as +interior elements whose circumcenters are outside the mesh. A warning will be +printed if the code detects that the mesh appears to be non-Delaunay. +

+ +

+NOTE: The hybrid option is only available with the all (default) and +graph compression options. It also requires the scalar (default) +area coefficient option. +

+ +
+ EXAMPLES

diff -r 921a89558212 -r f58a9b2b7469 lagrit.lanl.gov/docs/ELTSET2.html --- a/lagrit.lanl.gov/docs/ELTSET2.html Tue Aug 30 16:22:34 2011 -0600 +++ b/lagrit.lanl.gov/docs/ELTSET2.html Thu Sep 01 08:55:22 2011 -0600 @@ -24,6 +24,7 @@
  • region or mregion membership
  • quality criteria (volume or aspect ratio)
  • list - list element set members to screen
  • +
  • write - write element set members to a file
  • delete - remove element set from mesh object
  • The mregion and region @@ -42,11 +43,19 @@ /volume/ eq|ne|lt|gt|le|ge /value
    eltset/eset_name -/aspect/ eq|ne|lt|gt|le|ge /value -
    eltset/eset_name -/ -
    aspect/ eq|ne|lt|gt|le|ge -/value +/aspect/ eq|ne|lt|gt|le|ge /value
    +eltset/eset_name +/list
    +eltset/eset_name +/write/file_name[.cellset]/[ascii|binary] +
    +eltset/-all- END file Versions_full.txt