1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550
|
Release 4.3.3 (January 19 2017)
===============================
Bug fixes:
----------
- GUI: fix update issues when removing or merging volume zones.
- Avoid crash using automatic output on postprocessing meshes
with interior faces.
- Fix for some environment module variants.
- Fix syntax error in autovnv study code.
Release 4.3.2 (January 6 2017)
==============================
Bug fixes:
----------
- Radiative model:
* GUI setting for imodak should not overwrite settings
from the cs_user_radiative_transfer_param subroutine.
* fix memory leak
- Fix indices in LU factorisation for diagonal blocks.
Last diagonal element of each block LU factorisation was wrong.
- Allow mesh joining when no vertices are modified.
- Fix autovnv compare log for english environment (LANG different from fr_FR).
- Fix Neumann boundary condition on turbulent dissipation for k-epsilon models
at walls when testing if boundary cell is outside the viscous sub-layer.
- Fix for Coolprop use.
- Lagragian model:
* Fix some parallel resizing issues.
Architectural changes
---------------------
- Update Catalyst output to avoid deprecated function warning using ParaView
version 5.1 or above.
- Add handling of lmod-based environment modules.
- Allow detection of HDF5 libraries named libhdf5-shared and libhdf5-static as well
as libhdf5 (when built with CMake)
Release 4.3.1 (October 7 2016)
==============================
Bug fixes:
----------
- Minor fix for compressible module (remove one unneeded and redundant call to
user variables init. subroutine).
- Fix for second order time stepping.
- GUI: minor fix for Dirichlet formula usage and turbulence properties update.
- Fix Neumann boundary condition for vectors with anisotropic diffusion.
A priori, could be used only if the thermal turbulent flux was solved.
- Lagrangian model:
* Fix some memory leaks.
* Fixes for some BC issues with multiple classes.
* Fixes for boundary condition validity checks.
* Fixes for restart and logging.
* Fix misleading specification of injection mass flow rate in GUI.
* Fix check forbidding restart on frozen fields.
* Fix resizing bug when Lagrangian classes or zones exceed 5.
* Fix spurious addition to XML file for Lagrangian inlets.
- Fix for handling of paths for Code_Aster coupling
(note that the coupling was recently tested only with SALOME_MECA 2015.1
and Code_Aster version 12.3, which requires some patches).
- Fan model: fix crash due to bad access to fan id field.
- Fixes in automatic head losses computations.
- Radiative module: fixed regresion using the Modak absorption model.
- Work around an ISO-C bindings bug with XL compiler for Blue Gene
preventing link on Blue Gene/Q.
- Fix for build with MED and without MPI.
Release 4.3.0 (July 29 2016)
============================
User changes
------------
- Allow user activation or deactivation of parallel domain
visualization output (cs_post_mesh_set_post_domain function).
- Automatic computation of head loss for a given volumic zone.
- When using boundary condition zones defined by the GUI, error reporting
for overlapping zones is improved, with associated visualization.
- When extruding boundary faces, the group class id of interior faces
previously on the boundary may by kept as an option.
This is the default using the GUI.
Changes
-------
- Turbomachinery module: for better restart behavior, the joined mesh
is now also handled using checkpoint/restart.
- GUI: remove titles from profile definitions, as these were only handled
by the obsolete Salome VISU module.
- Added some turbomachinery post-processing utility functions.
- Allow coupling of radiative transfer with 1d wall thermal module.
- Extend automatic postprocessing output to fields defined at vertices.
- Add boundary mesh extrusion function callable from user subroutines.
(in case of periodicity, rebuilding the periodicity in a later
preprocessing stage may be necessary).
- When calling cs_selector_get_b_face_num_list or
cs_selector_get_i_face_num_list, it is no longer necessary to build
selection mechanisms during the optional mesh modification step.
Numerics
--------
- Add optional multigrid solver for scalars with convection and diffusion,
based on the PhD work of Sana Khelifi.
- Lagragian module: new trajectory algorithm which does not loose particles even
for warped faces (cs_lagr_tracking).
- Improve robustness of Boundary conditions for wall functions of scalars.
Mainly impact Atmospheric flows.
- Add many convective flux limiters for convective schemes:
* Fix in Convection scheme when the density is variable and the theta
scheme is 1/2 so that the scheme is now conservative over time.
* add inline functions for vectors
* simplify non-relaxed inline functions
* use inline functions for temperature explicit balance (bilsct)
* Add an add hoc limiter, called Beta, which ensures that, for any
convective scheme and any time stepping, that the variable remains
between "min_scalar" and "max_scalar", to be given by the user.
* Implementation of the Roe-Sweby Limiters for all the convective
schemes (Original SOLU, CENTER, Standard SOLU)
* Creation of a new keyword: kst, for key source term;
we use it to add source terms in the Beta limiter
- Handling of linear solver errors is improved to allow re-try with
different solvers or parameters.
- Default to multigrid-preconditionned conjugate gradient for
most symetric linear systems.
- Improve performance and possible precision of reduction operations.
* improve OpenMP load balancing of SuperBlock reductions
* add optional Kahan compensated sum-based BLAS operations;
* add cs_blas_set_reduce_algorithm() function to choose algorithm
Architectural changes
---------------------
- Added parallel IO for MED output when underlying MED library is built
with parallel (HDF5) IO support.
- Extend control file mechanism with Python module communicating through
sockets (which may in turn be extended by an RPC mechanism); the
commands are currently limited to connecting, advancing a time step,
and disconnecting (in addition to control_file commands), but may
be extended.
- Simplify MEDCoupling output writer so as to generate MEDCoupling meshes
on the current partition rather than aggregating them to the root rank,
as this should soon be directly usable by a VTK adaptor.
- Convert Lagrangian and radiative module implementations to C.
This affects the associated user subroutines.
- Add basic (non-GUI) support for OAR resource manager.
- Add mesh adjacencies structure to allow direct access to a cell's
neighbor cells and boundary faces. This allows looping on
cells, as when computing a SpMV product using a CSR matrix,
rather than looping successively on faces.
- Improvements to postprocessing writer handling.
* add 'plot' and 'time_plot' writer types;
* time plot flushing behavior is now determined by the
cs_time_plot_set_flush_default() function, replacing the
Fortran 'nthsav' and 'tplflw' values;
* writers can now use the 'separate_meshes' option to create a
separate format-specific writer per mesh.
- SALOME version required for MEDCoupling is now version 8.0
in this version, MEDCoupling is a full standalone library and may
be used separately from the MED module.
Release 4.2.0 (December 23 2015)
================================
User changes
------------
- Automatic initialization of the Turbulence for EBRSM and k-omega models.
From a reference velocity (uref), the turbulence profiles are reset
after the first iteration. The velocity magnitude is also changed
so that the Reichard profile is imposed next to walls.
Activate it with reinit_turb=1 (in usipsu).
- Merge the bad cell and the mesh quality criterion for offsetting.
- Merge general boundary temperature handling with the radiative
"wall temperature", for unified logging and post-processing.
- Added optional saving of scalar variable boundary values as fields
(also done for temperature when a property).
- GUI: "check mesh" option is replaced by a new "preprocessor view": when
building a new case, the GUI only shows sections relative to mesh
selection and preprocessing, showing only the steps necessary up to
preprocessing. "Tools" menu entries and toolbar icons allow switching
from the preprocessing mode to the computation mode.
This new view encourages users to use the "preprocessing" run type,
which was previously available at the end of the GUI options,
instead of the "check mesh" option, which did not handle batch runs
or user subroutines.
- Add boundary cell thickness computation to mesh quality criteria.
Physical modelling
------------------
- Add gas mix thermo. and fix mass source term with the compressible module
(internship of A. Menasria):
* allow to select both gas mix (igmix) specific physics with compressible
(icompf) spec. physics
* add property field for deduced mass fraction (iddgas) and mixture molar
mass (igmxml)
* add a field pointer mapping for gas mix (mapping mix molar mass field)
* add mapping of specific heat at constant volume field pointer
* add one gas mix composed of helium, N2 and O2 (i.e. Helium+Air), O2 is the
deduced species
* add Sutherland behavior law for viscosity and thermal conductivity of
gas mix (ivsuth option)
* move setting of ieos from uscfx1 to usppmo
* add thermo. relations for perfect gas mix in compressible thermo.
(also for BCs),
* igmix specific physics triggers switch of ieos to 3
* treat conduction term in total energy equation correctly in gas mix
(Cv depends on species)
* fix mass source term in compressible (momentum source term coming from
added mass has to be accounted for in simplified momentum equation during
mass balance step).
- Add precipitation/dissolution modeling for particle tracking.
- Add the added-mass term in Lagrangian particle tracking (activate it
with iadded_mass=1).
- Add FSCK radiative model for coal combustion.
Activate it in cs_user_parameters.f90 with imfsck=1.
- Add a wall function for the velocity based on scalable wall function
which is valid for both rough and smooth walls (activate it with
iwallf = 6 in cs_user_parameters.f90).
Moreover, the continuous wall function based on Van Driest (iwallf=5)
is extended to Eddy Viscosity Models, and the use of roughness is allowed.
For both wall functions, roughness must be specified in the field nammed
"boundary_roughness" in cs_user_boundary_conditions.f90 for instance.
Numerics
--------
- Add new preconditioning management layer to allow for use of multigrid
as a preconditioner.
- Extend weighted coefficients for lsq gradient calculation in case of
anisotropic diffusion (this option can be enabled with the option
iwgrec(ivar) = 1).
- Add a coupled component solver for symmetric tensors for the Reynolds
stress model (irijco=1).
* convection diffusion brick for tensors
* add a gradient of a tensor field
* only iterative methode up to now, least square gradients not yet
available
* add the advection/diffusion matrix for a tensor field
* adapt matrix tuning fill and Jacobi and other linear solvers
* update rotation functions
* restart from an uncoupled Rij tensor is possible
* Daly Harlow and Shir models are available
- CDO module:
* Add reaction term to CDO module.
Improve the computation of discrete Hodge op. when using
conforming reconstruction function.
Adapt the computation of the source term when using this kind of discrete
Hodge operator.
* Add time scheme and make some factorizations in vertex-based schemes.
Add functionalities to cs_locmat_t structure.
* Add convection for CDO vertex-based schemes.
Add advection field along with its post-processing.
Two advection operators are available related to the conservative or
non-conservative form of the advection operator.
Add post-processing of an equation (i.e. that of the related field).
* Add different ways to enforce boundary conditions for CDO vertex-based
schemes. Weak (Nitsche) enforcement, penalization and strong enforcement.
* Add a domain and an equation structures
Move cs_param_eq_t structure as a member of the cs_equation_t structure
* Add the computation of the wall distance for CDO vertex-based schemes
* Add the computation of the wall distance for face-based CDO schemes
* Change the way user sets the paramters of a computation
* Integrate PETSc solver calls
* Add face-based CDO schemes for pure diffusion problem.
Architectural changes
---------------------
- Add --compute-build option to "code_saturne run" command to allow choosing
one of several compute builds at runtime.
- Add "code_saturne submit" command to submit a batch job.
The GUI now uses this to prepare data upon submission.
- Some renames and simplifications in matrix fill types:
* to make things more generic, CS_MATRIX_33_BLOCK* is replaced by
CS_MATRIX_BLOCK*
* tuning for blocks assumes 3x3 blocks, but a specific CS_MATRIX_BLOCK_D_66
type is added (as a subcase of CS_MATRIX_BLOCK_D) to allow for specific
tuning for RSM coupled component matrixes.
- When using old (non-parallel) algorithm to compute wall distance, save
distance in same array as for main algorithm.
- Implement handling of point and element tags so as to ignore location
on elements sharing tag.
- Simplify Lagrangian particle tracking, removing a linked list.
This is transparent for the user, except for a possible differences
in particle numbering.
- Major changes to all_to_all API, so as to make its usage easier.
* new API is similar to cs_part_to_block / cs_block_to_part, so
as to be aligned more with sparse or neighborhod collectives
then Crystal Router in the future.
* place Crystal Router code in separate files from cs_all_to_all,
to allow lower-level use. Also simplify its usage, and make its
data access logic higher level.
- Added cs_debug_wrapper.py debugger wrapper, to assist in running the code
under a gdb-based debugger, under Valgrind, or a combination of the two.
* replaces the "valgrind" only debug in the GUI advanced options for execution.
* may also be used in standalone mode.
- Do not build with BLAS by default, as only MKL is used outside of unit tests, and
using it requires providing its path to "--with-blas" anyways.
Release 4.1.0 (July 31 2015)
============================
User changes
------------
- Renamed 'efforts' to 'stress', which should be less confusing.
- Add simple fan effects modeling as explicit momentum source term in
regions defined by fan characteristics.
- Add a code icodcl=11, allowing to easily impose a boundary value
consisting in an affine function of the next cell value
(used at wall faces in the compressible module).
- Add timer statistics and plots for different stages and operators.
* Base timers for each time step (with initialization as time step 0)
are now available in the timer_stats.csv file (or timer_stats.dat
if the default format is changed).
* Final performance data is also moved from listing to performance.log.
- Allow condensation model to use zone-based definitions. The examples
are updated so as to recommend the zone-based setup, though previous
single-zone setups definitions remain compatible.
- Add "--import-only" option to "code_saturne create" command so as to
rebuild SaturneGUI and runcase scripts for a case which was copied
from a different system.
- Add higher level functions for turbulent boundary condition settings.
This allows moving tests on the current turbulence model inside
the user-callable functions, for more concise and safer programming.
Physical modelling
------------------
- Add 2-scales wall function (with V. Driest mixing length) and its consistant
wall function on scalars (keyword iwallf in the doc.).
- Changes in Lagrangian Particle tracking.
* modification of multi-layer model (iclogst = 1)
* compute porosity in each cell based on mean deposition height only
at boundary faces (porcel.f90)
* influence of deposited layers on the flow (iflow = 1 option); addition of
laghlo.f90 to compute the head loss due to deposition based on porosity)
* remove lagbar.f90 (energy barrier now computed by cs_lagr_barrier for
smooth wall/irough = 0, and cs_lagr_roughness_barrier for rough wall/
irough = 1).
- Add stiffened gas thermodynamic law for the compressible module (ieos=2).
Two new parameters are accessible in the user subroutine uscfx2:
gammasg ("pseudo" specific heat ratio) and psginf (infinite pressure).
- Add ADF models for radiative transfers.
Numerics and linear solvers
---------------------------
- Add vertex-based CDO (Compatible Discrete Operator) numerical scheme
for diffusion problems. This is a first step, and does not handle
parallelism yet. Integration with the rest of the code will be improved
progressively.
- Change multigrid default settings based on recent performance benchmarks.
- Add 3-layer conjugate directions (residual) algorithm for non-symmetric
linear systems (this algorithm was used in older EDF codes, and is
different from the "standard" conjugate residual, which is limited to
Hermitian matrixes).
- Add support for using PETSc in linear solvers.
- Convergence of linear solvers may now be plotted using CSV files.
When solver verbosity is high, residues are not printed anymore
(except in case of non-convergence), as plotting provides the same
info in a more usable manner.
Architectural changes
---------------------
- Add --sig-defaults option to cs_solver executable to allow use of
default signal handlers.
- Only trap floating-point exceptions by default for code compiled in
debug mode, to avoid interfering with optimizer speculation.
Exception trapping can be enabled or disabled locally using the
cs_fp_exception_...() functions.
- Remove support for some older MPI libraries or process managers
(which can still be used if needed using post-install settings).
- Complete Python 3 compatibility, except for builds with SALOME support
(as the SALOME platform is not yet Python-3 compatible).
- Refactor EnSight, MED and CGNS output, replacing slice by block logic.
The fvm_gather_...(*) API is now removed, and using parallel APIs
for MED and CGNS should now be relatively straightforward.
Release 4.0.0 (April 30 2015)
=============================
Changes
-------
- Added boundary condition to flow mapping (feedback) functionnality
(see boundary_conditions_map and boundary_conditions_mapped_set functions).
- By default, do not force use of an iterative gradient reconstruction method
for pressure gradients, or other gradients deriving from a potential.
To force it, a negative value of the IMRGRA keyword may be used.
- Coprocessing: if the main (default) writer uses Catalyst output, ignore
joining output and use EnSight Gold format for joining and error writers
if no matching Python script is found, to avoid uneeded abort.
- Turbomachinery modeling:
* enable multiple rotors for rotor-stator model based on mesh joining.
- Generalize double backward implicit Euler time scheme for all variables.
It can be activated with the keyword ibdtso(ivar) > 1.
- Add a "slope_test_upwind_id" field keyword, allowing postprocessing output
of the contribution of slope tests to convected variables.
- Add a new dilatable (non conservative) algorithm for fire modelling.
Activate it with idilat=4 (the formulation is in div(u) instead of
div(rho u)). You can access to the previous dedicated algorithm by
setting idilat to 5.
- Add L2 time normalized residual to the log.
- Major changes for solvers:
* Unify handling of linear solvers, so as to allow finer user control, and
enable future additions of solver options and user-defined or external
solvers.
* Add Block Gauss-Seidel linear solver, which may be accelerated for "upwind"
type systems by a matrix line ordering. This is used (by default) for the
DOM radiation module, using the ordering defined by the radiation direction,
and leads to a factor of 2 to 4 improvement over the Jacobi solver for this
case (tested on a small number of MPI ranks).
* Single-reduction conjugate gradient is now an option rather than a separate
solver. This allows switching automatically from one to the other based on
computation vs. communication cost.
* Add BiCGstab2 linear solver.
* Change default solver for pure diffusion problems (from Conjugate gradient to
multigrid solver).
- Add a new experimental module for Darcy flows. It can be
activated with the keyword usppmo(idarcy) = 1.
This path includes new developments to improve reconstruction gradient
calculation with heterogeneous diffusion coefficients. This feature is only
available for standard LSQ gradients and can be activated with
the keyword iwgrec(ivar) = 1.
- Add drift modelling for coal combustion, and clean up the module:
* Now, the enthalpy of the continuous phase (gas phase, h1) is transported
rather than deduced (to be precises, X1.h1 is transported)
* The convective flux for the gas phase is deduced from the convective fluxes
of the particle classes and the convective flux of the bulk: therefore, the
algorithm is fully conservative over time and space.
(Note that the conservatism is obtained mainly due to having upwind schemes;
transport equation on X1 with convective field V1 and
transport equation on h1 with convective field X1.V1
is equivalent to transport equation of X1.h1 with convective field V1...)
* Some coal combustion fields are renamed
* A model with a transported particle velocity per class is added (in fact,
this velocity is handled as 3 scalars).
* Correct cs_user_initialization-unified_combustion_coal.f90 user example.
- Add a condensation wall model.
- Added cell and face renumbering options to try to improve performance.
Architectural changes
---------------------
- New PLE (parallel location and exchange) library API, allowing new locator
features and algorithm versioning. This requires an update on the Syrthes
side for conjugate heat transfer.
- The preprocessor now uses integers of the same size as the kernel's
global numbers (cs_gnum_t). This allows handling of meshes above
200 million cells, at the cost of about 50% higher memory usage for
this stage (unlesss the code is configured with --disable-long-gnum).
- Remove rtp and rtpa arrays. Variables are stored with field
structure owning its value arrays.
- Rename and merge user subroutines:
* User scalars are not declared in usinsc (in cs_user_parameters.f90) anymore,
but in cs_user_model (in cs_user_parameters.c). They are not named based
on their number, but both their name and label is determined by the user.
This should make it easier to combine data setups.
* Remove the cs_user_field_parameters subroutine from cs_user_parameters.f90.
user code in that subroutine may now be placed in usipsu or usipes.
The usipsc subroutine is also removed, and scalar variable diffusivity
behavior may be activated through usipsu.
* merge (usebu1, uslwc1, usd3pt1, uscpl1, user_coal_ini1, user_fuel_ini1)
in cs_user_combustion (in cs_user_paramters.f90)
* split and rename usray1 in cs_user_radiative_transfer
(in cs_user_parameters.f90)
(Note that the declaration of the use of radiative transfer is in
usppmo, as the other specific physics models)
* rename usray2 in cs_user_radiative_transfer_bcs
* merge usalin into usipph (in cs_user_parameters.f90)
* rename ustsma into cs_user_mass_source_terms
* rename uskpdc into cs_user_head_losses
* remove the usipgl subroutine from cs_user_parameters.f90.
Specific, model oriented options are defined in usipph, general options
in usipsu.
- Lagrangian particle data is now shared between Fortran and C parts.
Fortran arrays have been replaced by pointers, which map to the C data.
arrays itepa, tepa, ettp, and ettpa are replaced respectively by pointers
ipepa, pepa, eptp, eptpa, which use interleaved data; for example, the
equivalent of itepa(np,jisor) would now be ipepa(jisor,np).
Allocation is automatic, and npmabs is no more.
- When building with both lib CCM-IO and CGNS, do not try to use CGNS's ADF
library for CCM-IO. This used to work in the past, but now leads to failure
opening CCM files. The change might lead to issues for such builds when using
ADF output for CGNS files, but HDF5 is now the default for CGNS (where
available), and the hdf2adf and adf2hdf tools of the CGNS library suite allow
conversion, so this should not be an issue. Builds with both libraries with
linkers not allowing or configured to allow multiple definitions might be
an issue.
- Restart files now use a new section naming scheme, at least for field data.
this allows more automated handling of variables and properties in
checkpoint/restart.
- Major indexing change: the mesh connectivity arrays (in cs_mesh_t
structures, i_face_cell, b_face_cell, i_face_vtx_idx, i_face_vtx_lst,
b_face_vtx_idx, and b_face_vtx_lst) now use 0-based indexing.
This simplifies expressions in C code, but may break existing C code
referencing those arrays. On the Fortran side, ifacel, ifabor, ipnfac,
nodfac, ipnfbr, and nodfbr are no longer arrays, but elemental functions,
which add 1 to the C array values, so as to make this transparent to the
user. As most accesses are now in C, and the ifacel and ifabor functions are
defined as "elemental pure" in the mesh module, the performance impact
should not be significant.
- Some arrays for which there is a field keyword equivalent, such as ivarpr,
are replaced by functions, which allow similar read-only access, but not
modification, which must be done through the field API.
Bug fixes
---------
- Face mean secondary viscosity is now computed consistantly with face mean
viscosity (namely harmonic if imvisf equal to 1).
- Fix bug introduced in rev. 4491 (before release of 3.0.0):
- in rev 4491, the call to specific physics laws was moved from BEFORE
the user call to AFTER the user call, which was only needed for the
compressible module, whereas it impinges ALL the specifics physics.
- therefore ppphyv is split into two.
- WARNING: this change MAY impige all the specific physics
(Atmospheric, Electric Arcs, Combustion, etc.)
- Many more bug changes (see ChangeLog for details)
Release 3.3.0 (16 May 2014)
===========================
Changes
-------
- Add 2 order backward Euler scheme in time for velocity prediction.
Set ibdtso = 2 in usipsu to activate it.
- Add cavitation models. See the documentation (theory, user, Doxygen) for more details.
You can activate it in cs_user_parameters.f90 with icavit=1.
- Add the Shir model for the turbulent diffusion of the second moment turbulence models
(Rij and epsilon, isotropic diffusion). Available with the idirsm=0.
- Enable use of sparse matrix-vector tuning mechanism in regular calculations.
Automatic tuning or variant selection may be done using the
cs_user_matrix_tuning() function, in cs_user_performance_tuning.c.
- For non-batch systems, handling of the number of MPI ranks is
based on a "code_saturne run" option, --nprocs, and is set in the
runcase file, not in the XML file anymore.
- For couplings, runcase_coupling is replaced by a standard runcase,
mechanism, using "code_saturne run --coupling coupling_parameters.py",
where coupling_parameters.py contains the domains dictionnary previously
in runcase_coupling. This allows unifying the handling of "code_saturne run"
options.
- Rewrite of temporal moments handling. Moments handling is now more modular,
and allows for variances in addition to means. Also, numerically stable recurrence
relations are used to update moments, whose values are now directly usable at any
given time. Weight accumulators are handled inside the module, and not seen as
fields anymore. Also, support for user functions is added.
Currently, this is mapped to the legacy data setup, and tested only in this
context, but the added functionality will be exposed with future changes in
case setup.
- Lagrangian module: Improvements in roughness and resuspension models
* added a user keyword 'irough' for roughness surface (calculation of the
energy barrier in the case of rough wall)
* consideration of the electrostatic force in the adhesion force
for the resuspension
* mass flux update for particles rolling on the wall
- Ensure postprocessing of symmetric tensors for EnSight and Catalyst is consistent
with {xx, yy, zz, xy, yz, xz} internal component representation.
- Update some external package versions for automatic installer.
Architectural changes
---------------------
- Remove rtp, rtpa and propce in user subroutines API. The access to the
variables and the properties is carry out using field structure.
- Velocity field is now created as "owner field" in C (removed from rtp
and rtpa). Velocity is now fully interleaved.
- Ensure only platform-independent files are installed to datarootdir
(either as defined by ${prefix}/share or as ${datarootdir}. Files
which contain install-related paths are now installed in sysconfdir.
- Fields representing variables are now declared in fldvar, previously call 1 of varpos.
Fields representing properties are now declared in fldprp, previously call 2 of varpos.
Fields for the radiation model are now declared in rayprp, previously call 4 of varpos.
The only remaining call of varpos matches previous call 3.
The nomvar array is replaced by field labels for fields, and nomva0 for temporaries.
Field pointers for all variables are accessible from C using the macros in
cs_field_pointer.h. The ichrvr, ilisvr, scamin and scamax arrays are also replaced by
field keywords.
- Lagrangian module: for tracking, particle structure is replaced by raw data
mapped at run-time, allowing for allocation only of useful data.
- Remove support for obsolete LAM and MPICH1 MPI libraries.
- Finalized cleanup of handling of boundary condition coefficients. Fields now allocate
their coefficients, rather than map them from a common array.
Bug fixes
---------
- Fix bug in the Generalized Gradient Diffusion Hypothesis (GGDH).
- swich between two components (R13 and R23): this is not impacting the validation
database because this model is only validated on 2D test cases
where the R13 and R23 components are both 0.
- from version 3.1, it is impacting all the Rij-epsilon calculations
because from this version, the Daly Harlow model is passed by default on Rij
(this model induces a GGDH on Rij and epsilon).
Release 3.2.0 (4 Dec 2013)
==========================
Changes
-------
- Documentation:
* moved tutorials outside the codebase, and into a separate base.
This allows looser synchronization with the code base, as tutorials may be
updated somewhat less frequently.
* complete the Doxygen documentation of
- Fortran modules
- user examples
- Fortran routines
* install Doxygen documentation from tarball (as built by "make dist").
- Remove deprecated uncoupled velocity solver (ivelco=0).
- Thermal model:
* the thermal model is now defined by the "itherm" keyword/variable, which
replaces iscsth(iscalt). In the case of temperature, the scale used is
defined by a separate variable (itpscal). For additional user scalars,
a new array iscacp is defined, such that iscacp(iscal) defines whether the
scalar behaves like a temperature, so the possibility of modeling multiple
passive "temperatures" is not lost.
This change allows for better consistency between the standard and specific
physics, as the thermal variable is now always a "model" scalar, and user
scalars remain separate. It also allows querying the thermal model with one
less indirection.
- Atmospheric module:
* add gaseous chemistry models.
* plug the SIze REsolved Aerosol Model (SIREAM).
- Turbomachinery modeling:
* added a rotor-stator model based on mesh joining.
- Particle tracking module:
* add a modeling of the drying phase of the coal particle combustion
* add a new boundary condition to simulate coal fouling mechanism
* bug fixes related to radiative transfer
* implementation of a particle discretization in the coal combustion model:
- backwards compatibility is ensured (set nlayer = 1)
- computation of intra-particle thermal gradients
- adaptation of chemical source terms to temperature discretization
- reworked of the particle injection for coal (clear difference between standard
and user-defined coal composition)
- adapted the particles and trajectories export routines to be able to output variable
information for a specific layer.
- Compressible module:
* change the compressible algorithm from a density formulation to a pressure formulation
* merge the compressible algorithm with the coupled velocity components algorithm
* adapt standard bricks (codits, bilsc*) in order to make them compatible with the
compressible algorithm
* implement analytical flux boundary condition
(plus a new total enthalpy / total pressure boundary condition with a fixed point algo,
generalization of the subsonic outlet)
* creation of a new set of BC coefficient for the convection operator for compressible flows
* remove density in the variables array (rtp) and keep it only in the properties array.
- Coal combustion module:
- added new NOx model for coal combustion;
- introduction of the coal thermal conductivity
(for the calculation of intra particle gradients in particle-tracking module)
- Boundary conditions:
* Fix in the wall boundary conditions for the viscous boundary term
(the viscous boundary term is not always parallel to the wall). This is
mainly impactant for verification testcases.
* add a new Boundary Condition type for free inlet,
- this BC can be used for natural convective flows in free atmosphere for
instance (plumes, flame, etc.).
- Turbulence:
* Major change in Rij-epsilon models:
- the Daly Harlow model on the diffusive term is now by default for SSG
- the GGDH brick is used for all the models (LRR, SSG, EBRSM)
- the "diffusivity_tensor" is added as a field key word
- Rij-epsilon routines are cleaned up and doxygened.
Architectural changes
---------------------
- For CFDSTUDY, use PARAVIS instead of VISU.
- Only search for SCOTCH/PT-SCOTCH, Metis/ParMetis, Catalyst, and EOS
if explicitely required to avoid detection of incorrect versions
on clusters.
- Added cs_c_bindings.f90 module for general definitions of C bindings.
For large modules, it is recommended to use separate files (see field.f90
and post.f90 for example), but for smaller modules, this avoids requiring
the definition of specific module files.
- Added cs_field_pointer API for quick access to main fields from C.
- Added experimental ParaView Catalyst co-processing output option.
- Added new all-to-all infrastructure, allowing alternative algorithms such as
Crystal Router to MPI_Altoall/MPI_alltoallv as an option.
- Move the convection-diffusion balance (bilsc2.f90) to C.
Bug fixes
---------
- Fixes in the wall boundary conditions (validation cases re-run for safety,
and were not impacted by these changes)
- for the velocity, when the wall velocity condition is non-zero,
the gradient BC was wrong.
- for the scalars, a term (proportional to the wall value) was missing
in the gradient BC
- for scalars with small molecular Prandtl number, the value in the viscous
sub-layer was not consistent between the gradient BC and the flux BC.
- Many bug fixes (see ChangeLog for details).
Release 3.1.0 (11 Jun 2013)
===========================
Changes
-------
- Many documentation updates
- Documentation: correction of the wall functions provided by D. Laurence,
description of the BL-v2-k model provided by F. Billard.
- Improve k-omega robustness when yplus is low.
- Use field structure for the scalar with drift and add a drift
model for coal combustion.
- New key words are added to the field structure:
* scalar_id (inverse of the array isca(iscal))
* scalar_class (class of the scalar which belongs to, in particular sharing
the convective mass flux)
* inner_mass_flux_id (index of the convective field at inner faces)
* boundary_mass_flux_id (index of the convective field at boundary faces)
* drift_scalar_model (type of model for drift scalar:
0 no drift, > 0 with drift)
The different models may be activated in cs_user_parameters
(user_field_parameters)), and one example is available in src/user_examples
and documented with Doxygen.
- Lagrangian module: implement a zero-flux particle boundary condition to be
applied with eulerian symmetries.
- Lagrangian module with combustion: use of a formulation of the coal density
local to a particle and improve the numerics.
- Lagrangian module: add a particle resuspension model.
- Lagrangian module: implementation of a wall law for fluid velocity, k and
epsilon for the deposition sub-model
- Radiative model: fix existing T2 and T4 quadratures, and add new
S4 S6 S8 and Tn quadratures .
- Add numbering options for threads.
- Use relative paths when possible in execution script.
- Lagrangian deposition sub-model: improvement of the initialization of the
particle state vector.
- Increase max coal number to 5.
- Add coke composition for coal combustion.
- Remove old coal combustion model
- Implementation of a Lagrangian boundary condition based on the DLVO theory
GUI changes
-----------
- If the GUI is launched through SALOME, update the object browser in order to
display the results.
- Possible activation of the Lagrangian particle deposition sub-model
through the GUI.
- Add new case creation capability by GUI.
- CFD_STUDY: display the listing in the standard dialog window.
User and pre/post processing changes
------------------------------------
- Lagrangian model: full rewrite of the postprocessing output,
which is now usable in parallel.
- Add handling of white-space in paths.
- GUI and CFD_STUDY: display the monitoring points on the SALOME VTK viewer.
AutoVnV changes
---------------
- Allow to call Code_Saturne GUI functions in external preprocessing scripts
(automatically set the PYTHONPATH variable).
- Add file input feature to the postprocessing environment in autovnv.
- Add use Agg and suppress usetex to run autovnv on cluster with no X server.
- Merge the preprocessing and case running steps (update documentation example).
- Add the possibility to apply a global post-processing to a study composed
of several cases.
- Add the possibility to run the same case several times and to prescribe
impose the name of results directory.
Architectural changes
---------------------
- Automatic installer changes. The installer is now in the top-level directory,
and does not download Code_Saturne anymore. The setup file template is
generated by a first call to install_saturne.py. MPI should now be installed
upstream, but PT-SCOTCH and ParMetis are now handled.
- Improve robustness of SALOME detection for YAMM builds. Sourcing the SALOME
environment should not be required anymore when the --with-salome configure
option is used with a YAMM salome build (which incluides its own Python
interpreter by default).
- To simplify current and future tests, a build-aux/cs_config_test.py
file was added to allow writing of configuration tests in Python.
- Improve MPI variant detection.
- Add EOS detection and support.
- Add MPMD support for Blue Gene/Q.
- Remove support for legacy (version 1-1 to 1.3) restart files, simplifying code.
- Remove support for obsolete METIS 4/ParMETIS 3 versions.
- Add "flush" stage times to postprocessing writer.
- Add CS_LOG_DEFAULT type to use logging API to listing file.
Bug fixes
---------
- Many bug fixes (see ChangeLog for details).
Release 3.0.0 (22 Mar 2013)
===========================
Changes
-------
- Many documentation updates.
- Lagrangian deposition submodel: improved parallel handling of the
deposition submodel.
- Always perform the first iteration of the iterative processes (to prevent
problems if the user set a too large value for the solver precision)
- LES: restore the wall shear stress in the velocity components coupled
solver (ivelco = 1) when the first cell is in the viscous sub-layer.
- Compressible module is now usable again.
- Lagrangian module: forbid the use of the broken trajectory and displacement
post-processing in parallel mode.
- Allow user selection of single reduction congugate gradient algorithm.
- Add a Boundary type to vectors (generalized symmetry) where a Dirichlet
is imposed on the normal component and a flux is imposed on the tangential
ones (icodcl=14). Needed for Marangoni effect.
- MAJOR fix in Head Losses:
- itrgpv.f90, itrmav.f90 and projtv.f90 are now adapted to anisotropic
diffusion (same algorithm as diften.f90 for scalars) for ivelco=1
- fix in BCs on the rpessure field for ivelco=0 with head losses.
- the symmetric tensor K for head losses is stored as follows
[k11, k22, k33, k12, k23, k13] instead of [k11, k22, k33, k12, k13, k23]
to be consistent with the anisotropic diffusion operator.
- pseudo pressure velocity coupling is also corrected.
- Replace symmetry/block flags for matrix benchmarking by fill type.
This allows finer control and easier addition of fill types,
such as diagonal/extradiagonal block/no block combinations,
and possible future special block types.
- Add finer control for computation and visualization of bad cells.
- Add parallel checkpoint/restart for particle tracking.
(this breaks the contents compatibility for the restart content).
- Unset default "relaxation" on k-omega.
- MAJOR fix in k-omega turbulence model. Buoyancy term and -2/3divu term are
implicit in the equation of k if they are negative.
It prevents from clippings on k (if an upwind scheme is used and if ircflu=0).
- MAJOR change in "k-epsilon" turbulence models (iturb = 20, 21, 50, 51):
- the time stepping on k-epsilon Linear Production (iturb=21) is revisited
so that any negative source term is taken implicit (it could be the case of
"-2/3*k* trace(Grad u)" or of the buoyant term). No Clipping on k or epsilon
should now appear if the convective scheme is upwind and if there is no
reconstruction on the diffusive term (ircflu=0).
- The limitation done by the k-epsilon Linear Production (iturb=21) model when
the Strain rate is big if performed on the deviatoric strain rate and not
the strain rate itself, as proposed by the model. That was an issue because
trace(Grad u) is not exactly 0 even for incompressible flows.
- The subroutine turbke is partially rewritten using additional arrays making
the code clearer. The order of the steps is then more logical.
- The relaxation which was performed by default on k and epsilon in tridim is
deactivated for iturb=21.
- The negative source terms ("-2/3*k* trace(Grad u)" or the buoyant term) are
also implicit for models iturb=50 and iturb=51.
- The buoyant term for atmospheric flows has been adapted.
- Lagrangian module: seed the random number generator with (num_rank+1)
to avoid statistical bias.
- Lagrangian module: reimplementation of the counter of depositing particles.
- New Fortran bindings for postprocessing, and update user output of variables
(this breaks the previous usvpst routine, but should be clearer).
- Move definition of variables output of all physics to usipes and separate
detailed examples.
- Add flags for condensation source terms and exchange coefficient correlation
(icond and iwallt flags).
- Always use an iterative gradient reconstruction method for pressure gradients.
In fact, this is done for all gradients deriving from a potential. To
allow the previous behavior, a negative value of the IMRGRA keyword may be
used (forcing the method matching its aboslute value).
Iterative gradients may now also be initialized by least squares using an
extended neighborhood.
- Set iclsyr=1 as default option (improved symmetry boundary conditions on
Reynolds stress tensor).
- Adapt diffusive modelization of turbulent flux (T'u') to any scalar.
This is performed using the new field structure.
For each scalar, the user can choose 3 options:
- iturt(iscal) = 0 SGDH (default) muT * GradT
- iturt(iscal) = 10 GGDH, T'u' = ctheta*k/eps/Rij * GradT
- iturt(iscal) = 20 AFM, (Alegbraic model)
- iturt(iscal) = 30 DFM, (Transport equation on u'T').
Note that the user BCs on u'T' are set at the end of icocl and rcodcl
(if iturt=30).
- Add a hydrostatic pressure gradient computation (iphydr = 2).
This allows handling the imbalance between the pressure gradient and gravity
source term. This pressure gradient currently requires an orthogonal mesh.
- Remove limit on number of classes for Lagrangian inlets.
- Syrthes now only allows nearest-neighbor search for non-matching faces
as an advanced option. By default, only matching faces are detected, and
non-matching faces provoke an error. This avoids silently switching to a much
slower algorithm, while non-matching faces are most often due to inconstitent
coordinates between domains, rather than different mesh feature detail levels.
- Add Fortran derived types to manage arrays of pointers.
- Add several boundary postprocessing options (notably wall T+, temperature, and Nusselt).
- Add GGDH-AFM and DFM models for the thermal scalar. This options is available
with the key word iturbt (0, 10, 20, 30).
Warning: the transport equation on turbulent fluxes (DFM) requires changing
the gradient boundary conditions on the thermal scalar to have the
proper production term. It is now consistent with the gardient
boundary conditions on the velocity.
- Improve user scripts, to add data preparation and results copying user hooks.
An example is provided, allowing simplified successive restart handling.
- All files in case's DATA and not in subdirectories are now copied
automatically to execution directory.
- Move initialization of IO logging to main initialization block.
- Add a soot model for gas combustion.
- Add computation of combustion source terms for the Low Mach algorithm (idilat=4).
- Change the default value for the precision of the reconstruction iterative
process (codits, coditv): it is now by default 10 times the precision of the
linear solver, to be consitent with resopv.f90.
- Add an extra block size to matrix (used for solving vectorial field with
tensorial diffusion). Add bricks for tensorial diffusion for vectorial fields
(matrvv, vistnv, diftnv).
- Modify iterative process to print the proper residual in the listing.
That means we always compute the residual (whereas we didn't before), so
it might be a little bit more costly.
- Adapt the dynamic relaxation to vectorial field (from codits to coditv).
The log messages are also changed so that the normed residual in the listing
is now the one of the iterative process (codits and coditv).
The nuber of iterations for the solver is now the sum of iterations for the
solver over the sweeps in codits or coditv, as it was already done in resopv.
- Add a new algorithm to solve diffusion term with anisotropic & heterogenous
viscosity for scalars (for use with GGDH);
to activate it set idften(ivar) = 6 (for symmetric tensor diffusion)
= 1 (for standard scalar diffusion)
= 3 (be for orthotropic diffusion, diagonal tensor)
- Add a new dynamic relaxation for solving the Poisson equation on the pressure;
to activate it set iswdyn(ivar) = 1 for a relaxation with the last increment
= 2 for a relaxation with the two last increments.
should be used only for transport equation without advection.
- Replace depecrated activated() SIGNALs by triggered() ones as advised by
the Qt documentation.
- Add rotation/curvature correction (Spalart-Shur and Cazalbou) for Eddy viscosity
turbulence models.
- Add (exact) Coriolis terms in Rij-epsilon models (LRR, SSG and EBRSM).
- Use vector coefa/coefb for postprocessing output when applicable.
- Major Fix on Boundary conditions with the coupled velocity components algo (ivelco=1).
- The Gradient boundary term for the velocity in k-epsilon, 2 scales of velocity was
not computed correctly.
- The wall shear stress in Rij-epsilon was counted twice.
Note: The previous versions of CS for Rij didn't ensure that rho uk*uet was
the wall shear stress.
Note 2: The 2 scales of velocity for Rij does not work properly in a channel,
because the scale uk is underestimated.
GUI changes
-----------
- Integration of UNDO/REDO function.
- Allow setting of RHS reconstruction sweeps for pressure.
- Add electric models.
- Change partitioning page into tab of a more complete performance tuning page.
- Add a popup for print XML function
- suppress Current species class.
User and pre/post processing changes
------------------------------------
- Change default v2f model from phi model to BL-v2k model.
- Output probe set coordinates in CSV format.
- Regroup usatsoil and usatdv user subroutines in cs_user_atmospheric_model.f90.
- Replace ficstp by control_file, with extended options. This file may now
also be used to force postprocessing or checkpoint output.
- Introduce physical time for mesh rotation start.
- Allow using SYRTHES 4 even if matching environment is not sourced.
- Allow user definition of additional compile/link options to simplify usage of
external libraries.
- Move some post-processing functionnality to utility functions, for easier usage.
- Add user example for visualization of space-filling curves.
- Add a starting time for the computation of moments.
- Read JANAF file from reference directory directly instead of using a local copy.
- Use reconstructed value for postprocessing of heat flux.
- Remove coefa/coefb arguments from user subroutines.
We now encourage the use of the field API. Legacy coefa/coefb
arguments are nonetheless kept in cs_user_extra_operations.f90,
as we may still need to compute a gradient of a single velocity
component even when ivelco = 1 (at least until examples are improved).
- Add CCMIO output for main volume and boundary meshes.
- Move user control of mesh warping handling to cs_user_mesh.c
- Improve defaults for cs_user_parameters and make examples more consistent.
The "--nogui" option of "code_saturne create" is finally removed.
Tests on "iutile" are replaced by .true. or .false. for clarity.
- Remove obsolete igghexa to MED 2.3 converter tool.
- Lagrangian module: removal of the now-useless routine uslabo.
Architectural changes
---------------------
- Move field properties from cstphy to optcal.
- Update detection of PT-SCOTCH/SCOTCH to handle new version 6.0.
- Allow definition of a user or site shell rcfile to modify the execution environment.
- Add finer control for parallel block I/O.
Global data is now never read in a collective manner, but broadcast,
while additional modes and hints for MPI-IO may be chosen by the user
(control is moved from the command line to the GUI and user files).
It is now possible to use a specific I/O communicator of smaller
size than the main calculation communicator.
These additions are part of a "Performance Tuning" group of user options.
- First version of the Windows port of Code_Saturne.
This brings up the following adaptations: the installation can now be relocated
(also available on Unix systems), the scripts (SaturneGUI, runcase,
run_solver.sh) are now generated on the fly and depend on the underlying
system and shell, and the interaction with NEPTUNE_CFD package is also changed
for a correct behavior.
- Add C API for access to time step information.
- Use ISO_C_BINDINGS to improve Fortran API for fields
- Python cleanup and partial Python 3 compatibility.
Except for Unicode and Qt4 aspects of the GUI, Python code
should now be compatible both with Python 2 and Python 3.
- Move some base Fortran API functions from cs_base.c to cs_base_fortran.c,
and replace CPU times by elapsed time in Fortran timings.
- Default logging mechanism may now switch between multiple modes.
This allows combining a C stdio-based API an a Fortran IO based API,
switching to Fortran where it is dominant (in which case bft_printf()
uses Fortran IO, as before), and back to C where preferred.
This removes the need for flushing of Fortran output, as bft_printf_flush()
is used mainly by the C API, and a switch back to the C API is forced
(with the Fortran output being closed) before error logging.
- Allow query of locale directory and package data directory from main executable.
- Rewrite gradient quality tests in C.
Bug fixes
---------
- Many bug fixes (see ChangeLog for details).
Release 2.3.0 (23 Jul 2012)
===========================
Changes
-------
- Set the coupled velocity component solver as default option (ivelco=1).
- Default turbulence model is now linear production variant of k-epsilon.
- MAJOR atmospheric/meteo addition of new features (humid atmosphere and
soil module).
Note: humididy, soil and 1D radiation models are experimental.
- MAJOR change: the Temperature transport equation is multiplied by
Cp (specific Heat) so that the equation has now the dimension of energy.
The change is expected to have NO influence when Cp is constant.
When Cp is variable in space, this change fixes the error done on this
equation.
- Change default values for NSWRSM.
- Add synthetic turbulence inflow methods for LES:
- random method (Gaussian noise),
- Batten method (based on Fourier decomposition of turbulent fluctuations),
- Synthetic Eddy Method (SEM).
- Adapt the Multigrid algorithm to vectorial Poisson equation
(such as mesh velocity for ALE).
- The aggregation criterium is based on the trace of the diagonal block
DA (3x3), but can be a changed (We could test n.DA.n),
- The multigrid algorithm for scalars (such as the pressure field) is
rigourously unchanged.
- Add a low Mach algorithm (semi-analitical: idilat=4).
- The subroutines codits and inimas/inimav are transparently changed:
- codits save and return the last increment,
- inimas/inimav can compute a velocity flux OR a mass flux regarding
the value of itypfl.
- First stage of the implementation of the diffusion-inertia model of
aerosol deposition. Still under development in this revision.
- Add an multi-species algorithm for low-Mach number algorithm (idilat=3).
- MAJOR changes to the formulation of boundary conditions for diffusive part.
The changes impact the subroutines where the BCs are computed (condli,
clptur, clptrg, clsyvt) which are rewritten (and doxygened).
The changes should not impact the results (to the truncature error precision).
A new boundary condition is added: convective/radiative outlet (icodcl=2).
The radiative transfer module has been widely modified:
- a new solved variable (in rtp) call ilum has been created,
- the boundary coefficient are now in the same array as for the
other variables,
- the new Boundary condition (radiative) is used and user set BCs with
rcodcl and icodcl
This may have introduced bugs in the compressible module.
- Lagrangian module: removal of the 'snap_to_grid' (legacy) method of
particle localization
- Lagrangian module: first stage of the implementation of the parallelism.
- Add bad cells detection and post-processing.
- Lagrangian module:
- English translation of the main messages
- Suppression of the display of the ambiguous mean values of the stats
- Clean the coupled velocity component version or the correction step
of pressure. The loop over non orthogonalities is performed in a
clearer manner. The updating of the mass flux is always performed so
that the continuity equation is fullfilled exactly (at the pressure
precision) even when the iterative process have converged.
- Pass the mass aggregation term (-div(rho u)T) directly into the linear
system (matrix and bilsc) to be coherent with NCFD.
- Add a Low Mach compressible algorithm conservative in time for the
momentum equation and the transport equation of any scalar.
It adds a prediction step of the mass flux. Available with the
key word idilat (2 or 3).
- Add a low-Mach algorithm to account for the mass equation for dilatable
flows. It is only available for mono-species flows at the moment.
This can be activated with the idilat keyword set to 3 (1 being the
current default).
GUI changes
-----------
- Add handling of gas combustion model.
- Add handling of solid fuel combustion.
- Add compressible algorithm in GUI (not fully operational in this version
yet: version 3.0 recommended).
- New presentation and use MEI to initialize scalar boundary conditions.
- Volumic initialization for meteo variables.
- Add choice for NSWRSM and IRESOL.
- Use splines to define profiles.
- Modification of min, max and initialization for scalars and variance.
- Langrangian module: modification of the oundary conditions:
- Rename of the classical boundary conditions
- Lagrangian module: modification of the volume and boundary
statistics management:
- Rename of the default names
- Names non-modifiable in the GUI
- Post-processing or not or the default variables
- Move of the names from uslag1 to lagopt.f90
- Rename in lagopt to be consistent with the GUI
- Pulverized-coal model not activatable in the GUI (deprecated).
- Use MEI to initialize turbulence, velocity and thermal variables by zone.
- Add use of MEI for turbulence boundary conditions.
- Added piso and modification of control time step with
velocity-pressure algorithm choice.
- Move hydrostatic pressure option from body forces to numerical parameters.
- Use MEI only for deformable mesh and control access view.
- Add support for Rij-epsilon EBRSM and Spalart-Allmaras turbulence models.
User and pre/post processing changes
------------------------------------
- Separate usproj.f90 into multiple examples.
- Add a user example for LES inflow.
- SYRTHES coupling: in case of unlocated Code_Saturne elements in SYRTHES mesh,
these elements are now post-processed.
- In case of a single SYRTHES coupling, adjust name to automatic match.
- Split usray5 ("User" subroutine for radiative transfert) into 2 parts:
- raycll, which is not a User subroutines, which sets BCs on luminance
- usray5 (iappel=2) where a net flux is computed.
This should allow to remove luminance from rtp (ilum).
- Add variable/port name to SALOME Kernel Calcium API messages.
- Postprocess deformation in ALE mode.
- Add user function to disable or force mesh_output.
- Replace usphyv by cs_user_physical_properties.
- Force use atphyv for density property for meteo physics.
- Update of the max number of particles to visualize from 500 to 100000
- EnSight Gold variable description limit is now 49 characters, not 19.
- Autovnv: add new option --update in order to upgrade a repository
of test cases by reload files of parameters (i.e. run the
backwardCompatibility method) and changes pathes for SaturneGUI and
runcase. Add capability to mix Code_Saturne and NEPTUNE_CFD test
cases in the same Study.
- New Autovnv. functionality: 2D view of scalar (needs pyvtk).
- Remove Fortran utility subroutines used to obtain global mesh element numbers.
Architectural changes
---------------------
- Use 16 characters instead of 8 for variable and property names.
Improve formatting, and make default variable names witout GUI more
consistent.
- Add C parallel operation wrappers.
- Add new structures for measures set -> global mesh interpolation
(cs_measures_set_t) and global mesh -> point cloud interpolation
(cs_interpol_grid_t).
These features will be used soon in atmospheric module.
- Dependencies on libraries are now handled in the standard
Automake manner, to avoid issues with the gold linker
(this means building a dynamic libsaturne on top of static dependency
may no longer be possible).
- Detection of dynamic versions of SCOTCH, METIS, and HDF5 is
now made possible.
- On Mac OS X, build is static by default, and compiling of user
subroutines for a static build requires unarchiving the library and
overwriting selected object files, to avoid issues with multiple
definitions not being handled by the Mac OS X linker.
- Move partitioning to main solver executable.
This simplifies the toolchain, as a separate partitioner is no
longer required. Additional options for finer-grained control
are provided, and parallel partitioning is encouraged.
- libPLE: use same FLAGS as parent Code_Saturne build.
This helps ensure subconfigure is consistent. Bootstrapping also
inherits prior cleaning stage from that of parent.
Also, dependencies on MPI are handled in the standard Automake
manner when building libPLE (this means building a dynamic
libPLE on top of a static MPI may no longer be possible).
This implies changing at least the patch release number for PLE.
- Port to Blue Gene/Q.
- Moved block distribution functions from fvm to base.
- Allow user configuration of compilation flags for performance-critical files.
- Merge fvm_parall.* and cs_parall.*.
- Remove support for coupling with (obsolete) version 3.4 of SYRTHES.
- Reduce use of external BLAS functions based on recent comparisons
with internal functions.
Reduce usage of external BLAS to benchmarking (to allow for occasional
comparisons).
- Replace external BLAS dot product with superblock variant for
better expected precision.
- Move definition of parallel rank and thread status from cs_base.*
to cs_defs.*.
Bug fixes
---------
- Many bug fixes (see ChangeLog for details).
Release 2.2.0 (30 Mar 2012)
===========================
Changes
-------
- Add a porosity formulation.
The transport equations (espacially in turbulence) have to be checked.
We also have to check if the formulation is all right in presence of
Coriolis forces.
- Add Least square method for gradients of a vector.
Add a clipping for gradients of a vector. Only available for
coupled velocity components algo (ivelco=1).
- Multigrid: iagmax variable in autmgr.f90/_automatic_aggregation should
be reset to for each coarsening, and should thus be an internal variable,
not an argument.
This leads to more regular aggregation patterns, though often 1 or 2
more grid levels.
- Make the Cocg matrix for the vectorial iterative gradient DIMENSIONLESS.
- Update handling of periodicity of rotation for more consistent usage
of halo synchronization. The parcom and percom routines are now
fully replaced by the halo syn*** series of routines.
At this stage, the effective operations are unchanged, although
the API should be clearer.
- Lagrangian module: Implementation of a simpler way to calculate the
determinant in the trajectography sub-module (default choice from now on)
- Make the Coriolis source term partially implicit with the coupled solver.
- Make free-surface flow independant of the axis direction but dependant of the
gravity direction. A checking is added in vericl.
- Add initial version of renumbering for hypbrid parallelism using OpenMP.
The renumbering algorithm for interior faces is based upon one of the simpler
algorithms provided by IBM, and is mainly destined for tests, as better
performing algorithms will be added as a second step.
The renumbering for boundary faces is simpler and is not based on the
IBM library.
- New option added: dynamic relaxp in resopv (swpdyn = 1).
Only available with ivelco = 1.
- Add the Rij EBRSM model (iturb = 32)
- CS-CS coupling avalaible in ivelco=1.
- Remove the multigrid algorithm by the default for eletric variables.
- Use reserved name for temperature or enthalpy field.
- Interleaved ALE displacement array for ivelco=1.
- Log SYRTHES 4 overheads timing information.
- Improve the temperature calculation in the Libby-Williams model when
the model is not adiabatic by using the transported enthalpy.
- Improve SALOME CFDSTUDY module
- Ensure Laplacian used to compute wall distance is positive.
A second pass without reconstruction is run if this is not the case.
- Add matrix dump to file function.
- Add a free surface boundary conditions for the mesh velocity (only
available with the coupled framework ivelco = 1). Also add a utilitarian
function to find the closest node of a given point.
- Add a coupled framework for the ALE module.
- Make implicit the handling of the transpose gradient of the velocity
as well as the secondary viscosity within the diffusive flux
computation routine (bilsc4).
- Add mesh smoother with initial unwarping algorithm.
- Many minor changes (see ChangeLog for details).
User and pre/post processing changes
------------------------------------
- Allow choice of ADF or HDF5 format for CGNS.
- Add postprocessing options for Syrthes in runcase_coupling.
- Move all user files in a single dedicated directory named src/user.
- Empty reference boundary conditions and initialization user subroutines.
Examples are now given separately in a SRC/EXAMPLES case subdirectory.
- Replace all the specific boundary conditions routines by a single
cs_user_boundary_conditions one.
- Replace all the specific initialization routines by a single
cs_user_initialization one.
- Merge all the option initializations for the specific physics
into the existing usini1.f90, including usppmo.f90
- Merge mesh-related user files in a single cs_user_mesh.c
- Merge nearly all source terms definition in a single cs_user_source_terms.f90
- The mechanism for advanced selection or modification of postprocessing
meshes is now based on user-defined selection functions.
- Remove never-used user function for multigrid coarsening.
Architectural changes
---------------------
- Remove support for CGNS versions < 3.1
- Remove support of PROSTAR/ngeom input format.
- Remove MED 2.3 support.
- Added function attributes to bft_printf() and bft_error() with GNU or Intel
compilers so as to check format arguments, and fixed all errors and
warnings subsequently reported.
- Rewrite multigrid autmgr.f90 and crstgr.f90 in C (respectively
_automatic_aggregation and _build_coarse_lvl in cs_grid.c).
- Rewrite gradient reconstruction in C, with interleaving and OpenMP loops.
- Add typedefs for multidimensional arrays. This allows for much
clearer syntax for interleaved multidimensional arrays with
fixed "local" dimensions. Examples of their use may be found
in gradient computation functions.
- Force link with C++ when using MEDCoupling or PARAMEDMEM.
- Remove obsolete/unused parallel call counters in Fortran wrappers.
- Move additional quantities such as COCG, II', and JJ' from Fortran to
cs_mesh_quantities structure.
- Added field (and mesh location) API for both C and Fortran
Field maintain their own metadata, including keywords and boundary condition
coefficients information.
- Add initial MEDCoupling output plugin writer.
- Add plugin mechanism when dlopen/dlsym/dlclose are available.
- Add a variable related to the Fortran modules directory so as to enable
NEPTUNE_CFD to compile Code_Saturne Fortran files.
- ChangeLog is now now automatically generated either by running
'make changelog' on a Subversion checkout, or when
distributing an archive by running 'make dist'.
- Separation of postprocessing into a common part (usable by other codes)
and specific Code_Saturne additional default outputs.
- Separate extended neighborhood management from LES filter.
- Maintain vertices interface set in mesh structure for use by mesh
modification or ALE.
- Replace fvm_interface_t with cs_interface_t structure.
The API is slightly modified, as cs_interface_t uses 0-based ids for
local elements, uses a send order to fix bugs with the previous
API when periodic local and matching elements could not both be sorted by
increasing global number, and includes some utility functions,
for copies and sums.
- Use cs_lnum_t instead of cs_int_t for mesh structure.
- Merge system info from bft_sys_info.* and cs_base.* to cs_sytem_info.*.
- Rename cs_perio_* to cs_halo_perio_* (prepares move of fvm_perio_*
to cs_perio_*).
- Migrate some fvm_ functions and types to the cs_ name prefix.
fvm_order_* is also moved to cs_order_*.
- New LaTeX classes are added.
A new plan is added in the theory guide.
A note on basic rules to write the theory guide is added in the
developer guide.
- Improve documentation tools detection and add a doc rule at the top level
directory, and rename the doc directory to docs to avoid Makefile
incoherency). Also add an update-po rule at the top level directory.
- Add a --with-salome configure option that takes care of SALOME modules
detection avoiding the use of the different --with-salome-xxx.
- Remove tests using diagonal matrix BLAS 2 from benchmark mode,
as initial tests show they are slower than specific code, while
they would require more costly storage than a blocked diagonal.
- Improve handling of external BLAS.
Either wrappers with the "cs_" rather than "cblas_d" prefix are used
(for daxpy and ddot with strides of 1), or those functions are
provided if no external BLAS is available.
Support for Fortran BLAS is dropped, except for IBM ESSL and AMD ACML
(which is added), as most other modern BLAS provide C API's.
- Add logging API, which is used for improved multigrid performance information.
Bug fixes
---------
- Many bug fixes (see ChangeLog for details).
Release 2.1.0 (20 Oct 2011)
===========================
Changes
-------
- Add thermochemistry reference files for the unified combustion modeling.
- Add coupling with SYRTHES 4.0
This includes boundary and volume coupling features.
A conservativity flag ay also be used to force energy conservation.
- Set the relaxation coefficient to the classical value of 0.7 instead of
0.9 for the steady algorithm.
- Make the thermochemistry file name coherent with the scripts.
- New turbulence model in the framework of the v2-f models.
This is a "blended" v2f (iturb = 51).
- Add a prototype of solving the velocity components in a coupled way.
It can be tested by setting the ivelco variable to 1 but is not yet
compatible with every feature (use with caution...).
- Add an experimental combustion model for coal and heavy fuel oil
with a unified gas-combustion modelling.
This new modelling replaces the previous fuel modelling (which is
still available as a backup).
- Add thin wall insertion.
- Implement the correct behavior to handle thermal wall-function in
the framework of the scalable wall-functions.
- First implementation of a V&V automatization tool.
- Non-symmetric matrix coefficients are now interleaved.
(the Fortran API still allows non-interleaved matrixes as an option).
- Remove synchronization of postprocessing with Code_Aster.
- Add a particle deposition model to the Lagrangian module.
- Prefer initializing the random-number generator with a seed equal
to 1 instead of 0 (as advised in the zufall.f90 comments).
- Delay discarding of isolated faces to just prior calculation phase.
This allows post-processing of those faces, as well as their usage
in mesh joining (not updated for this yet) or user modification.
- Add possibility of defining a default destination rank for
block to part distributor based on strided adjacency, so as to
also distribute elements with no adjacency.
- Added choice of Hilbert SFC for domain partitioning.
- Added GMRES to linear solvers.
- Enable build of Doxygen documentation (currently minimal).
- Finalize Code_Saturne/Code_Aster coupling s now known to work
with SALOME 5.1.5 and Code_Aster NEW10 recent enough on Calibre 5.
- Add a one-equation turbulence model: the Spalart-Allmaras model.
- Added single-reduction variant of preconditioned conjugate gradient solver.
- Optional merge of coarse grids across processors so as to allow coarsening
beyond domain boundaries.
- Remove the MATISSE module.
The MATISSE module can be found in its last version by the Subversion
tag pre_removing_matisse.
- Fix a mesh-numbering dependancy (and number-of-processors dependancy) in the
choice of the face at which one takes the reference presure, when the user
defined a free outlet boundary condition.
Results may differ from previous calculations but should be not much wrong
than before and will be less dependant on other parameters.
- Log number of cycles instead of equivalent iterations for multigrid.
- Handle multiple batch systems through the GUI depending on the configuration file.
- Add SALOME module generation, for future Code_Saturne/Code_Aster coupling.
- Move the mass-flux update in case of a rotating mesh, only relevant when
disabling the pressure reconstruction (no impact on current simulations).
- Remove rarely used interior faces selection for mesh checking.
- Many minor changes (see ChangeLog for details).
User and pre/post processing changes
------------------------------------
- Many updates and additions to GUI.
- Switch to new case directory hierarchy, allowing a new coupling
directory structure using one subdirectory per domain.
A domain's name matches its subdirectory, and a new
runcase_coupling may be generated by cs_create when multiple domains
are present.
File and directories are not renamed by the script anymore, so
copying of results from the execution directory is better automated
and the latter may be purged when no error has occured. Better,
the case may be run directly in the results directory.
The user does not need to specify files to retrieve, but may specify
scratch files not to retrieve (which should be much rarer).
- Add a master script Python module to call the different modules.
- Scripts and GUI overhauled, with user Python functions and script XML reader.
Restart behavior is now based on the presence of a restart sub-directory in
the execution directory. A "--preprocess" option has also been added to the
Kernel so as to handle purely preprocessing runs.
- Remove inconsistant 'check_mesh' command from the main script (superseded
by both the graphical interface and the 'run' command). Also remove
the 'check_consistency' command which was a pale copy of the verification
stage (--quality option of the solver).
- Allow selection of an alternate build for compute tasks.
This is useful mainly for supercomputers with separate front-ends, such
as IBM Blue Gene machines.
Also allow disabling build of front-end tools.
- Try to use the same shell as the user's current shell in generated
scripts used by the "code_saturne run" command.
- Add a SALOME command to the main Code_Saturne script so as to launch the
SALOME platform with the CFDSTUDY module enabled.
- Remove the now useless "code_saturne plot_probes" command since the probes
now have only one first column for either the time-step number of the time
value (it was only a wrapper aroun xmgrace -nxy $file).
- Replace the drag'n drop feature in the graphical interface by a more
intuitive add/remove mechanism for the profile and time average pages.
- Allow reading of CGNS files with BC's referring non-existant edges, as a
workaround for a bug in ICEM CFD 13 CGNS export.
- Use SCOTCH instead of METIS by default when partitioning.
- Update ParMETIS support to version 4.0.
- Add the possibility for the user to define advanced post-processing,
writers and meshes, from the GUI.
- ficstp.MOD renamed to ficstp_updated to avoid confusion with Fortran modules.
- Use the "executable" mode of YACS instead of the "loader" one
for both Code_Saturne and Code_Aster.
- Separate mesh joining verbosity and visualization level. Above verbosity
level 2, output is directed to a processor-local log file.
- Move activation of Cooling Towers postprocessing to that module.
- Make activation of SYRTHES postprocessing coupling-instance specific.
- MED output: a field must have different names on different MED
meshes within a single file, so postpend mesh name if necessary.
- Add the possibility of setting up a frequency output in seconds in the GUI.
- Remove all the occurences of the user and developer arrays. User should now
use the user_modules.f90 suggested in the user files, and developers should
use allocatable arrays in one of the modules (see src/Makefile.am).
- Transform user files for joining, periodicity, mesh modification,
SYRTHES and Code_Saturne coupling from Fortran to C.
- Preprocessor: merging of coincident vertices or multiply-referenced
vertices in face definitions moved inside generation of descending
connectivity so as to handle cases where quadrangle faces transformed
into triangles by vertex merging may be identical with faces already
defined as triangles.
- Preprocessor: extracted meshes should only contain connected vertices.
- Preprocessor: removed postprocessing format options
and additional minor source code cleanup.
- Preprocessor only creates visualization files if necessary.
- Removed preprocessor meta-file and command-line input file support.
- Preprocessor now converts all colors to groups on mesh import.
- Add output of default volume and boundary mesh groups to EnSight format.
This requires the usage of additional cases, so as to avoid time dependency
issues and group name clashes between surface and volume parts.
Removed group output by Preprocessor for EnSight format now it is in Kernel.
- Improve the cs_solver options management so that the error message is clearer
in case the code is not compiled with X feature support.
- For code coupling, remove all occurences of the application number and
replace it by the, application name, which is based on the matching
computation domain case's direcory name.
- The monitoring files are now created in a specific directory.
- The checkpoint files are now created in a specific directory. Likewise, the
restart files are read from a specific directory.
Moreover, the filenames cannot be changed by the user anymore (it was
already breaking the scripts anyway).
- Add bash completions for Code_Saturne executables.
- GUI: handle batch system based on batch template and code_saturne.cfg.
- Add optional code_saturne.cfg configuration file:
- select batch type and default batch card.
- handle the temporary directory from the config file.
- handle the notion of mesh database directory.
- Change the default behavior for copying the result files (without suffix).
- Make the particles output compliant with EnSight 6 format and improve the
robustness of the output for visualizing with ParaView.
- Add diff capabilities to the I/O dump utility.
- Move the warped-face-cutting setup from the command line option to a Fortran
user routine and XML file.
- Switch the joining and periodicity support from the runcase script to the
XML reader when using the graphical interface.
- Switch to the Python runcase script; the GUI now handles this script,
and the old (shell) script is removed.
- Add timing information for mesh input I/O.
Architectural changes
---------------------
- Add a developers guide with coding standards.
- Add an installation documentation.
- Enable build with MED 3.0 (based on 2.9) as well as with MED 2.3.
- Enable build with CGNS 3.1 as well as CGNS 2.5.
- Print additional MPI environment info for Blue Gene/P.
- Use specific intracommunicator instead of MPI_COMM_WORLD for coupling with
SYRTHES 3, to avoid bug due to non-contiguous MPMD rank-numbering on
BLue Gene/P or similar machines.
- Many changes to matrix API:
- Move matrix type definitions to cs_matrix_priv.h,
so as to allow implementing matrix operations over several files
(adding cs_matrix_util.* here).
- Assign coefficients to matrices outside linear solvers.
This and allows for simpler and more consitent calls to linear solvers.
An added benefit is the fact that the overhead of assigning coefficients
is applied once per time step instead of once per multigrid cycle.
- Remove alpha.A.x + beta.y operation type for matrixes.
- Added Matrix tuning infrastructure and updated benchmark mode.
Benchmark mode now uses a fixed minimum time rather than number of
passes, so as to be less dependant on mesh size.
Matrixes now include an MSR structure, (modified CSR, with separate diagonal),
and new operators are added.
- Add OpenMP directives for linear solvers.
- Express Jacobi solvers using y <- A.x rather than y <- alpha.A.x - beta.y
formulations, and take advantage of the new (A-D).x operator to
remove extra matrix for polynomial preconditioning.
- Remove sockets support for SYRTHES3 coupling.
- Remove support for IRIX and Tru64 Unix, as these systems are now obsolete.
- Merge bft_file.* and fvm_file.* into cs_file.*, replacing bft_file_printf()
by simple fprintf(), and making endian-swapping code local where needed.
- Replace cs_bool_t with bool.
- Merge bft_config_defs.h, fvm_config_defs.h, and some definitions from
cs_base.h into a single cs_defs.h header. This also includes preparations
for replacing fvm_*num_t by cs_*num_t.
- Un-version TODO file.
- Add --with-modules configure option to allow override of automatic detection.
- Update METIS support for METIS 5.0.
- Upgrade post-processing management API for better mapping with the
GUI, and for better clarity of user options. All related settings
are now local to cs_post.c, and are removed from entsor.f90.
- Add a relocatable option to the configure script to handle relocatable
installation (of executables). It is based on the $ORIGIN variable for
RPATHs that should be understood by at least GNU and SOLARIS linkers.
- Split the base directory into 4 directories with 3 new ones dedicated
to the mesh handling, the turbulence modelling, and the Finite Volume
schemes and resolution.
- Major memory management update: a dynamic allocation when
necessary, remove useless work arrays and move work arrays where
there are really used.
Remove the allocation of main arrays in the C part and the
corresponding user interface (both graphical and Fortran).
The only remaining bits of the macro arrays are the ones related to
the post-processing management (aka ipp2ra): rtp, rtpa, propce, dt and
tpucou.
- Split the gradient API into subroutines to highlight the pressure
gradient computation and facilitate future simplifications and tests.
Only the new 'grdpot' subroutine is now able to account for body forces.
- Remove explicit support of n phases (support was never used, and is still
possible using adequate variables and defining relations between them).
Phase index is removed from all arrays, improving code readability and
avoid bugs in which iphas was not re-set to 1 after a previous loop on
phases.
- Add a developers guide with coding standards.
- Remove the vectorization directives (when forced) so as to simplify
the code maintainance and since we do not have access to a vector
computer at the moment. Thus, the ivecti/b indicators are now useless.
- Remove matrix structure symmetry flag, replacing if by using a specific
symmetric matrix type where applicable (added symmetric CSR type).
- Move the calculation of geometric quantities (useful for handling the
non-orthogonalities) from the Fortran part to the C part.
The arrays are now accessed directly instead of through a pointer to ra.
- Make use of the "package" concept in the graphical interface to have an
easier management of both Code_Saturne and NEPTUNE_CFD codes.
- Added detection and handling of environment modules. The configuration
detected at configure/build time are saved and applied when compiling
user subroutines or when running a calculation script. A --with-modules
configure option allows overriding of automatic detection.
- Add the CFD Proxy library to Code_Saturne repository.
This library is used when Code_Saturne must be wrapped by YACS (SALOME
component) as a shared library, providing specific Calcium wrappers, for
example in the Code_Aster / Code_Saturne coupling case. This library
should be removed when we switch to the executable mode of YACS.
- Use C++ wrapper to link with MED library if necessary.
This avoids requiring the definition of MED dependency
libraries, which could interfere with libtool in cases
mixing static and dynamic libraries and cross-compilation.
- Added C API to handle probes.
This allows not writing to a temporary file anymore and enabling both
the legacy .dat (text block data/XmGrace) format and CSV files.
- Add members to the cs_vars_t structure to account for the number of phases,
in order for NEPTUNE_CFD to be able to link against Code_Saturne source code.
- Introduce a package-specific Python module to avoid too many overloading of
Python classes by NEPTUNE_CFD. It replaces the cs_config.dirs class and adds
some useful specific information like the package name, version, ...
Some work remains to be done in the graphical user interface code, because
the cs_package module is directly used instead of being passed on.
- C++ compiler detection for a possible link with this compiler when linking
with MED support and to ease NEPTUNE_CFD configury.
- Move the bison/yacc compilation from the bootstrap stage to the
compilation stage. Also generate the corresponding C files at dist stage.
- Generate the documenation at dist stage.
Install the documentation with install target if present.
- Added selection functions for faces at cell criteria boundaries
and for pre-selection of families.
- Attributes are removed from group classes.:
Attributes read in the input mesh are converted to group names so as
to be renamable by the user and listed in the meshe's groups, but
additional mesh family items may be built when group names are convertible
to integers so that user subroutines looping on families and family
properties still work as before.
Also, selectors still contain internal attributes so as to ensure a
range[] of integers works as expected, but these are now built directly
from group names which are convertible to integers.
- EnSight writer now enables parallel IO in binary mode.
- Output information on groups and periodic faces in solver log file,
and add selection functions to list periodic faces.
- Enable saving of meshes in preprocessor data output whenever
the input mesh has been modified or meshes have been concatenated.
- Add preprocessor_output files concatenation to the kernel (works in parallel).
Appending multiple meshes is now done through a user function:
coordinate transformations and group renames are now possible.
Mesh concatenation support is removed from Preprocessor.
- Transform all Fortran common blocks to modules.
Fold dimfbr into dimens and vector into parall.
- Move all Fortran include files from include/* to src/* and rename
their extension to .f90 in preparation for switch to modules.
Rename vortex.h to vorinc.f90 to avoid conflict with existing vortex.f90.
- Instrumentation of the gradient computation. Also add a first
implementation of a pure C interface fo the gradients.
- Add a new API for halo synchronization. Four new functions are available for
scalars, vectors, diagonal tensor and 9x9 tensor. The old API
"parcom/percom" remains available.
- Make the CCM files reader able to read both 2.6.1 and later versions.
- Move the preprocessor into the Code_Saturne tree.
Major code refactoring to ease the maintenance.
- Rename the package from ncs to code-saturne instead.
- Change the behavior of the configure option for finding a Python interpreter.
- Migrate the BFT (Basic Functions and Tools) library to the Code_Saturne tree.
- Migrate the MEI (Mathematical Expression Interpreter) library to the
Code_Saturne tree.
- Migrate the FVM (Finite Volume Mesh) library to the Code_Saturne tree.
- Replace the FVM coupling library by the new PLE one, which may be installed
either as part of Code_Saturne, or separately (Code_Saturne may use either
its internal PLE library or an external build).
- Replace the SWIG dependency for the syntax checking in the graphical
interface by a small executable called at each check.
- Add the periodicity joining handling to the solver's parallel joining
algorithm.
- Move the partitioning and I/O dump tools from the preprocessor to the kernel
package. Add ParMETIS and PT-SCOTCH/SCOTCH support. By default, serial
partitionning is done, but parallel partitioning may be selected with
the user script.
Bug fixes
---------
- Many bug fixes (see ChangeLog for details).
Release 2.0.0 (20 Aug 2010)
===========================
Code_Saturne 2.0 is a major (fully validated) production release, replacing
version 1.3 (which is to be maintained until the release of version 3.0).
- Correct value for the diffusion coefficient in k-omega SST.
- Move the mass-flux update in case of a rotating mesh, only relevant when
disabling the pressure reconstruction (no impact on current simulations).
- Translate variable and property names in the example Xml files.
- Several bug fixes and minor improvements (see ChangeLog for details).
Release 2.0.0-rc1 (22 Jun 2010)
===============================
- By-pass a possible bug with the flush Fortran 2003 statement on BG systems.
- Make the particles output compliant with EnSight 6 format and improve the
robustness of the output for visualizing with ParaView.
- Revert a changeset regarding the turbulence relaxation (k/epsilon/omega) to
avoid stability issues in some calculations. This still needs to be
investigated in order to have a correct unsteadyness when needed.
- Under HP-UX, handle both hppa and Itanium systems.
- Miscellaneous improvements for the parallel joining algorithm,
added the periodicity "joining" handling in parallel by the solver.
- Several bug fixes and minor improvements (see ChangeLog for details).
Release 2.0.0-rc1 (19 Feb 2010)
===============================
- English translation of more Fortran subroutines headers.
- Move upwards the definition of additional scalars in the GUI because the
physical properties can depend on them.
- Change the behavior of the xml file relatively to the time step min/max
factor so that it corrresponds to what is given by the user in the gui.
- Add rotor/stator interaction (specific interpolation) for relative frame
calculation.
- Add new interpolation schemes to code/code coupling for
rotor/stator interaction modelling.
- Improve robustness for wall boundary conditions for atmospheric modelling.
- Use new discovery mechanism for coupling applications.
- Remove hyphens and dots from variable names defined by the GUI.
- Rename the main script in code_saturne to avoid a conflict
with the cs executable of csound package.
- Set the relaxation factor between P0/P1 interpolations to 0.95 in multigrid
algorithm in order to stabilize the algorithm in some calculations.
- Set the aggregation limit to 3 instead of 8 in the multigrid solver
for better robustness (but slightly lower performance).
- Upgrade to FVM 0.15
- The space-filling-curve algorithm for backup domain splitting is activated
by default.
- Add a mpi_io option to the command line so that one can use FVM compiled
with MPI/IO support and decide at runtime which type of I/O to use.
- Merge the preprocessor user guide into Code_Saturne user guide.
- Add a new Python runcase script with more code coupling capabilities
and better handling of MPI and batch environments. This scipt is enabled by
the --new-runcase option to the "code_saturne create" command.
The GUI still only handles the legacy (shell) script.
- Disable by default the multigrid algorithm for the potential vector
in MHD as it does not seem to work correctly.
- Many GUI improvements and fixes.
- Several bug fixes and minor improvements (see ChangeLog for details).
Release 2.0.0-beta1 (29 Jul 2009)
=================================
- Move loop on velocity/pressure system so that it includes
the boundary conditions calculation.
- Use selection mechanism for exchange zone definition.
- Improve cooling tower module.
- Information on SYRTHES installation and compilers can now be
given after Code_Saturne installation.
- Fix a wrong assumed behavior on x86_64 and IA64 computers
in the particles tracking algorithm. One assumed that the internal
FP precision was always 80 bits (true for FPU x87 coprocessor on
x86 processors but wrong with SSE optimizations)...
This is a short term fix (assembler + compiler-dependent option).
- Add Coriolis source terms in standard calculations.
- Do not relax turbulent variables (k/epsilon/omega) in unsteady
simulations.
- Adapt 1d-profiles file to SALOME format for title and labels.
- Add radiative transfer support for fuel combustion.
- Add a space-filling-curve algorithm for parallel partitioning.
This algorithm is based on a Morton curve.
- On Linux systems, use fenv library to trap floating point exceptions.
- Add parall mesh joining feature in the Kernel (by default, the legacy
joining feature from the Preprocessor is still used.
- Add non-neutral atmosphere modelling (both dry and humid, though
humid atmosphere modelling is not yet fully functional).
- When detecting a divergence in the linear system solver stage, abort
and write graphical data of the given matrix (rhs, diagonal, ...).
- Simplify running a SYRTHES 3 / Code_Saturne coupling through sockets.
- Add a mesh category for an easier management of user-defined
post-processing.
- Add a new turbulence model for LES: the WALE model.
- Fix when testing for radiative transfer.
- Enable the multigrid algorithm for the diffusion equation in the
electric arcs, Lagrangian, radiative transfer (P1 model) and ALE modules.
- Replace all the different user scripts by a single one.
- The GUI is now based on QT4 rather than Tk, and is now part of the
kernel source tree to simplify version control and installation.
- The Syrthes coupling library is now included in the kernel source
tree for easier versioning and installation.
- Several bug fixes and minor improvements (see ChangeLog for details).
Release 2.0.0-beta1 (26 May 2009)
=================================
- Add a quick reference card documentation.
- Add man pages for the main scripts to the documentation.
- Do not compile the code if there is no user file.
- Create a graphical post-processing view of the boundary
- New build system, based on the GNU Autotools.
- Conversion of all the Fortran files (headers included)
form fixed F77 format to free f90 format. A small-case
extension is used so that one can, in the future, skip the
preprocessing stage.
- Change the mesh quality verification behavior. The different
gradient calculation modes are now done in one pass. Thus, only
one option remains for the command line (-q, with no sub-option).
- The kernel is now able to post-process edges for a given
mesh via the PSTEDG subroutine. This functionnality is
thus removed from the preprocessor.
- English translation of many C source files.
- Add cell renumbering capability and re-organize face renumbering.
- SYRTHES coupling upgraded to syr_cs 2.3.0.
- Upgrade checkpoint/restart to allow MPI-IO.
- Several bug fixes and minor improvements (see ChangeLog for details).
Release 1.4.0 (28 Nov. 2008)
============================
Code_Saturne 1.4 is an intermediate development release, very similar to
version 1.3.3 except for the items below:
- Add atmospheric flow modelling for neutral atmosphere flows.
- Always set the head loss tensor to be a full symmetric tensor
in order to ease the setup within the Graphical User Interface
(NCKPDC has been removed and replaced by the constant 6).
- Make the test on the convergence of the gradient reconstruction
method dimensionless if the maximum control volume is greater
than 1 (useful for some atmospheric simulations).
- Remove the forcing to ASCII mode for post-processing when
the calculation is in verification mode.
- Remove the pipe communication mode for SYRTHES coupling.
- Add oxycombustion and fuel classes management.
- Separate preprocessing from partitioning. There is now a single
preprocessor_output file, so that mesh joining does not need to be run again
for a different number of processors.
- Preprocessor output, partitioning, and restart files a now use a common
binary format (independent of the number of processors), which may be
written or read using MPI-IO (not enabled for restart files yet).
- Scripts translation and improvements.
- The reconstruction of the right-hand side has now its own precision
parameter (EPSRSM) instead of using EPSILO.
- Re-write of the algebric multigrid algorithm for the resolution of
the of pressure equation. The algorithm works in serial and parallel,
and is now the default, leading to run-times reduced by a factor or
2 to 3 on average.
- Add wet cooling tower heat exchange specific physics model.
- The size of the work arrays IA and RA is now defined with a Fortran
user file and no more via the scripts, making them independent of
the number of sub-domains in case of a parallel run.
- Simplified the command line option for a parallel runs.
- Several bug fixes and minor improvements (see ChangeLog for details).
Release 1.3.3 (27 Nov 2008)
===========================
- Upgrade dependencies to FVM 0.12.0 and BFT 1.0.8.
- Upgrade SYRTHES to 3.4.2 version (syr_cs 2.1.0). Restarting
from SYRTHES 3.3 is not possible due to incompatible format.
- Add a QUALITY_ASSURANCE file which precises if the current
version of Code_Saturne is validated under EDF quality
assurance.
- Portability updates.
- Add a patch directory in which the user can find
some untested patches fixing tricky issues.
- Updating the halos at the beginning of an outer iteration is now
done on extended halos (reducing error with rotational periodicity).
- Improved mesh and coherency tests.
- Added localization (French or English) to the Code_Saturne Kernel
and translated all scripts to English.
- Several bug fixes (see ChangeLog for details).
Release 1.3.2 (16 Apr 2008)
===========================
- Port to BlueGene/P and Cray XT
- Update FVM API to take into account some particular cases
where two periodicities are not commutative.
- Add a warning when changing the mesh vertices coordinates along
with periodicity, which can break the periodicity parameters.
- Correct distance use at the first time-step when using the k-w SST
model and the old algorithm to compute the wall distance.
- Change the behavior when trying to get a list of cells or faces
with the selector. Revert to the old behavior when the selection
was done through the mesh properties. A warning is issued instead
of an error when the criteria returns an empty selection.
- Move unmaintained macros files to aux/macros_old.
- Make Code_Saturne stop when a Lagrangian calculation is run with the
steady-state algorithm.
- Change the name Syrthes to SYRTHES following the trademark registration.
- Add documentation on faces/cells selection with GETxxx via fvm_selector
- Add comments on steady-state algorithm IDTVAR=-1.
- Add a temporary "tmp_Saturne/$ETUDE.$CAS.$DATE" directory when running
a case in $TMPDIR (when defined by the system) to avoid an issue
with the linux distribution CAELinux
- Complete reorganisation of the theory documentation to follow the template
of the user and tutorial documents
- Variant for Intel compiler on Itanium only, optimizations by BULL.
- Rename the Preprocessor listing from listenv to listpre.
- Portability improvements in scripts.
- Several bug fixes (see ChangeLog for details).
Release 1.3.1 (28 Nov 2007)
===========================
- Storage on preprocessor files in a subdirectory of
the temporary execution directory.
- Added code_Saturne tutorial.
- synchronization with Syrthes only if ITRALE>0 in caltri.F
- creation of erreur_n*** files only for processor 0 and the
processors receiving a segmentation fault or floating point
exception message.
- change of kernel options "couleur" and "groupe" to "color"
and "group" for Syrthes options.
- modification of residue test to detect when conjugate
gradient diverges.
- Several bug fixes (see ChangeLog for details).
Release 1.3.0 (2 Aug 2007)
==========================
Code_Saturne 1.3 is a major (fully validated) production release.
Release 1.3.0 is the feature-freeze release, and versions 1.3.1
and 1.3.2 are validation bug-fix versions. 1.3.3 is the first production
version of Code_Saturne 1.3.
This version of the code is also the first version of Code_Saturne distributed
under a free software (GPL + LGPL) licence.
|