18 static int set_hecmw_flag_adapt(
void *src) {
23 static int set_hecmw_flag_initcon(
void *src) {
28 static int set_hecmw_flag_parttype(
void *src) {
33 static int set_hecmw_flag_partdepth(
void *src) {
38 static int set_hecmw_flag_version(
void *src) {
43 static int set_hecmw_flag_partcontact(
void *src) {
48 static int set_gridfile(
void *src) {
54 static int set_hecmw_n_file(
void *src) {
59 static int set_files(
void *src) {
86 static int set_header(
void *src) {
92 static int set_zero_temp(
void *src) {
97 static int set_n_node(
void *src) {
98 mesh->
n_node = *((
int *)src);
102 static int set_n_node_gross(
void *src) {
107 static int set_nn_middle(
void *src) {
112 static int set_nn_internal(
void *src) {
117 static int set_node_internal_list(
void *src) {
131 static int set_node_ID(
void *src) {
141 memcpy(mesh->
node_ID, src, size);
145 static int set_global_node_ID(
void *src) {
159 static int set_node(
void *src) {
169 memcpy(mesh->
node, src, size);
173 static int set_n_dof(
void *src) {
174 mesh->
n_dof = *((
int *)src);
178 static int set_n_dof_grp(
void *src) {
183 static int set_n_dof_tot(
void *src) {
188 static int set_node_dof_index(
void *src) {
202 static int set_node_dof_item(
void *src) {
216 static int set_node_val_index(
void *src) {
230 static int set_node_val_item(
void *src) {
248 static int set_node_init_val_index(
void *src) {
262 static int set_node_init_val_item(
void *src) {
280 static int set_n_elem(
void *src) {
281 mesh->
n_elem = *((
int *)src);
285 static int set_n_elem_gross(
void *src) {
290 static int set_ne_internal(
void *src) {
295 static int set_elem_internal_list(
void *src) {
309 static int set_elem_ID(
void *src) {
319 memcpy(mesh->
elem_ID, src, size);
323 static int set_global_elem_ID(
void *src) {
337 static int set_elem_type(
void *src) {
351 static int set_n_elem_type(
void *src) {
356 static int set_elem_type_index(
void *src) {
370 static int set_elem_type_item(
void *src) {
384 static int set_elem_node_index(
void *src) {
398 static int set_elem_node_item(
void *src) {
416 static int set_section_ID(
void *src) {
430 static int set_n_elem_mat_ID(
void *src) {
435 static int set_elem_mat_ID_index(
void *src) {
449 static int set_elem_mat_ID_item(
void *src) {
467 static int set_elem_mat_int_index(
void *src) {
481 static int set_elem_mat_int_val(
void *src) {
499 static int set_elem_val_index(
void *src) {
513 static int set_elem_val_item(
void *src) {
531 static int set_zero(
void *src) {
532 mesh->
zero = *((
int *)src);
536 static int set_HECMW_COMM(
void *src) {
541 static int set_PETOT(
void *src) {
542 mesh->
PETOT = *((
int *)src);
546 static int set_PEsmpTOT(
void *src) {
551 static int set_my_rank(
void *src) {
556 static int set_errnof(
void *src) {
557 mesh->
errnof = *((
int *)src);
561 static int set_n_subdomain(
void *src) {
566 static int set_n_neighbor_pe(
void *src) {
571 static int set_neighbor_pe(
void *src) {
585 static int set_import_index(
void *src) {
599 static int set_import_item(
void *src) {
616 static int set_export_index(
void *src) {
630 static int set_export_item(
void *src) {
647 static int set_shared_index(
void *src) {
661 static int set_shared_item(
void *src) {
674 static int set_coarse_grid_level(
void *src) {
679 static int set_n_adapt(
void *src) {
684 static int set_when_i_was_refined_node(
void *src) {
698 static int set_when_i_was_refined_elem(
void *src) {
712 static int set_adapt_parent_type(
void *src) {
726 static int set_adapt_type(
void *src) {
740 static int set_adapt_level(
void *src) {
754 static int set_adapt_parent(
void *src) {
768 static int set_adapt_children_index(
void *src) {
782 static int set_adapt_children_item(
void *src) {
800 static int set_n_refine(
void *src) {
805 static int set_node_old2new(
void *src) {
819 static int set_node_new2old(
void *src) {
833 static int set_elem_old2new(
void *src) {
847 static int set_elem_new2old(
void *src) {
861 static int set_n_node_refine_hist(
void *src) {
875 static int set_n_sect(
void *src) {
880 static int set_sect_type(
void *src) {
894 static int set_sect_opt(
void *src) {
908 static int set_sect_mat_ID_index(
void *src) {
923 static int set_sect_mat_ID_item(
void *src) {
941 static int set_sect_I_index(
void *src) {
955 static int set_sect_I_item(
void *src) {
973 static int set_sect_R_index(
void *src) {
987 static int set_sect_R_item(
void *src) {
1005 static int set_n_mat(
void *src) {
1010 static int set_n_mat_item(
void *src) {
1015 static int set_n_mat_subitem(
void *src) {
1020 static int set_n_mat_table(
void *src) {
1025 static int set_mat_name(
void *src) {
1029 if (mat->
n_mat <= 0)
return 0;
1036 for (i = 0; i < mat->
n_mat; i++) {
1044 for (i = 0; i < mat->
n_mat; i++) {
1053 static int set_mat_item_index(
void *src) {
1067 static int set_mat_subitem_index(
void *src) {
1082 static int set_mat_table_index(
void *src) {
1097 static int set_mat_val(
void *src) {
1111 static int set_mat_temp(
void *src) {
1125 static int set_n_mpc(
void *src) {
1130 static int set_mpc_index(
void *src) {
1133 if (mesh->
mpc->
n_mpc <= 0)
return 0;
1144 static int set_mpc_item(
void *src) {
1147 if (mesh->
mpc->
n_mpc <= 0)
return 0;
1161 static int set_mpc_dof(
void *src) {
1164 if (mesh->
mpc->
n_mpc <= 0)
return 0;
1178 static int set_mpc_val(
void *src) {
1181 if (mesh->
mpc->
n_mpc <= 0)
return 0;
1195 static int set_mpc_const(
void *src) {
1198 if (mesh->
mpc->
n_mpc <= 0)
return 0;
1210 static int set_n_amp(
void *src) {
1215 static int set_amp_name(
void *src) {
1219 if (amp->
n_amp <= 0)
return 0;
1226 for (i = 0; i < amp->
n_amp; i++) {
1234 for (i = 0; i < amp->
n_amp; i++) {
1243 static int set_amp_type_definition(
void *src) {
1246 if (mesh->
amp->
n_amp <= 0)
return 0;
1257 static int set_amp_type_time(
void *src) {
1260 if (mesh->
amp->
n_amp <= 0)
return 0;
1271 static int set_amp_type_value(
void *src) {
1274 if (mesh->
amp->
n_amp <= 0)
return 0;
1285 static int set_amp_index(
void *src) {
1288 if (mesh->
amp->
n_amp <= 0)
return 0;
1299 static int set_amp_val(
void *src) {
1302 if (mesh->
amp->
n_amp <= 0)
return 0;
1316 static int set_amp_table(
void *src) {
1319 if (mesh->
amp->
n_amp <= 0)
return 0;
1333 static int set_ngrp_n_grp(
void *src) {
1338 static int set_ngrp_n_bc(
void *src) {
1343 static int set_ngrp_grp_name(
void *src) {
1347 if (grp->
n_grp <= 0)
return 0;
1354 for (i = 0; i < grp->
n_grp; i++) {
1362 for (i = 0; i < grp->
n_grp; i++) {
1371 static int set_ngrp_grp_index(
void *src) {
1385 static int set_ngrp_grp_item(
void *src) {
1403 static int set_ngrp_bc_grp_ID(
void *src) {
1417 static int set_ngrp_bc_grp_type(
void *src) {
1431 static int set_ngrp_bc_grp_index(
void *src) {
1445 static int set_ngrp_bc_grp_dof(
void *src) {
1459 static int set_ngrp_bc_grp_val(
void *src) {
1473 static int set_egrp_n_grp(
void *src) {
1478 static int set_egrp_n_bc(
void *src) {
1483 static int set_egrp_grp_name(
void *src) {
1487 if (grp->
n_grp <= 0)
return 0;
1494 for (i = 0; i < grp->
n_grp; i++) {
1502 for (i = 0; i < grp->
n_grp; i++) {
1511 static int set_egrp_grp_index(
void *src) {
1525 static int set_egrp_grp_item(
void *src) {
1543 static int set_egrp_bc_grp_ID(
void *src) {
1557 static int set_egrp_bc_grp_type(
void *src) {
1571 static int set_egrp_bc_grp_index(
void *src) {
1585 static int set_egrp_bc_grp_val(
void *src) {
1599 static int set_sgrp_n_grp(
void *src) {
1604 static int set_sgrp_n_bc(
void *src) {
1609 static int set_sgrp_grp_name(
void *src) {
1613 if (grp->
n_grp <= 0)
return 0;
1620 for (i = 0; i < grp->
n_grp; i++) {
1628 for (i = 0; i < grp->
n_grp; i++) {
1637 static int set_sgrp_grp_index(
void *src) {
1651 static int set_sgrp_grp_item(
void *src) {
1669 static int set_sgrp_bc_grp_ID(
void *src) {
1683 static int set_sgrp_bc_grp_type(
void *src) {
1697 static int set_sgrp_bc_grp_index(
void *src) {
1711 static int set_sgrp_bc_grp_val(
void *src) {
1725 static int set_contact_pair_n_pair(
void *src) {
1730 static int set_contact_pair_name(
void *src) {
1734 if (cpair->
n_pair <= 0)
return 0;
1741 for (i = 0; i < cpair->
n_pair; i++) {
1744 if (cpair->
name[i] ==
NULL)
goto error;
1749 for (i = 0; i < cpair->
n_pair; i++) {
1758 static int set_contact_pair_type(
void *src) {
1772 static int set_contact_pair_slave_grp_id(
void *src) {
1787 static int set_contact_pair_slave_orisgrp_id(
void *src) {
1802 static int set_contact_pair_master_grp_id(
void *src) {
1823 static struct func_table {
1829 {
"hecmwST_local_mesh",
"hecmw_flag_adapt", set_hecmw_flag_adapt},
1830 {
"hecmwST_local_mesh",
"hecmw_flag_initcon", set_hecmw_flag_initcon},
1831 {
"hecmwST_local_mesh",
"hecmw_flag_parttype", set_hecmw_flag_parttype},
1832 {
"hecmwST_local_mesh",
"hecmw_flag_partdepth", set_hecmw_flag_partdepth},
1833 {
"hecmwST_local_mesh",
"hecmw_flag_version", set_hecmw_flag_version},
1834 {
"hecmwST_local_mesh",
"hecmw_flag_partcontact",
1835 set_hecmw_flag_partcontact},
1837 {
"hecmwST_local_mesh",
"gridfile", set_gridfile},
1838 {
"hecmwST_local_mesh",
"hecmw_n_file", set_hecmw_n_file},
1839 {
"hecmwST_local_mesh",
"files", set_files},
1840 {
"hecmwST_local_mesh",
"header", set_header},
1841 {
"hecmwST_local_mesh",
"zero_temp", set_zero_temp},
1843 {
"hecmwST_local_mesh",
"n_node", set_n_node},
1844 {
"hecmwST_local_mesh",
"n_node_gross", set_n_node_gross},
1845 {
"hecmwST_local_mesh",
"nn_middle", set_nn_middle},
1846 {
"hecmwST_local_mesh",
"nn_internal", set_nn_internal},
1847 {
"hecmwST_local_mesh",
"node_internal_list", set_node_internal_list},
1848 {
"hecmwST_local_mesh",
"node_ID", set_node_ID},
1849 {
"hecmwST_local_mesh",
"global_node_ID", set_global_node_ID},
1850 {
"hecmwST_local_mesh",
"node", set_node},
1851 {
"hecmwST_local_mesh",
"n_dof", set_n_dof},
1852 {
"hecmwST_local_mesh",
"n_dof_grp", set_n_dof_grp},
1853 {
"hecmwST_local_mesh",
"n_dof_tot", set_n_dof_tot},
1854 {
"hecmwST_local_mesh",
"node_dof_index", set_node_dof_index},
1855 {
"hecmwST_local_mesh",
"node_dof_item", set_node_dof_item},
1856 {
"hecmwST_local_mesh",
"node_val_index", set_node_val_index},
1857 {
"hecmwST_local_mesh",
"node_val_item", set_node_val_item},
1858 {
"hecmwST_local_mesh",
"node_init_val_index", set_node_init_val_index},
1859 {
"hecmwST_local_mesh",
"node_init_val_item", set_node_init_val_item},
1860 {
"hecmwST_local_mesh",
"n_elem", set_n_elem},
1861 {
"hecmwST_local_mesh",
"n_elem_gross", set_n_elem_gross},
1862 {
"hecmwST_local_mesh",
"ne_internal", set_ne_internal},
1863 {
"hecmwST_local_mesh",
"elem_internal_list", set_elem_internal_list},
1864 {
"hecmwST_local_mesh",
"elem_ID", set_elem_ID},
1865 {
"hecmwST_local_mesh",
"global_elem_ID", set_global_elem_ID},
1866 {
"hecmwST_local_mesh",
"elem_type", set_elem_type},
1867 {
"hecmwST_local_mesh",
"n_elem_type", set_n_elem_type},
1868 {
"hecmwST_local_mesh",
"elem_type_index", set_elem_type_index},
1869 {
"hecmwST_local_mesh",
"elem_type_item", set_elem_type_item},
1870 {
"hecmwST_local_mesh",
"elem_node_index", set_elem_node_index},
1871 {
"hecmwST_local_mesh",
"elem_node_item", set_elem_node_item},
1872 {
"hecmwST_local_mesh",
"section_ID", set_section_ID},
1873 {
"hecmwST_local_mesh",
"n_elem_mat_ID", set_n_elem_mat_ID},
1874 {
"hecmwST_local_mesh",
"elem_mat_ID_index", set_elem_mat_ID_index},
1875 {
"hecmwST_local_mesh",
"elem_mat_ID_item", set_elem_mat_ID_item},
1876 {
"hecmwST_local_mesh",
"elem_mat_int_index", set_elem_mat_int_index},
1877 {
"hecmwST_local_mesh",
"elem_mat_int_val", set_elem_mat_int_val},
1878 {
"hecmwST_local_mesh",
"elem_val_index", set_elem_val_index},
1879 {
"hecmwST_local_mesh",
"elem_val_item", set_elem_val_item},
1881 {
"hecmwST_local_mesh",
"zero", set_zero},
1882 {
"hecmwST_local_mesh",
"HECMW_COMM", set_HECMW_COMM},
1883 {
"hecmwST_local_mesh",
"PETOT", set_PETOT},
1884 {
"hecmwST_local_mesh",
"PEsmpTOT", set_PEsmpTOT},
1885 {
"hecmwST_local_mesh",
"my_rank", set_my_rank},
1886 {
"hecmwST_local_mesh",
"errnof", set_errnof},
1887 {
"hecmwST_local_mesh",
"n_subdomain", set_n_subdomain},
1888 {
"hecmwST_local_mesh",
"n_neighbor_pe", set_n_neighbor_pe},
1889 {
"hecmwST_local_mesh",
"neighbor_pe", set_neighbor_pe},
1890 {
"hecmwST_local_mesh",
"import_index", set_import_index},
1891 {
"hecmwST_local_mesh",
"import_item", set_import_item},
1892 {
"hecmwST_local_mesh",
"export_index", set_export_index},
1893 {
"hecmwST_local_mesh",
"export_item", set_export_item},
1894 {
"hecmwST_local_mesh",
"shared_index", set_shared_index},
1895 {
"hecmwST_local_mesh",
"shared_item", set_shared_item},
1897 {
"hecmwST_local_mesh",
"coarse_grid_level", set_coarse_grid_level},
1898 {
"hecmwST_local_mesh",
"n_adapt", set_n_adapt},
1899 {
"hecmwST_local_mesh",
"when_i_was_refined_node",
1900 set_when_i_was_refined_node},
1901 {
"hecmwST_local_mesh",
"when_i_was_refined_elem",
1902 set_when_i_was_refined_elem},
1903 {
"hecmwST_local_mesh",
"adapt_parent_type", set_adapt_parent_type},
1904 {
"hecmwST_local_mesh",
"adapt_type", set_adapt_type},
1905 {
"hecmwST_local_mesh",
"adapt_level", set_adapt_level},
1906 {
"hecmwST_local_mesh",
"adapt_parent", set_adapt_parent},
1907 {
"hecmwST_local_mesh",
"adapt_children_index", set_adapt_children_index},
1908 {
"hecmwST_local_mesh",
"adapt_children_item", set_adapt_children_item},
1910 {
"hecmwST_local_mesh",
"n_refine", set_n_refine},
1911 {
"hecmwST_local_mesh",
"node_old2new", set_node_old2new},
1912 {
"hecmwST_local_mesh",
"node_new2old", set_node_new2old},
1913 {
"hecmwST_local_mesh",
"elem_old2new", set_elem_old2new},
1914 {
"hecmwST_local_mesh",
"elem_new2old", set_elem_new2old},
1915 {
"hecmwST_local_mesh",
"n_node_refine_hist", set_n_node_refine_hist},
1917 {
"hecmwST_section",
"n_sect", set_n_sect},
1918 {
"hecmwST_section",
"sect_type", set_sect_type},
1919 {
"hecmwST_section",
"sect_opt", set_sect_opt},
1920 {
"hecmwST_section",
"sect_mat_ID_index", set_sect_mat_ID_index},
1921 {
"hecmwST_section",
"sect_mat_ID_item", set_sect_mat_ID_item},
1922 {
"hecmwST_section",
"sect_I_index", set_sect_I_index},
1923 {
"hecmwST_section",
"sect_I_item", set_sect_I_item},
1924 {
"hecmwST_section",
"sect_R_index", set_sect_R_index},
1925 {
"hecmwST_section",
"sect_R_item", set_sect_R_item},
1927 {
"hecmwST_material",
"n_mat", set_n_mat},
1928 {
"hecmwST_material",
"n_mat_item", set_n_mat_item},
1929 {
"hecmwST_material",
"n_mat_subitem", set_n_mat_subitem},
1930 {
"hecmwST_material",
"n_mat_table", set_n_mat_table},
1931 {
"hecmwST_material",
"mat_name", set_mat_name},
1932 {
"hecmwST_material",
"mat_item_index", set_mat_item_index},
1933 {
"hecmwST_material",
"mat_subitem_index", set_mat_subitem_index},
1934 {
"hecmwST_material",
"mat_table_index", set_mat_table_index},
1935 {
"hecmwST_material",
"mat_val", set_mat_val},
1936 {
"hecmwST_material",
"mat_temp", set_mat_temp},
1938 {
"hecmwST_mpc",
"n_mpc", set_n_mpc},
1939 {
"hecmwST_mpc",
"mpc_index", set_mpc_index},
1940 {
"hecmwST_mpc",
"mpc_item", set_mpc_item},
1941 {
"hecmwST_mpc",
"mpc_dof", set_mpc_dof},
1942 {
"hecmwST_mpc",
"mpc_val", set_mpc_val},
1943 {
"hecmwST_mpc",
"mpc_const", set_mpc_const},
1945 {
"hecmwST_amplitude",
"n_amp", set_n_amp},
1946 {
"hecmwST_amplitude",
"amp_name", set_amp_name},
1947 {
"hecmwST_amplitude",
"amp_type_definition", set_amp_type_definition},
1948 {
"hecmwST_amplitude",
"amp_type_time", set_amp_type_time},
1949 {
"hecmwST_amplitude",
"amp_type_value", set_amp_type_value},
1950 {
"hecmwST_amplitude",
"amp_index", set_amp_index},
1951 {
"hecmwST_amplitude",
"amp_val", set_amp_val},
1952 {
"hecmwST_amplitude",
"amp_table", set_amp_table},
1954 {
"hecmwST_node_grp",
"n_grp", set_ngrp_n_grp},
1955 {
"hecmwST_node_grp",
"grp_name", set_ngrp_grp_name},
1956 {
"hecmwST_node_grp",
"grp_index", set_ngrp_grp_index},
1957 {
"hecmwST_node_grp",
"grp_item", set_ngrp_grp_item},
1958 {
"hecmwST_node_grp",
"n_bc", set_ngrp_n_bc},
1959 {
"hecmwST_node_grp",
"bc_grp_ID", set_ngrp_bc_grp_ID},
1960 {
"hecmwST_node_grp",
"bc_grp_type", set_ngrp_bc_grp_type},
1961 {
"hecmwST_node_grp",
"bc_grp_index", set_ngrp_bc_grp_index},
1962 {
"hecmwST_node_grp",
"bc_grp_dof", set_ngrp_bc_grp_dof},
1963 {
"hecmwST_node_grp",
"bc_grp_val", set_ngrp_bc_grp_val},
1965 {
"hecmwST_elem_grp",
"n_grp", set_egrp_n_grp},
1966 {
"hecmwST_elem_grp",
"grp_name", set_egrp_grp_name},
1967 {
"hecmwST_elem_grp",
"grp_index", set_egrp_grp_index},
1968 {
"hecmwST_elem_grp",
"grp_item", set_egrp_grp_item},
1969 {
"hecmwST_elem_grp",
"n_bc", set_egrp_n_bc},
1970 {
"hecmwST_elem_grp",
"bc_grp_ID", set_egrp_bc_grp_ID},
1971 {
"hecmwST_elem_grp",
"bc_grp_type", set_egrp_bc_grp_type},
1972 {
"hecmwST_elem_grp",
"bc_grp_index", set_egrp_bc_grp_index},
1973 {
"hecmwST_elem_grp",
"bc_grp_val", set_egrp_bc_grp_val},
1975 {
"hecmwST_surf_grp",
"n_grp", set_sgrp_n_grp},
1976 {
"hecmwST_surf_grp",
"grp_name", set_sgrp_grp_name},
1977 {
"hecmwST_surf_grp",
"grp_index", set_sgrp_grp_index},
1978 {
"hecmwST_surf_grp",
"grp_item", set_sgrp_grp_item},
1979 {
"hecmwST_surf_grp",
"n_bc", set_sgrp_n_bc},
1980 {
"hecmwST_surf_grp",
"bc_grp_ID", set_sgrp_bc_grp_ID},
1981 {
"hecmwST_surf_grp",
"bc_grp_type", set_sgrp_bc_grp_type},
1982 {
"hecmwST_surf_grp",
"bc_grp_index", set_sgrp_bc_grp_index},
1983 {
"hecmwST_surf_grp",
"bc_grp_val", set_sgrp_bc_grp_val},
1985 {
"hecmwST_contact_pair",
"n_pair", set_contact_pair_n_pair},
1986 {
"hecmwST_contact_pair",
"name", set_contact_pair_name},
1987 {
"hecmwST_contact_pair",
"type", set_contact_pair_type},
1988 {
"hecmwST_contact_pair",
"slave_grp_id", set_contact_pair_slave_grp_id},
1989 {
"hecmwST_contact_pair",
"slave_orisgrp_id", set_contact_pair_slave_orisgrp_id},
1990 {
"hecmwST_contact_pair",
"master_grp_id", set_contact_pair_master_grp_id},
1993 static const int NFUNC =
sizeof(functions) /
sizeof(functions[0]);
1995 static SetFunc get_set_func(
char *struct_name,
char *var_name) {
1998 for (i = 0; i < NFUNC; i++) {
1999 if (strcmp(functions[i].struct_name, struct_name) == 0 &&
2000 strcmp(functions[i].var_name, var_name) == 0) {
2001 return functions[i].set_func;
2011 memset(local_mesh, 0,
sizeof(*local_mesh));
2012 local_mesh->
section = tmp.section;
2014 local_mesh->
material = tmp.material;
2016 local_mesh->
mpc = tmp.mpc;
2017 memset(local_mesh->
mpc, 0,
sizeof(*local_mesh->
mpc));
2018 local_mesh->
amp = tmp.amp;
2019 memset(local_mesh->
amp, 0,
sizeof(*local_mesh->
amp));
2041 int *err,
int slen,
int vlen) {
2051 "HECMW_dist_copy_f2c_set_if(): 'mesh' has not initialized yet");
2054 if (struct_name ==
NULL) {
2056 "HECMW_dist_copy_f2c_set_if(): 'sname' is NULL");
2059 if (var_name ==
NULL) {
2061 "HECMW_dist_copy_f2c_set_if(): 'vname' is NULL");
2072 func = get_set_func(sname, vname);
2075 "HECMW_dist_copy_f2c_set_if(): SetFunc not found");
2079 if ((*func)(src))
return;
2085 int *err,
int slen,
int vlen) {
2090 int *err,
int slen,
int vlen) {
2095 int *err,
int slen,
int vlen) {