9.2
general documentation
cs_runge_kutta_integrator_param.h
Go to the documentation of this file.
1#ifndef RK_INTEGRATOR_PARAM_H
2#define RK_INTEGRATOR_PARAM_H
3
4/*============================================================================
5 * Explicit Runge-Kutta integrator utilities.
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#include "base/cs_defs.h"
31
32/*----------------------------------------------------------------------------
33 * Standard C library headers
34 *----------------------------------------------------------------------------*/
35
36#include <assert.h>
37#include <stdarg.h>
38#include <stdio.h>
39#include <stdlib.h>
40#include <string.h>
41
42/*----------------------------------------------------------------------------
43 * Local headers
44 *----------------------------------------------------------------------------*/
45
46#include "bft/bft_error.h"
47#include "bft/bft_printf.h"
48
49#include "alge/cs_blas.h"
50
51#include "base/cs_base_accel.h"
52#include "base/cs_dispatch.h"
53#include "mesh/cs_mesh.h"
55
56/*----------------------------------------------------------------------------*/
57
58/*=============================================================================
59 * Macro definitions
60 *============================================================================*/
61
62#define RK_HIGHEST_ORDER 4
63
64/*============================================================================
65 * Type definitions
66 *============================================================================*/
67
68/* Available Runge-Kutta schemes */
69/* ----------------------------- */
70
71typedef enum {
80 CS_RK4
82
83/* Descriptor of a Runge-Kutta integrator */
84/* --------------------------------------- */
85
86typedef struct {
87
88 int rk_id;
90
92
93/*----------------------------------------------------------------------------*/
94
95#endif /* RK_INTEGRATOR_PARAM_H */
cs_runge_kutta_scheme_t
Definition: cs_runge_kutta_integrator_param.h:71
@ CS_RK2_HEUN
Definition: cs_runge_kutta_integrator_param.h:75
@ CS_RK2
Definition: cs_runge_kutta_integrator_param.h:74
@ CS_RK3_WRAY
Definition: cs_runge_kutta_integrator_param.h:78
@ CS_RK_NONE
Definition: cs_runge_kutta_integrator_param.h:72
@ CS_RK4
Definition: cs_runge_kutta_integrator_param.h:80
@ CS_RK3_SSP
Definition: cs_runge_kutta_integrator_param.h:79
@ CS_RK2_MP
Definition: cs_runge_kutta_integrator_param.h:76
@ CS_RK3
Definition: cs_runge_kutta_integrator_param.h:77
@ CS_RK1
Definition: cs_runge_kutta_integrator_param.h:73
Definition: cs_runge_kutta_integrator_param.h:86
int rk_id
Definition: cs_runge_kutta_integrator_param.h:88
cs_runge_kutta_scheme_t scheme
Definition: cs_runge_kutta_integrator_param.h:89