9.2
general documentation
cs_cdo_advection.h
Go to the documentation of this file.
1#ifndef CS_CDO_ADVECTION_H
2#define CS_CDO_ADVECTION_H
3
4/*============================================================================
5 * Build discrete convection operators for CDO schemes
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2026 EDF S.A.
12
13 This program is free software; you can redistribute it and/or modify it under
14 the terms of the GNU General Public License as published by the Free Software
15 Foundation; either version 2 of the License, or (at your option) any later
16 version.
17
18 This program is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21 details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25 Street, Fifth Floor, Boston, MA 02110-1301, USA.
26*/
27
28/*----------------------------------------------------------------------------*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
35#include "cdo/cs_cdo_connect.h"
36#include "cdo/cs_cdo_local.h"
39#include "cdo/cs_property.h"
40
41/*============================================================================
42 * Macro definitions
43 *============================================================================*/
44
45/*============================================================================
46 * Type definitions
47 *============================================================================*/
48
49/* ---------------------------------------------------------------------------
50 * Function pointers for CDO face-based schemes
51 * -------------------------------------------------------------------------- */
52
53/*----------------------------------------------------------------------------*/
64/*----------------------------------------------------------------------------*/
65
66typedef void
68 const cs_cell_mesh_t *cm,
69 const cs_cell_sys_t *csys,
70 void *input,
72
73/*----------------------------------------------------------------------------*/
85/*----------------------------------------------------------------------------*/
86
87typedef void
88(cs_cdofb_adv_scheme_t)(int dim,
89 const cs_cell_mesh_t *cm,
90 const cs_cell_sys_t *csys,
92 cs_sdm_t *adv);
93
94/*----------------------------------------------------------------------------*/
110/*----------------------------------------------------------------------------*/
111
113 const cs_cell_mesh_t *cm,
114 const cs_cell_sys_t *csys,
115 const cs_property_data_t *diff_pty,
116 cs_cdofb_adv_scheme_t *scheme_func,
118
119/*----------------------------------------------------------------------------*/
130/*----------------------------------------------------------------------------*/
131
132typedef void
134 const cs_cell_mesh_t *cm,
135 cs_cell_sys_t *csys,
137 cs_sdm_t *adv);
138
139/* ---------------------------------------------------------------------------
140 * Function pointers for CDO vertex-based schemes
141 * -------------------------------------------------------------------------- */
142
143/*----------------------------------------------------------------------------*/
155/*----------------------------------------------------------------------------*/
156
157typedef void
159 const cs_cell_mesh_t *cm,
160 const cs_property_data_t *diff_pty,
163
164/*----------------------------------------------------------------------------*/
176/*----------------------------------------------------------------------------*/
177
178typedef void
180 const cs_equation_param_t *eqp,
181 cs_real_t t_eval,
184 cs_cell_sys_t *csys);
185
186/*============================================================================
187 * Global variables
188 *============================================================================*/
189
190/*============================================================================
191 * Public function prototypes
192 *============================================================================*/
193
194/*----------------------------------------------------------------------------*/
195/*
196 * \brief Perform preprocessing such as the computation of the advection flux
197 * at the expected location in order to be able to build the advection
198 * matrix. Follow the prototype given by cs_cdofb_adv_open_hook_t
199 * Default case.
200 *
201 * \param[in] eqp pointer to a cs_equation_param_t structure
202 * \param[in] cm pointer to a cs_cell_mesh_t structure
203 * \param[in] csys pointer to a cs_cell_sys_t structure
204 * \param[in, out] input null or pointer to a structure cast on-the-fly
205 * \param[in, out] cb pointer to a cs_cell_builder_t structure
206 */
207/*----------------------------------------------------------------------------*/
208
209void
211 const cs_cell_mesh_t *cm,
212 const cs_cell_sys_t *csys,
213 void *input,
215
216/*----------------------------------------------------------------------------*/
217/*
218 * \brief Operation done after the matrix related to the advection term has
219 * been defined.
220 * Follow the prototype given by cs_cdofb_adv_close_hook_t
221 * Default scalar-valued case.
222 *
223 * \param[in] eqp pointer to a cs_equation_param_t structure
224 * \param[in] cm pointer to a cs_cell_mesh_t structure
225 * \param[in, out] csys pointer to a cs_cell_sys_t structure
226 * \param[in, out] cb pointer to a cs_cell_builder_t structure
227 * \param[in, out] adv pointer to the local advection matrix
228 */
229/*----------------------------------------------------------------------------*/
230
231void
233 const cs_cell_mesh_t *cm,
234 cs_cell_sys_t *csys,
236 cs_sdm_t *adv);
237
238/*----------------------------------------------------------------------------*/
239/*
240 * \brief Operation done after the matrix related to the advection term has
241 * been defined.
242 * Follow the prototype given by cs_cdofb_adv_close_hook_t
243 * Default vector-valued case.
244 *
245 * \param[in] eqp pointer to a cs_equation_param_t structure
246 * \param[in] cm pointer to a cs_cell_mesh_t structure
247 * \param[in, out] csys pointer to a cs_cell_sys_t structure
248 * \param[in, out] cb pointer to a cs_cell_builder_t structure
249 * \param[in, out] adv pointer to the local advection matrix
250 */
251/*----------------------------------------------------------------------------*/
252
253void
255 const cs_cell_mesh_t *cm,
256 cs_cell_sys_t *csys,
258 cs_sdm_t *adv);
259
260/*----------------------------------------------------------------------------*/
261/*
262 * \brief Operation done after the matrix related to the advection term has
263 * been defined.
264 * Follow the prototype given by cs_cdofb_adv_close_hook_t
265 * Explicit treatment without extrapolation for scalar-valued DoFs.
266 *
267 * \param[in] eqp pointer to a cs_equation_param_t structure
268 * \param[in] cm pointer to a cs_cell_mesh_t structure
269 * \param[in, out] csys pointer to a cs_cell_sys_t structure
270 * \param[in, out] cb pointer to a cs_cell_builder_t structure
271 * \param[in, out] adv pointer to the local advection matrix
272 */
273/*----------------------------------------------------------------------------*/
274
275void
277 const cs_cell_mesh_t *cm,
278 cs_cell_sys_t *csys,
280 cs_sdm_t *adv);
281
282/*----------------------------------------------------------------------------*/
283/*
284 * \brief Operation done after the matrix related to the advection term has
285 * been defined.
286 * Follow the prototype given by cs_cdofb_adv_close_hook_t
287 * Explicit treatment without extrapolation for vector-valued DoFs.
288 *
289 * \param[in] eqp pointer to a cs_equation_param_t structure
290 * \param[in] cm pointer to a cs_cell_mesh_t structure
291 * \param[in, out] csys pointer to a cs_cell_sys_t structure
292 * \param[in, out] cb pointer to a cs_cell_builder_t structure
293 * \param[in, out] adv pointer to the local advection matrix
294 */
295/*----------------------------------------------------------------------------*/
296
297void
299 const cs_cell_mesh_t *cm,
300 cs_cell_sys_t *csys,
302 cs_sdm_t *adv);
303
304/*----------------------------------------------------------------------------*/
305/*
306 * \brief Main function to build the cellwise advection operator for CDO-Fb
307 * schemes The local matrix related to this operator is stored in
308 * cb->loc
309 *
310 * Case of an advection term without a diffusion operator. In this
311 * situation, a numerical issue may arise if an internal or a border
312 * face is such that there is no advective flux. A special treatment
313 * is performed to tackle this issue.
314 *
315 * \param[in] eqp pointer to a cs_equation_param_t structure
316 * \param[in] cm pointer to a cs_cell_mesh_t structure
317 * \param[in] csys pointer to a cs_cell_sys_t structure
318 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
319 * \param[in] scheme_func pointer to the function building the system
320 * \param[in, out] cb pointer to a cs_cell_builder_t structure
321 */
322/*----------------------------------------------------------------------------*/
323
324void
326 const cs_cell_mesh_t *cm,
327 const cs_cell_sys_t *csys,
328 const cs_property_data_t *diff_pty,
329 cs_cdofb_adv_scheme_t *scheme_func,
331
332/*----------------------------------------------------------------------------*/
333/*
334 * \brief Main function to build the cellwise advection operator for CDO
335 * face-based schemes.
336 * The local matrix related to this operator is stored in cb->loc
337 *
338 * One assumes that a diffusion term is present so that there is no
339 * need to perform additional checkings on the well-posedness of the
340 * operator.
341 *
342 * \param[in] eqp pointer to a cs_equation_param_t structure
343 * \param[in] cm pointer to a cs_cell_mesh_t structure
344 * \param[in] csys pointer to a cs_cell_sys_t structure
345 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
346 * \param[in] scheme_func pointer to the function building the system
347 * \param[in, out] cb pointer to a cs_cell_builder_t structure
348 */
349/*----------------------------------------------------------------------------*/
350
351void
353 const cs_cell_mesh_t *cm,
354 const cs_cell_sys_t *csys,
355 const cs_property_data_t *diff_pty,
356 cs_cdofb_adv_scheme_t *scheme_func,
358
359/*----------------------------------------------------------------------------*/
360/*
361 * \brief Compute the convection operator attached to a cell with a CDO
362 * face-based scheme
363 * - non-conservative formulation \f$ \vec{beta} \cdot \nabla \f$
364 * - upwind scheme
365 * Rely on the work performed during R. Milani's PhD
366 *
367 * A scalar-valued version is built. Only the enforcement of the
368 * boundary condition depends on the variable dimension.
369 * Remark: Usually the local matrix called hereafter adv is stored
370 * in cb->loc
371 *
372 * \param[in] dim dimension of the variable (1 or 3)
373 * \param[in] cm pointer to a cs_cell_mesh_t structure
374 * \param[in] csys pointer to a cs_cell_sys_t structure
375 * \param[in] cb pointer to a cs_cell_builder_t structure
376 * \param[in, out] adv pointer to a local matrix to build
377 */
378/*----------------------------------------------------------------------------*/
379
380void
382 const cs_cell_mesh_t *cm,
383 const cs_cell_sys_t *csys,
385 cs_sdm_t *adv);
386
387/*----------------------------------------------------------------------------*/
388/*
389 * \brief Compute the convection operator attached to a cell with a CDO
390 * face-based scheme
391 * - conservative formulation \f$ \nabla\cdot(\beta ) \f$
392 * - upwind scheme
393 * Rely on the work performed during R. Milani's PhD
394 *
395 * A scalar-valued version is built. Only the enforcement of the
396 * boundary condition depends on the variable dimension.
397 * Remark: Usually the local matrix called hereafter adv is stored
398 * in cb->loc
399 *
400 * \param[in] dim dimension of the variable (1 or 3)
401 * \param[in] cm pointer to a cs_cell_mesh_t structure
402 * \param[in] csys pointer to a cs_cell_sys_t structure
403 * \param[in] cb pointer to a cs_cell_builder_t structure
404 * \param[in, out] adv pointer to a local matrix to build
405 */
406/*----------------------------------------------------------------------------*/
407
408void
410 const cs_cell_mesh_t *cm,
411 const cs_cell_sys_t *csys,
413 cs_sdm_t *adv);
414
415/*----------------------------------------------------------------------------*/
416/*
417 * \brief Compute the convection operator attached to a cell with a CDO
418 * face-based scheme
419 * - non-conservative formulation \f$ \vec{beta} \cdot \nabla \f$
420 * - upwind scheme
421 * Rely on the work performed during R. Milani's PhD
422 *
423 * A scalar-valued version is built. Only the enforcement of the
424 * boundary condition depends on the variable dimension.
425 * Remark: Usually the local matrix called hereafter adv is stored
426 * in cb->loc
427 *
428 * \param[in] dim dimension of the variable (1 or 3)
429 * \param[in] cm pointer to a cs_cell_mesh_t structure
430 * \param[in] csys pointer to a cs_cell_sys_t structure
431 * \param[in] cb pointer to a cs_cell_builder_t structure
432 * \param[in, out] adv pointer to a local matrix to build
433 */
434/*----------------------------------------------------------------------------*/
435
436void
438 const cs_cell_mesh_t *cm,
439 const cs_cell_sys_t *csys,
441 cs_sdm_t *adv);
442
443/*----------------------------------------------------------------------------*/
444/*
445 * \brief Compute the convection operator attached to a cell with a CDO
446 * face-based scheme
447 * - conservative formulation \f$ \nabla\cdot(\beta ) \f$
448 * - upwind scheme
449 * Rely on the work performed during R. Milani's PhD
450 *
451 * A scalar-valued version is built. Only the enforcement of the
452 * boundary condition depends on the variable dimension.
453 * Remark: Usually the local matrix called hereafter adv is stored
454 * in cb->loc
455 *
456 * \param[in] dim dimension of the variable (1 or 3)
457 * \param[in] cm pointer to a cs_cell_mesh_t structure
458 * \param[in] csys pointer to a cs_cell_sys_t structure
459 * \param[in] cb pointer to a cs_cell_builder_t structure
460 * \param[in, out] adv pointer to a local matrix to build
461 */
462/*----------------------------------------------------------------------------*/
463
464void
466 const cs_cell_mesh_t *cm,
467 const cs_cell_sys_t *csys,
469 cs_sdm_t *adv);
470
471/*----------------------------------------------------------------------------*/
472/*
473 * \brief Compute the convection operator attached to a cell with a CDO
474 * face-based scheme
475 * - non-conservative formulation beta.grad
476 * - centered scheme
477 * Rely on the work performed during R. Milani's PhD
478 *
479 * A scalar-valued version is built. Only the enforcement of the
480 * boundary condition depends on the variable dimension.
481 * Remark: Usually the local matrix called hereafter adv is stored
482 * in cb->loc
483 *
484 * \param[in] dim dimension of the variable (1 or 3)
485 * \param[in] cm pointer to a cs_cell_mesh_t structure
486 * \param[in] csys pointer to a cs_cell_sys_t structure
487 * \param[in] cb pointer to a cs_cell_builder_t structure
488 * \param[in, out] adv pointer to a local matrix to build
489 */
490/*----------------------------------------------------------------------------*/
491
492void
494 const cs_cell_mesh_t *cm,
495 const cs_cell_sys_t *csys,
497 cs_sdm_t *adv);
498
499/*----------------------------------------------------------------------------*/
500/*
501 * \brief Compute the convection operator attached to a cell with a CDO
502 * face-based scheme
503 * - conservative formulation div(beta )
504 * - centered scheme
505 * Rely on the work performed during R. Milani's PhD
506 *
507 * A scalar-valued version is built. Only the enforcement of the
508 * boundary condition depends on the variable dimension.
509 * Remark: Usually the local matrix called hereafter adv is stored
510 * in cb->loc
511 *
512 * \param[in] dim dimension of the variable (1 or 3)
513 * \param[in] cm pointer to a cs_cell_mesh_t structure
514 * \param[in] csys pointer to a cs_cell_sys_t structure
515 * \param[in] cb pointer to a cs_cell_builder_t structure
516 * \param[in, out] adv pointer to a local matrix to build
517 */
518/*----------------------------------------------------------------------------*/
519
520void
522 const cs_cell_mesh_t *cm,
523 const cs_cell_sys_t *csys,
525 cs_sdm_t *adv);
526
527/*----------------------------------------------------------------------------*/
528/*
529 * \brief Compute the convection operator attached to a cell with a CDO
530 * face-based scheme
531 * - non-conservative formulation beta.grad
532 * - L0 scheme
533 * Rely on the work performed during R. Milani's PhD
534 *
535 * A scalar-valued version is built. Only the enforcement of the
536 * boundary condition depends on the variable dimension.
537 * Remark: Usually the local matrix called hereafter adv is stored
538 * in cb->loc
539 *
540 * \param[in] dim dimension of the variable (1 or 3)
541 * \param[in] cm pointer to a cs_cell_mesh_t structure
542 * \param[in] csys pointer to a cs_cell_sys_t structure
543 * \param[in] cb pointer to a cs_cell_builder_t structure
544 * \param[in, out] adv pointer to a local matrix to build
545 */
546/*----------------------------------------------------------------------------*/
547
548void
550 const cs_cell_mesh_t *cm,
551 const cs_cell_sys_t *csys,
553 cs_sdm_t *adv);
554
555/*----------------------------------------------------------------------------*/
556/*
557 * \brief Compute the convection operator attached to a cell with a CDO
558 * face-based scheme
559 * - conservative formulation div(beta )
560 * - L0 scheme
561 * Rely on the work performed during R. Milani's PhD
562 *
563 * A scalar-valued version is built. Only the enforcement of the
564 * boundary condition depends on the variable dimension.
565 * Remark: Usually the local matrix called hereafter adv is stored
566 * in cb->loc
567 *
568 * \param[in] dim dimension of the variable (1 or 3)
569 * \param[in] cm pointer to a cs_cell_mesh_t structure
570 * \param[in] csys pointer to a cs_cell_sys_t structure
571 * \param[in] cb pointer to a cs_cell_builder_t structure
572 * \param[in, out] adv pointer to a local matrix to build
573 */
574/*----------------------------------------------------------------------------*/
575
576void
578 const cs_cell_mesh_t *cm,
579 const cs_cell_sys_t *csys,
581 cs_sdm_t *adv);
582
583/*----------------------------------------------------------------------------*/
584/*
585 * \brief Compute the convection operator attached to a cell with a CDO
586 * face-based scheme
587 * - non-conservative formulation beta.grad
588 * - centered scheme (new)
589 *
590 * A scalar-valued version is built. Only the enforcement of the
591 * boundary condition depends on the variable dimension.
592 * Remark: Usually the local matrix called hereafter adv is stored
593 * in cb->loc
594 *
595 * \param[in] dim dimension of the variable (1 or 3)
596 * \param[in] cm pointer to a cs_cell_mesh_t structure
597 * \param[in] csys pointer to a cs_cell_sys_t structure
598 * \param[in] cb pointer to a cs_cell_builder_t structure
599 * \param[in, out] adv pointer to a local matrix to build
600 */
601/*----------------------------------------------------------------------------*/
602
603void
605 const cs_cell_mesh_t *cm,
606 const cs_cell_sys_t *csys,
608 cs_sdm_t *adv);
609
610/*----------------------------------------------------------------------------*/
611/*
612 * \brief Compute the convection operator attached to a cell with a CDO
613 * face-based scheme
614 * - conservative formulation div(beta )
615 * - centered scheme
616 * Rely on the work performed during R. Milani's PhD
617 *
618 * A scalar-valued version is built. Only the enforcement of the
619 * boundary condition depends on the variable dimension.
620 * Remark: Usually the local matrix called hereafter adv is stored
621 * in cb->loc
622 *
623 * \param[in] dim dimension of the variable (1 or 3)
624 * \param[in] cm pointer to a cs_cell_mesh_t structure
625 * \param[in] csys pointer to a cs_cell_sys_t structure
626 * \param[in] cb pointer to a cs_cell_builder_t structure
627 * \param[in, out] adv pointer to a local matrix to build
628 */
629/*----------------------------------------------------------------------------*/
630
631void
633 const cs_cell_mesh_t *cm,
634 const cs_cell_sys_t *csys,
636 cs_sdm_t *adv);
637
638/*----------------------------------------------------------------------------*/
639/*
640 * \brief Compute the convection operator attached to a cell with a CDO
641 * face-based scheme
642 * - conservative formulation \f$ \nabla\cdot(\beta ) \f$
643 * - hybrid centred-upwind scheme
644 * Rely on the work performed during R. Milani's PhD
645 *
646 * A scalar-valued version is built. Only the enforcement of the
647 * boundary condition depends on the variable dimension.
648 * Remark: Usually the local matrix called hereafter adv is stored
649 * in cb->loc
650 *
651 * \param[in] dim dimension of the variable (1 or 3)
652 * \param[in] cm pointer to a cs_cell_mesh_t structure
653 * \param[in] csys pointer to a cs_cell_sys_t structure
654 * \param[in] cb pointer to a cs_cell_builder_t structure
655 * \param[in, out] adv pointer to a local matrix to build
656 */
657/*----------------------------------------------------------------------------*/
658
659void
661 const cs_cell_mesh_t *cm,
662 const cs_cell_sys_t *csys,
664 cs_sdm_t *adv);
665
666/*----------------------------------------------------------------------------*/
667/*
668 * \brief Compute the convection operator attached to a cell with a CDO
669 * face-based scheme
670 * - non-conservative formulation \f$ \nabla\cdot(\beta ) \f$
671 * - hybrid centred-upwind scheme
672 * Rely on the work performed during R. Milani's PhD
673 *
674 * A scalar-valued version is built. Only the enforcement of the
675 * boundary condition depends on the variable dimension.
676 * Remark: Usually the local matrix called hereafter adv is stored
677 * in cb->loc
678 *
679 * \param[in] dim dimension of the variable (1 or 3)
680 * \param[in] cm pointer to a cs_cell_mesh_t structure
681 * \param[in] csys pointer to a cs_cell_sys_t structure
682 * \param[in] cb pointer to a cs_cell_builder_t structure
683 * \param[in, out] adv pointer to a local matrix to build
684 */
685/*----------------------------------------------------------------------------*/
686
687void
689 const cs_cell_mesh_t *cm,
690 const cs_cell_sys_t *csys,
692 cs_sdm_t *adv);
693
694/*----------------------------------------------------------------------------*/
695/*
696 * \brief Compute the convection operator attached to a cell with a CDO
697 * face-based scheme
698 * - conservative formulation \f$ \nabla\cdot(\beta ) \f$
699 * - SOLU scheme
700 *
701 * A scalar-valued version is built. Only the enforcement of the
702 * boundary condition depends on the variable dimension.
703 * Remark: Usually the local matrix called hereafter adv is stored
704 * in cb->loc
705 *
706 * \param[in] dim dimension of the variable (1 or 3)
707 * \param[in] cm pointer to a cs_cell_mesh_t structure
708 * \param[in] csys pointer to a cs_cell_sys_t structure
709 * \param[in] cb pointer to a cs_cell_builder_t structure
710 * \param[in, out] adv pointer to a local matrix to build
711 */
712/*----------------------------------------------------------------------------*/
713
714void
716 const cs_cell_mesh_t *cm,
717 const cs_cell_sys_t *csys,
719 cs_sdm_t *adv);
720
721/*----------------------------------------------------------------------------*/
722/*
723 * \brief Compute the convection operator attached to a cell with a CDO
724 * face-based scheme
725 * - non-conservative formulation \f$ \nabla\cdot(\beta ) \f$
726 * - SOLU scheme
727 *
728 * A scalar-valued version is built. Only the enforcement of the
729 * boundary condition depends on the variable dimension.
730 * Remark: Usually the local matrix called hereafter adv is stored
731 * in cb->loc
732 *
733 * \param[in] dim dimension of the variable (1 or 3)
734 * \param[in] cm pointer to a cs_cell_mesh_t structure
735 * \param[in] csys pointer to a cs_cell_sys_t structure
736 * \param[in] cb pointer to a cs_cell_builder_t structure
737 * \param[in, out] adv pointer to a local matrix to build
738 */
739/*----------------------------------------------------------------------------*/
740
741void
743 const cs_cell_mesh_t *cm,
744 const cs_cell_sys_t *csys,
746 cs_sdm_t *adv);
747
748/*----------------------------------------------------------------------------*/
749/*
750 * \brief Compute the convection operator attached to a cell with a CDO
751 * face-based scheme
752 * - conservative formulation \f$ \nabla\cdot(\beta ) \f$
753 * - SOLU (symetric) scheme
754 *
755 * A scalar-valued version is built. Only the enforcement of the
756 * boundary condition depends on the variable dimension.
757 * Remark: Usually the local matrix called hereafter adv is stored
758 * in cb->loc
759 *
760 * \param[in] dim dimension of the variable (1 or 3)
761 * \param[in] cm pointer to a cs_cell_mesh_t structure
762 * \param[in] csys pointer to a cs_cell_sys_t structure
763 * \param[in] cb pointer to a cs_cell_builder_t structure
764 * \param[in, out] adv pointer to a local matrix to build
765 */
766/*----------------------------------------------------------------------------*/
767
768void
770 const cs_cell_mesh_t *cm,
771 const cs_cell_sys_t *csys,
773 cs_sdm_t *adv);
774
775/*----------------------------------------------------------------------------*/
776/*
777 * \brief Compute the convection operator attached to a cell with a CDO
778 * face-based scheme
779 * - non-conservative formulation \f$ \nabla\cdot(\beta ) \f$
780 * - SOLU (symetric) scheme
781 *
782 * A scalar-valued version is built. Only the enforcement of the
783 * boundary condition depends on the variable dimension.
784 * Remark: Usually the local matrix called hereafter adv is stored
785 * in cb->loc
786 *
787 * \param[in] dim dimension of the variable (1 or 3)
788 * \param[in] cm pointer to a cs_cell_mesh_t structure
789 * \param[in] csys pointer to a cs_cell_sys_t structure
790 * \param[in] cb pointer to a cs_cell_builder_t structure
791 * \param[in, out] adv pointer to a local matrix to build
792 */
793/*----------------------------------------------------------------------------*/
794
795void
797 const cs_cell_mesh_t *cm,
798 const cs_cell_sys_t *csys,
800 cs_sdm_t *adv);
801/*----------------------------------------------------------------------------*/
802/*
803 * \brief Compute the convection operator attached to a cell with a CDO
804 * face-based scheme
805 * - conservative formulation \f$ \nabla\cdot(\beta ) \f$
806 * - Sharfetter-Gummel scheme
807 * Rely on the work performed during R. Milani's PhD
808 *
809 * A scalar-valued version is built. Only the enforcement of the
810 * boundary condition depends on the variable dimension.
811 * Remark: Usually the local matrix called hereafter adv is stored
812 * in cb->loc
813 *
814 * \param[in] dim dimension of the variable (1 or 3)
815 * \param[in] cm pointer to a cs_cell_mesh_t structure
816 * \param[in] csys pointer to a cs_cell_sys_t structure
817 * \param[in] cb pointer to a cs_cell_builder_t structure
818 * \param[in, out] adv pointer to a local matrix to build
819 */
820/*----------------------------------------------------------------------------*/
821
822void
824 const cs_cell_mesh_t *cm,
825 const cs_cell_sys_t *csys,
827 cs_sdm_t *adv);
828
829/*----------------------------------------------------------------------------*/
830/*
831 * \brief Compute the convection operator attached to a cell with a CDO
832 * face-based scheme
833 * - non-conservative formulation \f$ \nabla\cdot(\beta ) \f$
834 * - Sharfetter-Gummel scheme
835 * Rely on the work performed during R. Milani's PhD
836 *
837 * A scalar-valued version is built. Only the enforcement of the
838 * boundary condition depends on the variable dimension.
839 * Remark: Usually the local matrix called hereafter adv is stored
840 * in cb->loc
841 *
842 * \param[in] dim dimension of the variable (1 or 3)
843 * \param[in] cm pointer to a cs_cell_mesh_t structure
844 * \param[in] csys pointer to a cs_cell_sys_t structure
845 * \param[in] cb pointer to a cs_cell_builder_t structure
846 * \param[in, out] adv pointer to a local matrix to build
847 */
848/*----------------------------------------------------------------------------*/
849
850void
852 const cs_cell_mesh_t *cm,
853 const cs_cell_sys_t *csys,
855 cs_sdm_t *adv);
856
857/*----------------------------------------------------------------------------*/
858/*
859 * \brief Compute the convection operator attached to a cell with a CDO
860 * vertex-based scheme with an upwind scheme and a conservative
861 * formulation. The portion of upwinding relies on an evaluation
862 * of the weigth associated to the given property
863 * The local matrix related to this operator is stored in cb->loc
864 * Predefined prototype to match the function pointer
865 * cs_cdovb_advection_t
866 *
867 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
868 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
869 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
870 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
871 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
872 */
873/*----------------------------------------------------------------------------*/
874
875void
877 const cs_cell_mesh_t *cm,
878 const cs_property_data_t *diff_pty,
881
882/*----------------------------------------------------------------------------*/
883/*
884 * \brief Compute the convection operator attached to a cell with a CDO
885 * vertex-based scheme without diffusion and an upwind scheme and a
886 * conservative formulation is used.
887 * The local matrix related to this operator is stored in cb->loc
888 * Predefined prototype to match the function pointer
889 * cs_cdovb_advection_t
890 *
891 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
892 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
893 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
894 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
895 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
896 */
897/*----------------------------------------------------------------------------*/
898
899void
901 const cs_cell_mesh_t *cm,
902 const cs_property_data_t *diff_pty,
905
906/*----------------------------------------------------------------------------*/
907/*
908 * \brief Compute the convection operator attached to a cell with a CDO
909 * vertex-based scheme when a centered scheme and a conservative
910 * formulation is used.
911 * The local matrix related to this operator is stored in cb->loc
912 * Predefined prototype to match the function pointer
913 * cs_cdovb_advection_t
914 *
915 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
916 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
917 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
918 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
919 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
920 */
921/*----------------------------------------------------------------------------*/
922
923void
925 const cs_cell_mesh_t *cm,
926 const cs_property_data_t *diff_pty,
929
930/*----------------------------------------------------------------------------*/
931/*
932 * \brief Compute the convection operator attached to a cell with a CDO
933 * vertex-based scheme when a mixed centered/upwind scheme with
934 * a conservative formulation is used.
935 * The local matrix related to this operator is stored in cb->loc
936 * Predefined prototype to match the function pointer
937 * cs_cdovb_advection_t
938 *
939 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
940 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
941 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
942 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
943 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
944 */
945/*----------------------------------------------------------------------------*/
946
947void
949 const cs_cell_mesh_t *cm,
950 const cs_property_data_t *diff_pty,
953
954/*----------------------------------------------------------------------------*/
955/*
956 * \brief Compute the convection operator attached to a cell with a CDO
957 * vertex-based scheme when a mixed centered/upwind scheme with
958 * a non-conservative formulation is used.
959 * The local matrix related to this operator is stored in cb->loc
960 * Predefined prototype to match the function pointer
961 * cs_cdovb_advection_t
962 *
963 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
964 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
965 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
966 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
967 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
968 */
969/*----------------------------------------------------------------------------*/
970
971void
973 const cs_cell_mesh_t *cm,
974 const cs_property_data_t *diff_pty,
977
978/*----------------------------------------------------------------------------*/
979/*
980 * \brief Compute the convection operator attached to a cell with a CDO
981 * vertex-based scheme with an upwind scheme and a conservative
982 * formulation. The portion of upwinding relies on an evaluation
983 * of the weigth associated to the given property.
984 * The local matrix related to this operator is stored in cb->loc
985 * Predefined prototype to match the function pointer
986 * cs_cdovb_advection_t
987 *
988 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
989 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
990 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
991 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
992 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
993 */
994/*----------------------------------------------------------------------------*/
995
996void
998 const cs_cell_mesh_t *cm,
999 const cs_property_data_t *diff_pty,
1001 cs_cell_builder_t *cb);
1002
1003/*----------------------------------------------------------------------------*/
1004/*
1005 * \brief Compute the convection operator attached to a cell with a CDO
1006 * vertex-based scheme without diffusion when an upwind scheme and a
1007 * conservative formulation is used.
1008 * The local matrix related to this operator is stored in cb->loc
1009 * Predefined prototype to match the function pointer
1010 * cs_cdovb_advection_t
1011 *
1012 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
1013 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
1014 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
1015 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
1016 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
1017 */
1018/*----------------------------------------------------------------------------*/
1019
1020void
1022 const cs_cell_mesh_t *cm,
1023 const cs_property_data_t *diff_pty,
1025 cs_cell_builder_t *cb);
1026
1027/*----------------------------------------------------------------------------*/
1028/*
1029 * \brief Compute the convection operator attached to a cell with a CDO
1030 * vertex-based scheme when a centered scheme and a non-conservative
1031 * formulation is used.
1032 * The local matrix related to this operator is stored in cb->loc
1033 * Predefined prototype to match the function pointer
1034 * cs_cdovb_advection_t
1035 *
1036 * \param[in] eqp pointer to a \ref cs_equation_param_t structure
1037 * \param[in] cm pointer to a \ref cs_cell_mesh_t structure
1038 * \param[in] diff_pty pointer to a \ref cs_property_data_t structure
1039 * \param[in, out] fm pointer to a \ref cs_face_mesh_t structure
1040 * \param[in, out] cb pointer to a \ref cs_cell_builder_t structure
1041 */
1042/*----------------------------------------------------------------------------*/
1043
1044void
1046 const cs_cell_mesh_t *cm,
1047 const cs_property_data_t *diff_pty,
1049 cs_cell_builder_t *cb);
1050
1051/*----------------------------------------------------------------------------*/
1052/*
1053 * \brief Compute the convection operator attached to a cell with a CDO
1054 * vertex+cell-based scheme when the advection field is cellwise
1055 * constant
1056 *
1057 * \param[in] eqp pointer to a cs_equation_param_t structure
1058 * \param[in] cm pointer to a cs_cell_mesh_t structure
1059 * \param[in] diff_pty pointer to the property associated to diffusion
1060 * \param[in, out] fm pointer to a cs_face_mesh_t structure
1061 * \param[in, out] cb pointer to a cs_cell_builder_t structure
1062 */
1063/*----------------------------------------------------------------------------*/
1064
1065void
1067 const cs_cell_mesh_t *cm,
1068 const cs_property_data_t *diff_pty,
1070 cs_cell_builder_t *cb);
1071
1072/*----------------------------------------------------------------------------*/
1073/*
1074 * \brief Compute the convection operator attached to a cell with a CDO
1075 * vertex+cell-based scheme
1076 *
1077 * \param[in] eqp pointer to a cs_equation_param_t structure
1078 * \param[in] cm pointer to a cs_cell_mesh_t structure
1079 * \param[in] diff_pty pointer to the property associated to diffusion
1080 * \param[in, out] fm pointer to a cs_face_mesh_t structure
1081 * \param[in, out] cb pointer to a cs_cell_builder_t structure
1082 */
1083/*----------------------------------------------------------------------------*/
1084
1085void
1087 const cs_cell_mesh_t *cm,
1088 const cs_property_data_t *diff_pty,
1090 cs_cell_builder_t *cb);
1091
1092/*----------------------------------------------------------------------------*/
1093/*
1094 * \brief Compute the BC contribution for the convection operator
1095 *
1096 * \param[in] cm pointer to a cs_cell_mesh_t structure
1097 * \param[in] eqp pointer to a cs_equation_param_t structure
1098 * \param[in] t_eval time at which one evaluates the advection field
1099 * \param[in, out] fm pointer to a cs_face_mesh_t structure
1100 * \param[in, out] cb pointer to a convection builder structure
1101 * \param[in, out] csys cell-wise structure storing the local system
1102 */
1103/*----------------------------------------------------------------------------*/
1104
1105void
1107 const cs_equation_param_t *eqp,
1108 cs_real_t t_eval,
1111 cs_cell_sys_t *csys);
1112
1113/*----------------------------------------------------------------------------*/
1114/*
1115 * \brief Compute the BC contribution for the convection operator with CDO
1116 * V+C schemes
1117 *
1118 * \param[in] cm pointer to a cs_cell_mesh_t structure
1119 * \param[in] eqp pointer to a cs_equation_param_t structure
1120 * \param[in] t_eval time at which one evaluates the advection field
1121 * \param[in, out] fm pointer to a cs_face_mesh_t structure
1122 * \param[in, out] cb pointer to a cs_cell_builder_t structure
1123 * \param[in, out] csys cell-wise structure storing the local system
1124 */
1125/*----------------------------------------------------------------------------*/
1126
1127void
1129 const cs_equation_param_t *eqp,
1130 cs_real_t t_eval,
1133 cs_cell_sys_t *csys);
1134
1135/*----------------------------------------------------------------------------*/
1136/*
1137 * \brief Compute the value of the upwinding coefficient in each cell knowing
1138 * the related Peclet number
1139 *
1140 * \param[in] cdoq pointer to the cdo quantities structure
1141 * \param[in] scheme type of scheme used for the advection term
1142 * \param[in, out] coefval pointer to the pointer of real numbers to fill
1143 * in: Peclet number in each cell
1144 * out: value of the upwind coefficient
1145 */
1146/*----------------------------------------------------------------------------*/
1147
1148void
1151 cs_real_t coefval[]);
1152
1153#endif /* CS_CDO_ADVECTION_H */
void() cs_cdofb_adv_build_t(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, const cs_property_data_t *diff_pty, cs_cdofb_adv_scheme_t *scheme_func, cs_cell_builder_t *cb)
Build the cellwise advection operator for CDO-Fb schemes The local matrix related to this operator is...
Definition: cs_cdo_advection.h:112
void cs_cdofb_advection_solunoc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2845
void cs_cdofb_advection_cennoc_v8(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2452
void cs_cdo_advection_vb_upwcsv_wpty(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme with an upwind sche...
Definition: cs_cdo_advection.cpp:3010
void cs_cdofb_advection_no_diffusion(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, const cs_property_data_t *diff_pty, cs_cdofb_adv_scheme_t *scheme_func, cs_cell_builder_t *cb)
Build the cellwise advection operator for CDO-Fb schemes The local matrix related to this operator is...
Definition: cs_cdo_advection.cpp:1991
void cs_cdofb_advection_sgnoc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2982
void cs_cdo_advection_vcb_bc(const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, cs_real_t t_eval, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Compute the BC contribution for the convection operator with CDO V+C schemes.
Definition: cs_cdo_advection.cpp:3916
void cs_cdofb_advection_upwnoc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2194
void cs_cdo_advection_vb_upwcsv(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme without diffusion a...
Definition: cs_cdo_advection.cpp:3101
void cs_cdo_advection_vb_upwnoc(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme without diffusion w...
Definition: cs_cdo_advection.cpp:3409
void cs_cdofb_advection_close_default_vect(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Operation done after the matrix related to the advection term has been defined. Follow the prototype ...
Definition: cs_cdo_advection.cpp:1854
void cs_cdofb_advection_close_default_scal(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Operation done after the matrix related to the advection term has been defined. Follow the prototype ...
Definition: cs_cdo_advection.cpp:1825
void cs_cdo_advection_vcb_cw_cst(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advec...
Definition: cs_cdo_advection.cpp:3521
void cs_cdofb_advection_cennoc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2667
void cs_cdofb_advection_L0noc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2606
void cs_cdofb_advection_cencsv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2703
void cs_cdo_advection_vb_bc(const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, cs_real_t t_eval, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Compute the BC contribution for the convection operator.
Definition: cs_cdo_advection.cpp:3794
void cs_cdofb_advection_close_exp_none_scal(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Operation done after the matrix related to the advection term has been defined. Follow the prototype ...
Definition: cs_cdo_advection.cpp:1899
void cs_cdofb_advection_mixcsv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2739
void cs_cdofb_advection_solusymnoc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2915
void cs_cdo_advection_vcb(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex+cell-based scheme.
Definition: cs_cdo_advection.cpp:3663
void() cs_cdofb_adv_scheme_t(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Define the local convection operator in CDO-Fb schemes. Case of an operator that should be assemble i...
Definition: cs_cdo_advection.h:88
void cs_cdo_advection_vb_upwnoc_wpty(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme with an upwind sche...
Definition: cs_cdo_advection.cpp:3320
void cs_cdofb_advection(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, const cs_property_data_t *diff_pty, cs_cdofb_adv_scheme_t *scheme_func, cs_cell_builder_t *cb)
Main function to build the cellwise advection operator for CDO face-based schemes....
Definition: cs_cdo_advection.cpp:2092
void cs_cdofb_advection_sgcsv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2951
void cs_cdofb_advection_cencsv_v8(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2526
void cs_cdofb_advection_upwcsv_v8(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2359
void cs_cdofb_advection_L0csv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2637
void() cs_cdovb_advection_bc_t(const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, cs_real_t t_eval, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Compute the BC contribution for the advection operator in CDO vertex-based (or vertex+cell-based) sch...
Definition: cs_cdo_advection.h:179
void() cs_cdofb_adv_close_hook_t(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Operation done after the matrix related to the advection term has been defined.
Definition: cs_cdo_advection.h:133
void cs_cdo_advection_vb_mcucsv(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a mixed center...
Definition: cs_cdo_advection.cpp:3217
void cs_cdo_advection_vb_mcunoc(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a mixed center...
Definition: cs_cdo_advection.cpp:3268
void cs_cdo_advection_vb_cennoc(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a centered sch...
Definition: cs_cdo_advection.cpp:3473
void cs_cdofb_advection_upwnoc_v8(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2266
void cs_cdo_advection_cell_upwind_coef(const cs_cdo_quantities_t *cdoq, cs_param_advection_scheme_t scheme, cs_real_t coefval[])
Compute the value of the upwinding coefficient in each cell knowing the related Peclet number.
Definition: cs_cdo_advection.cpp:3981
void cs_cdofb_advection_upwcsv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2230
void() cs_cdofb_adv_open_hook_t(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, void *input, cs_cell_builder_t *cb)
Perform preprocessing such as the computation of the advection flux at the expected location in order...
Definition: cs_cdo_advection.h:67
void cs_cdofb_advection_close_exp_none_vect(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Operation done after the matrix related to the advection term has been defined. Follow the prototype ...
Definition: cs_cdo_advection.cpp:1937
void cs_cdofb_advection_solucsv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2810
void() cs_cdovb_advection_t(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme....
Definition: cs_cdo_advection.h:158
void cs_cdo_advection_vb_cencsv(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb)
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a centered sch...
Definition: cs_cdo_advection.cpp:3166
void cs_cdofb_advection_solusymcsv(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2880
void cs_cdofb_advection_open_default(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, void *input, cs_cell_builder_t *cb)
Perform preprocessing such as the computation of the advection flux at the expected location in order...
Definition: cs_cdo_advection.cpp:1779
void cs_cdofb_advection_mixnoc(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
Compute the convection operator attached to a cell with a CDO face-based scheme.
Definition: cs_cdo_advection.cpp:2775
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
@ fm
Definition: cs_field_pointer.h:126
cs_param_advection_scheme_t
Definition: cs_param_types.h:371
Definition: cs_cdo_quantities.h:142
Set of local and temporary buffers.
Definition: cs_cdo_local.h:56
Set of local quantities and connectivities related to a mesh cell.
Definition: cs_cdo_local.h:242
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for bui...
Definition: cs_cdo_local.h:163
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:190
Set of local quantities and connectivities related to a mesh face Structure used to get a better memo...
Definition: cs_cdo_local.h:432
Structure storing the evaluation of a property and its related data.
Definition: cs_property.h:219