Codebase list code-saturne / debian/3.3.3+svn-1_exp1 NEWS
debian/3.3.3+svn-1_exp1

Tree @debian/3.3.3+svn-1_exp1 (Download .tar.gz)

NEWS @debian/3.3.3+svn-1_exp1raw · history · blame

   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
Release 3.3.3 (19 Dec 2014)
==========================

Bug fixes:
----------

- Fix occasional crash in Lagragian module postprocessing.

- Fix and incorrect info on lost particles in some cases.

- Fix extended neighborhood creation when global number of cells with ghosts
  exceeds 2^31.

- Fix for handling of global numbers > 2**32 in restart.

- Fix in cavitation module.

- Fix crash in parallel MED output.

- Fix indexing bug in ParaMEDMEM coupling.

- Update installer packages.

- Fix postprocessing of boundary temperature.

- Fix crash in builds with OpenMP in loggin in single-thread cases.

- Fix minor memory leaks in GUI reader.

- Fix bug in some electric arcs cases due to uninitialized boundary condition.

- Fix bug in moments restart un case of restart before moment activation.

- Fix uninitialized variables in radiative model.

- Fix reading of mass flux for k in k-epsilon or k-omega when restarting
  from k-epsilon or v2f model.

- Fix logging name of mesh velocity.

- Fix bug due to uninitialized variable in optional Crystal Router algorithm.

- Fix GUI initialization formula for Enthalpy.

- Fix some PyQt API compatibility issues.

- Fix GUI handling of Lagrangian 2 way coupling activation/deactivation.

- Fix GUI handling of Dirichlet BC's for multidimensional fields.

- Fix Crank-Nicolson time scheme for velocity.

- Fix minor bugs detected by Address / Undefined Behavior Sanitizer.

- Fix quadrature weights in DCT020-2468 48-direction DOM radiation model (bug #95).

- Fix bug when both options iphydr=1 and (icorio=1 or iturbo=1) are activated

- Fix possible bugs in array statistics used by logging (listing).

- Fix face viscosity default option of the pressure (harmonic instead of arithmetic).

- Fix for density logging and postprocessing (bug #88).

- Fix memory leak in transient rotor turbomachinery cases.

- Fix crash in Lagrangian restart.

- Fix occasional crash in Lagrangian tracking when deposition model is not active.

- Fix the boundary conditions coefficients for the second pressure correction in
  the fire algorithm (introduced by the fix of the boundary conditions
  coefficients for the first pressure correction).

- Fix for fire algorithm in the computation of the scalar diffusion terms
  (introduced by the boundary convective flux option creation and the
  deployement of the var_cal_opt structure).

- Fix for "code_saturne run" with space in case path (do not enquote twice).

- Fix possible bugs for Lagrangian inlet conditions in parallel.

- Fix memory leaks in Code_Saturne/Code_Saturne coupling.

Documentation
-------------

- Fix example in ushist user subroutine for vector fields.

- Fix bug in user-subroutine defined boundary condition example test
  for ranks with no boundary faces.

Release 3.3.2 (14 Aug 2014)
===========================

Bug fixes:
----------

- Fix restart or structures in case of ALE (bug #85; structures were reinitialized
  after reading rstart data; this could be avoided with user subroutines, but not
  with the GUI).

- Fix initialization of k-omega when the reference velocity is 0.

- Fix cs_user_source_terms.f90 turbulence example.

- Fix incorrect allocation, leading to crash when less than 3 boundary faces are
  present on a given rank (bug #84).

- Fix bug in iswdyn option (introduced by a unwanted merge).

- Fix restart when using AFM or DFM turbulent flux model.

- Fix bug in halo synchronization for ALE with multigrid solver.

- Fix GUI import of volume group names from preprocessor log.

- Fix verbose logging of mesh joining in case of multiple joinings.

- Fix EnSight gold parallel output crash in case of multiple sections of the
  same element type due to splitting of polygons or polyhedra.

- Fix bug in which last probes monitoring file (usually local time step)
  was empty (bug 66).

- Fix bug introduced in velocity boundary conditions (introduced April 2014
  when enabling higher order time schemes).

- Fix possible error in GUI-defined output profile for scalar variables.

- Fix argument inversion for scalar boundary formula on wall, using the GUI.

- Fix deallocation of some boundary arrays if Cressman interpolation in
  atmospheric module.

- Fix deallocation of field values in case a user solver is used.

- Fix bug in the GUI (names instead of labels for the ALE mesh viscosity).

- Fix initial formulas for the fluid characteristics in the mei.

- Fix backward compatibility for thermal initialization in case of several
  volumic initialization zones in the GUI.

- Fix bug in the GUI for atmospheric flows (remove liquid potential temperature
  only if humid atmosphere is chosen).

- Fix run command update in case of option prefix containing "=".

Release 3.3.1 (18 Jun 2014)
===========================

Changes:
--------

- Porosity may now be defined using the GUI (backported from trunk).

Bug fixes:
----------

- Improve handling of user or administrator-defined mpiexec syntax options;
  less user setting cases should be ignored now.

- Allow use of single-reduction conjugate gradient with multigrid solver.

- Fix possible crash due to memory overwrite when no thermal model is active.

- Fix possible initialization-related bug in time moments restart.

- Fix for possible division by zero when computing mesh joining-related quantiles.

- Fix test conditioning the initialization of the anisotropic turbulent viscosity
  (visten).

- Fix indices of B.C. coefficients in case of face porosity in mass flux computation.

- Fix missing private attribute in OpenMP loops in tensorial diffusivity computation.

- Fixed icorrect sum in test for reduction for code/code coupling with nterup > 1.

- Fix in transient rotor/stator due to innapropriate use of cs_fields API and
  field structure upgrade (n_time_vals > 2).

- Fix bug in cavitation switch, which could affect all computations with variable
  density.

- Fix: with no GUI, missing initialization of thermal diffusivity.

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 documention (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 gazeous 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 could 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.