/
NEWS
3078 lines (2155 loc) · 120 KB
/
NEWS
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
Release 5.2.3 (unreleased)
==========================
Bug fixes
---------
- Fix shifted index in imposed pressure outlet (GUI).
- Fix hydrostatic equilibrium option of compressible model.
Hydrostatic pressure contribution at walls was added twice to the right
hand side of the mass balance.
Release 5.2.2 (May 6 2019)
==========================
This is the last release of the 5.2 series.
Bug fixes
---------
- Lagrangian module: fix crash in coal or biomass evolution model.
- Lagrangian module with deposition: fix use of wrong Eulerian
fluid velocity in some terms.
- Fix balance on vectorial work arrays (if no field id is provided) for example
used if dynamic reconstruction algorithm is enabled (iswdyn >= 1).
Internal coupling indicator was used uninitialiazed, blending coefficient
applied after slope test (blend_st) was forced to 0.
- Fix CGNS files with NFACE_n elements and multiple sections.
- Mesh extrusion: various robustness improvements.
- GUI reader: fix for cases with multiple mapped inlets.
- Work around possible Intel icc compiler bug in least-squares vector
gradient (observed on v6.0 with icc 18.0.1 20171018).
- Avoid opening residuals.csv from all ranks.
- Fix for time moment which start is defined by a time value equal or close to
a time step value.
- Fix bug in wall distance initialization for restarts with k-omega SST model.
- Fix memory leaks in parameters check.
- Fix in GUI for gas combustion model. Use variable name instead of label to get
numerical scheme.
- Fix in GUI of turbulence model view initalization by moving out of
turbulence model slot the view initalization code.
- Fix in TVD convective schemes in parallel mode.
- Fix crash when using multiple GUI-defined scalar balance zones.
- Fix memory leak leading to crash in legacy porosity model.
- Lagrangian Module:
* Fix crash in restart when not reading previous statistics.
* Fix errors in deposition/reentrainment model.
* Fix division by 0 in boundary stats.
- Lagrangian Module: fix crash in some cases with no deposition model.
- Fix missing free surface boundary movement in some cases depending on
which pages were visited in the GUI (GitHub issue #27).
- Fix bug in automatic turbulent BCs. They were only set if not already
initialized. Cases calling turbulent_bc_inlet_k_eps in user sources to
overwrite GUI settings were impacted.
- Fix coherency check of slope test indicator with SIMPLE algorithm.
- Compressible: fix density time scheme in transported passive scalar/vector
balance to ensure conservativity with compressible algorithm.
- Avoid error preventing run when checking remaining time using SLURM job array.
- Fixes for parallel runs in sedimentation source term with humid atmosphere
model.
- Fix initialisation of some turbulence constants. Constant/Models concerned:
* sigmae (for all RSM models)
* csrij (EB-RSM model).
- Fix allocation of pmappers to scalar fields in atmospheric aerosols model.
- Fix allocation size for values at injection in case of mass source terms
with coupled Reynolds stress solver.
- GUI: fix missing update of modified scalar names for groundwater flows.
- GUI: fix loss of previous deactivated wall function setting when reopened.
- trackcvg: allow saving state only when data is loaded and loading it when
saved state is present.
- CFDStudy: allow loading studies with no MESH or POST subdirectories.
- Fix improved hydrostatic treatment and PISO-like iterations
(nterup > 1 and iphydr = 1).
- GUI: fix crash on startup on some recent systems.
Release 5.2.1 (Sep 26 2018)
===========================
Bug fixes
---------
- Lagrangian module: fix resuspension when having internal deposition.
- Compressible model: fix inverted arguments for user velocity source terms.
- Fixes to atmospheric chemistry model.
- Fix build on Mac OS X.
- Radiative model: fix GUI-defined BC selection between reflecting wall and
prescribed flux BC for grey/black wall.
- Fix minor memory leak in histogram output.
- GUI: fix various crashes with th PyQt API 2(mostly on systems using PyQt5,
as these default to the concerned API).
- GUI: fixes for addition and handling of coal classes.
- GUI: "rij" (coupled) field must return a NULL pointer for uncoupled RSM
if initilization of turbulent variables is set by formula.
- Fix an uninitialised option (reconstruction flag) if arakawa coef. is 0 and
there is anisotropic diffusion on pressure increment.
- GUI: fix default time stepping type (unsteady) when information missing
from the XML file.
- Fix boundary value optional post-processing for scalars for other
boundary conditions than walls.
- Fix face external force projection with tensorial diffusion
and porous models 1, 2.
This was impacting cases with head losses, improved pressure interpolation,
and scalar or tensorial volume porosity models (iporos=1, 2).
- Fix Python 3 integer divison issues for code-code coupling process count
distribution and batch duration conversions.
- Fix missing handling of isotropic mesh viscosity for ALE restart.
- Fix in severe accident (mass source terms for metal modelling).
- Major Fix: change the computation of the RHS for pressure.
The form is back to the one before a1bed6b "div(rho u* +dt grad P^n)".
Commit a1bed6b could introduced "big" terms if user momentum source
terms were added. The new form takes Rhie & Chow and terms comming from
the improved hydrostatic pressure into account (contrary to the former
form) and also all mass source terms (this part is merged).
- Fix crash in some polygon triangulation cases.
- Fix incorrect GUI-defined DOF locking for coupling with code_aster.
- Fix incorrect access to per-scalar density in some cases.
- Fix error on unconverged linear solver using PETSc.
- Fix in weakly compressible algorithm for scalar diffusion terms when
multiple scalars are present.
- Fix empty mesh in error postprocessing for linear solvers.
- Fix for possible bug in postprocessing edges mesh extraction.
- Fix for OpenMP multigrid-preconditioned Conjugate Gradient convergence issue.
This requires using a flexible variant of the Conjugate Gradient when
using a Gauss-Seidel smoother with multiple threads.
- Fix spurious mapping of previous mass flux with order 1 in time scheme.
- Fix pressure drop by zone computation (gravity term twice multiplied by
density at outlet boundary).
- Lagrangian module: fix particle flow rate per class reporting in listing file
(GitHub issue #4).
- GUI: fix failure to cleanly stop running computations on some
systems (Mantis issue #242).
- Rewrite pressure correction in pressure increment (fix computation of
pressure L2 residual if nterup > 1).
- Fix minor bug in the verification step (wrong format for the error message).
- Fix bug in initialization of the wall condensation model.
- Fix crash in restart using coupled RSM model from non-RSM computation
(issue #252).
- Radiative model: fix radiative flux values at parallel boundaries.
Numerics
--------
- Add choice of inexact (flexible) preconditioned congugate gradient.
* When using multiple threads and multigrid preconditioning with a
Gauss-Seidel smoother, this choice is set by default over the
standard preconditioned congugate gradient.
User changes
------------
- Allow short path 'salome' for hdf5, cgns, med in installation script.
Release 5.2.0 (March 30 2018)
=============================
Physical modelling
------------------
- Atmospheric model: add new BCs for open-boundary flow such as atmospheric
flows. It consists in changing the solved pressure. This change result
in adding a (constant over space) momentum source terme. This momentum
source term is designed to reach a target bulk momentum.
The solved pressure has a zero Dirichlet as BC in case of constant
density. In case of dry atmosphere, an hydrostatic pressure is
pre-computed and imposed as BC.
- Turbomachinery module:
* Improved legacy coupling-based turbomachinery option, frozen rotor
is now also possible.
* Allow time-varying rotor velocity for turbomachinery.
* Account for Smirnov and Menter (ASME, 2009) modifications of Spalart-Shur eddy
viscosity correction for rotation and curvature
- Add internal coupling for vector quantities (e.g. for plasma - weldpool monolitic
coupling)
- Make compatible Volume Of Fluid algorithm and option iphydr, improving face
pressure interpolation by taking into account hydrostatic pressure gradient.
Numerics
--------
- Add the possibility to put buoyant scalars and density update in
velocity-pressure loop.
- Integration of a vector Laplacian for CDO-Fb schemes
User changes
------------
- Allow stopping at a given wall-clock time using the control_file.
- The GUI enforces the 'runcase' name for the script. This allows more robust
handling of the runcase/XML file link, as one of the 2 names is fixed.
- Mesh-joing based turbomachinery model robustness is also improved by
allowing multiple joining retries using a slightly perturbed position.
- Refactored extrusion handling to allow easier and finer control of extrusion
vector generation.
* a cs_mesh_extrude_face_info_t structure allows simple settings for each
boundary face, including number of layers, thickness, and expansion factor,
and optionally a start and end thickness. Utility functions allow
"per zone" settings.
* a cs_mesh_extrude_vectors_t structure defining local extrusion vectors,
which is built automatically based on the face settings but can be
modified by the user.
- Added boundary layer insertion at selected faces, using a mesh deformation
(CDO vertex-based), followed by boundary layer extrusion.
- MEDCoupling: improve detection and add MEDLoader support. This allows e.g.
to use MED for interpolating from one mesh to another.
Architectural changes
---------------------
- Add Support for reading CGNS files with NFACE_n elements.
- Partly unify boundary and volume zones, renaming the n_faces/n_cells
members to n_elts and face_ids/cell_ids to elt_ids.
- Complete cs_all_to_all API to handle indexed cases.
- Use matrix assembler instead of matrix extension function for
internal coupling, to allow for a broader range of linear system
solvers and preconditionners.
- Add "Melissa" type writers for coupling with in-situ statistics
Melissa server.
- Generate MEI parser/scanner upon bootstrap. This assumes Bison and Flex are
available (but previous generated files are kept otherwise), and reduces
dependencies for configure and build.
- CFD_Study: translate from Python2 to 3.
Release 5.1.0 (October 10 2017)
===============================
Physical modelling
------------------
- Turbulence: add DDES tubulence model
* Activated using k-w SST model (iturb = 60) with keyword IDDES = 1
* Hybrid Numerical scheme CD/SOLU can be activated with ISCHCV = 3
- Atmospheric model: add an atmostpheric infra-red absorption feature.
Based on L. Makke PhD work.
Numerics
--------
- Atmospheric model: added partial radiative transfer properties model.
- Make supersonic outlet boundary condition implicit (compressible module).
- Added fallback mechanism to allow less stable but faster Krylov solvers
(such as BiCGstab) to switch temporarily to GMRES in case of
convergence error.
- Switch from Jacobi to processor-local symmetric Gauss-Seidel as default
linear solver type for non-symmetric systems.
- Simplify selection of local symmetric Gauss-Seidel linear solver variant.
- Make vectorial and tensorial slope tests invariant by rotation and
identical for all components (previous version available for the
velocity with isstpc = -1 in var_cal_opt structure).
- Add an option to blend with upwind when the slope test is activated. The
key word is blend_st in var_cal_opt structure.
Default option changes
----------------------
- Make coupled solving for DRSM turbulence models default option.
- Make prediction of mass fluxes before momentum solving optionnal. This
impact variable density algorithm (idilat>=2).
- Make advanced turbulence inititalisation for k-omega, Bl-v2/k and
EBRSM turbulence models default option.
- Slope test on vector (and tensor) is now invariant by rotation by default
User changes
------------
- Change low-level handling of mesh extrusion to allow easier fine
control and prepare for boundary layer insertion.
- When importing CGNS files and requiring additional groups for mesh
sections or zones, do not try to build boundary face groups based
on vertex boundary conditions.
- Disable cases instead of exiting when a run directory check fails in
studymanager.
- Separate compilation test and repository update features and add tags
feature to studymanager:
* --test-compilation or -t to test compilation for all cases
* --update or -u to update GUI parameter files and set paths in scripts
SaturneGui and runcase
* --update-xml or -x to update GUI parameter files only
* --with-tags to only process runs with all passed tags
* --without-tags to exclude runs with one of the passed tags.
- Legacy coupling-based transient turbomachinery option is now defined in a
manner similar to join-based coupling, simply replacing simply the joining
by an internal coupling. Coupling is internal to a code instance, requiring
a single data setup, and switching from a joining to a coupling-based
scheme is now easy.
- Changes in Lagrangian module boundary and injection definitions.
* renamed boundary particle classes to sets to avoid confusion with
statistical classes.
* some API changes in user functions; the cs_user_lagr_new_p_attr function
is removed in favor of the more general cs_user_lagr_in.
* boundary zones are now based on the general zones, as defined using the
GUI or cs_user_zones.c.
* definition of boundary injections is now more streamlined. Complex coal
(non-raw) coal definitions, which were little tested, can be done using
cs_user_lagr_in.
* mesh-based profiles (injection rate) may be defined using user functions.
* volume injections may now be done using the same mechanism.
- Removed handling of VTK-based scalar slice outputs in studymanager;
graphical files may now be included, and using Catalyst to produce
images is recommended.
- Removed "interp1d" (1d-D interpolation) option from MEI (Mathematical
Expresion Interpreter) syntax, as it was poorly documented and
added complexity; a more general interpolation framework, usable also
from user functions, is planned for the future.
- Add option for postprocessing output of linear solver residuals.
Architectural changes
---------------------
- Add "histogram" type writers for easy output of variable histograms.
Options include text, TixZ, or PNG (when Catalyst support is available).
- When coupling with Syrthes, source Syrthes library path changes only locally.
- Improve Catalyst environment handling for better automation with SALOME.
- Default to PyQt5 instead of PyQt4 when both are available.
- Remove support for restart files older than version 4.0.
Bug fixes
---------
- Fix broken path in update feature of studymanager.
- Fix possible crash or error when computing wall distance for 2D
(single cell layer) meshes.
- Lagrangian module: fix characteristic time using temperature.
- Fix for issue #236 (crash on restart using periodicity).
- Fix for idilat>3 algo. and isstpp>1 (beta or NVD/TVD limiters) compatibility.
Release 5.0.0 (June 2 2017)
===========================
User changes
------------
- Allow user definitions of head losses by zones (see cs_user_head_losses.c).
- Do not relax k and epsilon by default when using Bl v2 k turbulence model.
- When inserting boundaries (shuch as thin walls), vertices are now separated
on each side of those boundaries, for a true topological mesh modification.
cs_user_mesh_thinwall is also renamed to cs_user_mesh_boundary.
Numerics
--------
- Improve time stepping of the coupled solver for the components of Reynolds
stress tensor (irijco = 1).
* No clipping on Rij should appear when no flux rectonstruction is needed and
an upwind scheme is used (except those due to boundary conditions on R12).
* Add eigen_max function to cs_math.c
* EBRSM and SSG models are treated.
* Add a clipping indicator which can be activated to check where clipping
occurs in the output files
- Add and reorganize convection schemes (especially for VOF method)
* reorganize Roe-Sweby limiters.
* add Compressive convection schemes for accurate modeling of free surface
with VOF method.
- Add a conservative gradient reconstructed with least squares gradient for
vectors and scalars, in place of iterative gradient initialized by least
squares gradient (imrgra=4,5,6).
- Add a cooling towers module to simulate exchange zones.
- Add a convection-diffusion equation solver for additional vector variables.
Physical modelling
------------------
- Add a Volume Of Fluid algorithm:
* partly merge cavitation algorithm with VOF algorithm.
- Add data assimilation feature to atmospheric module
(optimal interpolation and nudging):
* copy LU utilities to cs_math and keep static inline version of them
in cs_sles_it
* an optimal interpolation structure is created
* interpol grid and measures set structures are used as well
* multidimensional analysis are computed for multidimensional variables.
- Modification of the LES dynamic Smagorinsky clippings.
- Add internal coupling for scalars of two domains (for instance temperature
between solid and liquid, or enthalpy for electric arcs between plasma and
weldpool).
- Add sorption model treating non-equilibrium between solid and liquid phases
to the ground water flow module.
- Lagrangian module:
* add deposition and resuspension models on internal faces.
The user can the impose the motion of deposited particles. If integral
approach for porous modelling is set up (iporos=3), then the internal fluid
section is reduced by particle deposition.
* injection is now pseudo-continuous when injecting at every time step.
To revert to the previous behavior, the CS_LAGR_RESIDENCE_TIME value
must be set to 0 for newly injected particles.
* 2 new attributes, CS_LAGR_TR_TRUNCATE and CS_LAGR_TR_REPOSITION, may
be used to visualize particles with trajectory errors, rather than
remove them. Particles are now only removed when "completely lost",
which should never happen.
GUI changes
-----------
- Add handling of multiple compute builds through the GUI.
- Add mesh extrusion capability to the GUI.
- Add a notebook to add global variables to be used in the GUI (such as variables
in the physical laws).
- Add fans modelling (represented as momentum source terms) in the GUI.
- Add "mapped inlet" boundary condition (for recycled inlets) in the GUI.
- Add "imposed pressure" outlet boundary condition in the GUI.
- Add the verbosity mode for transported variables.
- Add "iterative process error estimators" in the GUI in "Volume solution contol".
pannel.
- Add automatic transported scalar balance by zone and pressure drop by zone
in the GUI.
- Physical properties files for the electric modules now use a fixed name,
and are not handled by the GUI. If a local file is not present, the reference
file will be used.
Architectural changes
---------------------
- Renamed Autovnv to studymanager.
- Remove dependency to Qt of GUI XMLengine.Case class, used by studymanager.
This dependency was introduced in version 3.0.
- Paths needed for Catalyst are now sourced automatically in most cases;
for movable builds, a CATALYST_ROOT_DIR environment variable may be used.
- Added general structures to handle boundary and volume zones.
- Extended run staging and submission to coupled cases. Temporary status file
is now in execution ad not scripts directory.
- 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)
- Add functions for definition of mesh groups during mesh preprocessing.
* moved most group handling functions to cs_mesh_group.*.
- Replaced icond keyword by icondb, icondv to allow to enable wall condensation
and condensation on internals at the same time.
- Probes output activation is now based on field "post_vis" keyword, and does
not allow fine-grained per-variable probes selection anymore (this being little-used,
and feasible through use of additional probe sets).
- Prepared for cs_user_extra_op and cs_user_parameters translation to C in VnV base:
* removed Fortran arrays corresponding to members of cs_var_cal_opt_t C structure
* deployed use of get/set var_cal_opt everywhere
* added cs_post_util functions (rij post-pro for EVM models on a subset of cells)
* moved izfppp to C (cs_glob_face_zone) and map Fortran izfppp to it
* added a cs_user_output function in cs_user_parameters.c (usipes equ.)
* added a gas mix model structure in C
- Removed all the remaining mappings between fields and propce array:
* removed propce arrays
* removed ipproc array
* removed nproce
* removed iprpfl indirection array between field indices and properties
numbers; iprpfl is kept for compatibility but is just an identity
function (hence still known in user subroutines);
* irom, iviscl, etc.. are now directly field indices (hence starting from 0)
* test on variability of specific heat (icp), isochoric specific heat (icv)
and volumetric viscosity (iviscv) are consequently shifted of 1
(-1 : uniform field, >=0: non uniform)
* renamed _owner utility subroutines
* renamed most used add_property_field into add_property_field_1d
* mesh viscosity now a 3-dimensional field when strictly orthotropic
* removed iroma, ivisla, ivista, icpa variables; previous values of these
fields now accessed by field_get_val_prev subroutine.
- Removed global_row number from matrix structures, as it was never used,
and could cause confusion with global ids such as those used with
range sets (which are realy used in some cases).
- Added range set structure, to ease operations related to handling of an
owning rank for distributed entities.
- Added matrix assembler structure, to allow more general assembly of
matrices, especially in parallel cases with rows matching elements
shared on ranks (needed for parallelization of CDO operators).
- Refactored parallel numbering for space-filling curves and added
a numbering generation based on a 1D series of real values.
Bug fixes
---------
- Fix missing reading and writing of mass fluxes in checkpoint/restart.
- Allow mesh joining when no vertices are modified.
- Allow use of Modak absorption using the GUI for gas combustion.
- Fix turbulent exchange coefficient of condensation in case of forced
convection (the wall function computes Sch*y+/Y+ and not y+/Y+).
- Fix Neumann boundary condition for vectors with anisotropic diffusion.
A priori, could be used only if the thermal turbulent flux was solved.
- Fix initialisation of flux and divergence boundary coefficients for coupled
vector variables (field with dim=3).
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)