PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
implicitsolvers.h
Go to the documentation of this file.
1#ifndef IMPLICITSOLVERS_H
2#define IMPLICITSOLVERS_H
3
4#include "variables.h" // Provides definitions for UserCtx, SimCtx, IBMNodes, etc.
5#include "logging.h"
6#include "rhs.h"
7#include "Boundaries.h"
8
9/*================================================================================*
10 * MOMENTUM EQUATION SOLVERS *
11 *================================================================================*/
12
13/**
14 * @brief Advances the momentum equations using an explicit 4th-order Runge-Kutta scheme.
15 * @param user Array of UserCtx structs for all blocks.
16 * @param ibm (Optional) Pointer to IBM data. Pass NULL if disabled.
17 * @param fsi (Optional) Pointer to FSI data. Pass NULL if disabled.
18 * @return PetscErrorCode 0 on success.
19 */
20extern PetscErrorCode RungeKutta(UserCtx *user, IBMNodes *ibm, FSInfo *fsi);
21
22/**
23 * @brief Advances the momentum equations using an implicit scheme.
24 * @param user Array of UserCtx structs for all blocks.
25 * @param ibm (Optional) Pointer to IBM data. Pass NULL if disabled.
26 * @param fsi (Optional) Pointer to FSI data. Pass NULL if disabled.
27 * @return PetscErrorCode 0 on success.
28 */
29extern PetscErrorCode ImplicitMomentumSolver(UserCtx *user, IBMNodes *ibm, FSInfo *fsi);
30
31// Add other implicit solver prototypes if you plan to use them.
32// extern PetscErrorCode ImplicitMomentumSolver1(UserCtx *user, IBMNodes *ibm, FSInfo *fsi);
33// extern PetscErrorCode Implicit_SNES(UserCtx *user, IBMNodes *ibm, FSInfo *fsi);
34
35#endif // IMPLICITSOLVERS_H
PetscErrorCode RungeKutta(UserCtx *user, IBMNodes *ibm, FSInfo *fsi)
Advances the momentum equations using an explicit 4th-order Runge-Kutta scheme.
PetscErrorCode ImplicitMomentumSolver(UserCtx *user, IBMNodes *ibm, FSInfo *fsi)
Advances the momentum equations using an implicit scheme.
Logging utilities and macros for PETSc-based applications.
Main header file for a complex fluid dynamics solver.
Holds all data related to the state and motion of a body in FSI.
Definition variables.h:373
Represents a collection of nodes forming a surface for the IBM.
Definition variables.h:300
User-defined context containing data specific to a single computational grid level.
Definition variables.h:630