PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
variables.h
Go to the documentation of this file.
1/**
2 * @file variables.h
3 * @author Vishal Kandala
4 * @brief Main header file for a complex fluid dynamics solver.
5 *
6 * This file defines the core data structures, global variables, and function
7 * prototypes for a CFD application. It combines features for a curvilinear,
8 * multi-block, immersed boundary (IBM) solver with fluid-structure interaction (FSI),
9 * a modern particle tracking system, a modular boundary condition framework,
10 * and post-processing utilities. It heavily utilizes the PETSc library.
11 *
12 * *** REVISION NOTE ***
13 * This version introduces a central `SimulationContext` struct to encapsulate all
14 * simulation-wide configuration, replacing the legacy system of global variables.
15 * The `UserCtx` struct has been refactored to hold only data specific to a
16 * single grid level and now contains a back-pointer to the `SimulationContext`.
17 * All struct definitions now follow the `typedef struct Name { ... } Name;` convention.
18 */
19
20#ifndef VARIABLES_H
21#define VARIABLES_H
22
23/*================================================================================*
24 * PETSC & SYSTEM LIBRARIES *
25 *================================================================================*/
26
27// --- PETSc Includes ---
28#include "petscvec.h"
29#include "petscdmda.h"
30#include "petscksp.h"
31#include "petscsnes.h"
32#include "petscdmswarm.h"
33
34// --- Standard C/C++ Includes ---
35#include <stdio.h>
36#include <stdlib.h>
37#include <string.h>
38#include <unistd.h>
39
40// --- C++ Specific Includes ---
41#if defined(__cplusplus)
42#include <vector>
43#include <algorithm>
44#include <cassert>
45#endif
46
47// Define a C-compatible interface for C++ compilers
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52/*================================================================================*
53 * MACROS & GLOBAL VARIABLES *
54 *================================================================================*/
55
56/// Coefficient controlling the temporal accuracy scheme (e.g., 1.5 for BDF2).
57#define COEF_TIME_ACCURACY 1.5
58
59/* --- NOTE: All legacy global 'extern' variables have been removed. --- */
60/* They are now members of the SimulationContext struct. */
61
62
63/*================================================================================*
64 * CORE DATA STRUCTURES & TYPEDEFS *
65 *================================================================================*/
66
67//--------------------------------------------------------------------------------
68// 1. FORWARD DECLARATIONS & BASIC TYPES
69//--------------------------------------------------------------------------------
70
71// --- Forward Declarations ---
72// These declarations allow pointers to these types before their full definition.
73typedef struct SimCtx SimCtx;
74typedef struct UserCtx UserCtx;
75typedef struct BC_Param_s BC_Param; /* Retains _s for linked list safety */
78typedef struct IBMNodes IBMNodes;
79typedef struct IBMVNodes IBMVNodes;
80typedef struct FSInfo FSInfo;
81typedef struct UserMG UserMG;
82typedef struct BoundingBox BoundingBox;
83typedef struct Cell Cell;
84typedef struct Particle Particle;
88typedef struct Cstart Cstart;
89typedef struct MGCtx MGCtx;
92typedef struct VTKMetaData VTKMetaData;
93typedef struct IBMInfo IBMInfo;
95
96// --- Foundational Geometric and Data Types ---
97
98/** @brief A 3D point or vector with PetscScalar components. */
99typedef struct Cmpnts {
100 PetscScalar x, y, z;
102
103/** @brief A 2D point or vector with PetscScalar components. */
104typedef struct Cmpnts2 {
105 PetscScalar x, y;
107
108/** @brief A 2D vector of PETSc real numbers (for geometry/coordinates). */
109typedef struct Cpt2D {
110 PetscReal x, y;
112
113/** @brief Represents a single point in a time-varying flow waveform. */
114typedef struct FlowWave {
115 PetscReal t, f;
117
118/** @brief Legacy boundary condition data. Likely superseded by the newer BC system. */
119typedef struct BCS {
120 Vec Ubcs; ///< Boundary condition velocity values. (Comment: "An ugly hack, waste of memory")
121 Vec Uch; ///< Characteristic velocity for boundary conditions.
123
124
125//--------------------------------------------------------------------------------
126// 2. PARTICLE LOCATION SYSTEM ENUMS
127//--------------------------------------------------------------------------------
128
129/**
130 * @enum ParticleLocationStatus
131 * @brief Defines the state of a particle with respect to its location and migration
132 * status during the iterative SettleParticles() process.
133 */
141
142/** @brief Enumerates the six faces of a cubic cell for distance calculations. */
143typedef enum {
146
147
148//--------------------------------------------------------------------------------
149// 3. PARTICLE LOCATION SYSTEM STRUCTS
150//--------------------------------------------------------------------------------
151
152/** @brief Defines a 3D axis-aligned bounding box. */
153typedef struct BoundingBox {
154 Cmpnts min_coords; ///< Minimum x, y, z coordinates of the bounding box.
155 Cmpnts max_coords; ///< Maximum x, y, z coordinates of the bounding box.
157
158/** @brief Defines the vertices of a single hexahedral grid cell. */
159typedef struct Cell {
160 Cmpnts vertices[8]; ///< Coordinates of the eight vertices of the cell.
161} Cell;
162
163/** @brief Defines a particle's core properties for Lagrangian tracking. */
173
174/** @brief Stores the MPI ranks of neighboring subdomains. */
175typedef struct RankNeighbors {
176 PetscMPIInt rank_xm, rank_xp;
177 PetscMPIInt rank_ym, rank_yp;
178 PetscMPIInt rank_zm, rank_zp;
180
181/** @brief A lean struct to hold the global cell ownership range for a single MPI rank. */
182typedef struct RankCellInfo {
186
187/** @brief Information needed to migrate a single particle between MPI ranks. */
188typedef struct MigrationInfo {
189 PetscInt local_index;
190 PetscInt target_rank;
192
193
194//--------------------------------------------------------------------------------
195// 4. BOUNDARY CONDITION SYSTEM ENUMS
196//--------------------------------------------------------------------------------
197
198/** @brief Identifies the six logical faces of a structured computational block. */
204
205/** @brief Defines the general mathematical/physical category of a boundary. */
218
219/** @brief Defines the specific computational "strategy" for a boundary handler. */
229
230
231//--------------------------------------------------------------------------------
232// 5. BOUNDARY CONDITION SYSTEM STRUCTS
233//--------------------------------------------------------------------------------
234
235/** @brief A node in a linked list for storing key-value parameters from the bcs.dat file. */
237 char *key;
238 char *value;
240};
241
242/** @brief Provides execution context for a boundary condition handler. */
249
250/** @brief The "virtual table" struct for a boundary condition handler object. */
251typedef struct BoundaryCondition {
253 void *data;
254 PetscErrorCode (*Initialize)(BoundaryCondition *self, BCContext *ctx);
255 PetscErrorCode (*PreStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow);
256 PetscErrorCode (*Apply)(BoundaryCondition *self, BCContext *ctx);
257 PetscErrorCode (*PlaceSource)(BoundaryCondition *self, BCContext *ctx, ...);
258 PetscErrorCode (*Destroy)(BoundaryCondition *self);
260
261/** @brief Holds the complete configuration for one of the six boundary faces. */
269
270//--------------------------------------------------------------------------------
271// 6. IMBERSED BOUNDARY METHOD (IBM) & FSI STRUCTS
272//--------------------------------------------------------------------------------
273
274/** @brief Holds interpolation and distance information for a single IBM point. */
275typedef struct IBMInfo {
276 PetscInt i1, j1, k1, i2, j2, k2, i3, j3, k3;
277 PetscReal cr1, cr2, cr3;
278 PetscReal d_i;
279 PetscInt imode;
280 PetscInt ni, nj, nk;
281 PetscReal d_s;
283 PetscInt cell;
284 PetscReal cs1, cs2, cs3;
285 PetscInt i11, j11, k11, i22, j22, k22, i33, j33, k33;
286 PetscReal cr11, cr22, cr33;
287 PetscReal d_ii;
288 PetscInt iimode;
289 PetscReal cs11, cs22, cs33;
290 PetscInt ii1, jj1, kk1, ii2, jj2, kk2, ii3, jj3, kk3;
291 PetscReal ct1, ct2, ct3;
292 PetscInt smode;
293 PetscInt ii11, jj11, kk11, ii22, jj22, kk22, ii33, jj33, kk33;
294 PetscReal ct11, ct22, ct33;
295 PetscReal d_ss;
296 PetscInt ssmode;
297} IBMInfo;
298
299/** @brief Represents a collection of nodes forming a surface for the IBM. */
300typedef struct IBMNodes {
301 PetscInt nbnumber;
302 PetscInt n_v, n_elmt;
303 PetscInt *nv1, *nv2, *nv3;
304 PetscReal *nf_x, *nf_y, *nf_z;
305 PetscReal *x_bp, *y_bp, *z_bp;
306 PetscReal *x_bp0, *y_bp0, *z_bp0;
307 PetscReal *x_bp_o, *y_bp_o, *z_bp_o;
308 PetscReal *cf, *cfsum, *CCp;
309 PetscReal x_bp_in[101][3270], y_bp_in[101][3270], z_bp_in[101][3270];
311 PetscReal *dA, *nt_x, *nt_y, *nt_z, *ns_x, *ns_y, *ns_z;
312 PetscReal *cent_x, *cent_y, *cent_z;
313 PetscReal *pres, *tau0, *tauN, *Bvel_u, *Bvel_v, *Bvel_w;
316 PetscReal *radvec;
317} IBMNodes;
318
319/** @brief Represents a collection of nodes forming a volume for the IBM. */
320typedef struct IBMVNodes {
321 PetscInt nbnumber;
322 PetscInt n_v, n_elmt;
323 PetscInt *nv1, *nv2, *nv3, *nv4;
324 PetscReal *x_bp, *y_bp, *z_bp;
325 PetscReal *x_bp0, *y_bp0, *z_bp0;
326 PetscReal *x_bp_o, *y_bp_o, *z_bp_o;
328 PetscReal V, *dV0;
329 PetscReal *cent_x, *cent_y, *cent_z;
330 PetscReal x_c, y_c, z_c;
331 PetscReal J[3][3], I_inv[3][3];
332} IBMVNodes;
333
334/** @brief A generic C-style linked list node for integers. */
335typedef struct node{
336 PetscInt Node;
337 struct node *next;
339
340/** @brief Head of a generic C-style linked list. */
341typedef struct list{
344
345/** @brief A generic C-style linked list node for indices. */
346typedef struct list_node {
347 PetscInt index;
350
351/** @brief A linked list node containing IBM interpolation info. */
356
357/** @brief Head of a linked list for IBM data. */
361
362/** @brief Information about a surface element for FSI calculations. */
363typedef struct SurfElmtInfo {
364 PetscReal P;
365 PetscInt n_P;
366 PetscReal Tow_ws, Tow_wt, Tow_wn;
368 PetscInt icell, jcell, kcell;
371
372/** @brief Holds all data related to the state and motion of a body in FSI. */
373typedef struct FSInfo {
374 PetscReal S_new[6], S_old[6], S_real[6], S_realm1[6];
375 PetscReal S_ang_n[6], S_ang_o[6], S_ang_r[6], S_ang_rm1[6];
376 PetscReal red_vel, damp, mu_s;
377 PetscReal F_x, F_y, F_z, A_tot;
380 PetscReal M_x, M_y, M_z;
385 PetscReal x_c, y_c, z_c;
386 PetscReal a_c[3];
389 PetscReal Power, clone;
390 PetscInt pbc[3];
391 PetscReal I_inv[3][3];
392 PetscReal L_n[3], L_o[3], L_r[3];
393 PetscReal alpha[3], acc[3];
394 PetscReal R[3][3], q[4], q_r[4];
395 PetscReal dS[6], dS_o[6], atk, atk_o;
399 PetscInt CV_ys, CV_ye, CV_zs, CV_ze;
400} FSInfo;
401
402/** @brief Defines prescribed body motion using splines. */
403typedef struct Cstart {
405 PetscReal *x_midp, *y_midp, *z_midp;
406 PetscReal *x_com, *y_com, *head_ang;
407 PetscReal *s1, *s2, *s3, *st1, *st2, *st3;
408 Mat Mphi;
409 PetscReal xmin, xmax, ymin, ymax, zmin, zmax;
410} Cstart;
411
412//--------------------------------------------------------------------------------
413// 7. MULTIGRID AND POST-PROCESSING STRUCTS
414//--------------------------------------------------------------------------------
415
416/** @brief Context for Multigrid operations. */
417typedef struct MGCtx {
419 PetscInt thislevel;
421} MGCtx;
422
423/** @brief User-level context for managing the entire multigrid hierarchy. */
424typedef struct UserMG {
425 PetscInt mglevels;
426 PetscInt thislevel;
427 PetscBool isc, jsc, ksc;
431} UserMG;
432
433#define MAX_PIPELINE_LENGTH 1024
434#define MAX_FIELD_LIST_LENGTH 1024
435#define MAX_FILENAME_LENGTH 256
436/// Defines the maximum number of data fields for VTK point data.
437#define MAX_POINT_DATA_FIELDS 20
438#define MAX_VTK_FIELD_NAME_LENGTH 64 ///< Maximum length for VTK field names.
439/**
440 * @brief Holds all configuration parameters for a post-processing run.
441 * This is an enhanced version combining command-line and file-based settings.
442 */
443typedef struct PostProcessParams {
444 // --- Time Controls (can be set by command line or file) ---
445 PetscInt startTime;
446 PetscInt endTime;
447 PetscInt timeStep;
449
450 // --- Configuration primarily from the .cfg file ---
459
460 // --- Legacy settings ---
461 char eulerianExt[8]; // from original PostProcessParams (repurposed for PreCheckAndResize() as the input file extension.)
462 char particleExt[8]; // from original PostProcessParams
463
465
466/**
467 * @brief Stores all necessary information for a single data array in a VTK file.
468 */
469typedef struct VTKFieldInfo {
470 char name[MAX_VTK_FIELD_NAME_LENGTH]; // Name of the data field
471 PetscInt num_components; // 1 for scalar, 3 for vector
472 PetscScalar* data; // Pointer to the raw data array (must be freed by caller)
474
475/** @brief Enumerates the type of VTK file to be written. */
480
491
492/**
493 * @brief Defines the execution mode of the application.
494 */
495typedef enum {
496 EXEC_MODE_SOLVER, // The application is running as the main fluid solver.
497 EXEC_MODE_POSTPROCESSOR, // The application is running as the post-processor.
498 EXEC_MODE_UNKNOWN // Default/error state.
500//-------------------------------------------------------------------------------
501/*================================================================================*
502 * MAIN APPLICATION CONTEXT *
503 *================================================================================*/
504
505/**
506 * @brief The master context for the entire simulation.
507 *
508 * This struct encapsulates all global configuration flags, physical parameters,
509 * simulation control settings, and top-level data objects. It replaces the
510 * numerous global variables from the legacy codebase, providing a single,
511 * explicit source of truth for the simulation's setup.
512 */
513typedef struct SimCtx {
514
515 //================ Group 1: Parallelism & MPI Information ================
516 PetscMPIInt rank;
517 PetscMPIInt size;
518
519 //================ Group 2: Simulation Control, Time, and I/O ================
520
521 PetscInt step;
522 PetscReal ti;
523 PetscInt StartStep;
524 PetscInt StepsToRun;
525 PetscInt tiout;
526 PetscReal StartTime;
527 PetscReal dt;
528 PetscBool rstart_flg;
529 PetscBool OnlySetup;
530 PetscViewer logviewer;
531 PetscInt OutputFreq;
533
534 //================ Group 3: High-Level Physics & Model Selection Flags ================
538
539 //================ Group 4: Specific Simulation Case Flags ================
541
542 //================ Group 5: Solver & Numerics Parameters ================
546 PetscInt poisson;
547 PetscReal poisson_tol;
549 PetscReal ren, st,cfl, vnn, cdisx, cdisy, cdisz;
552
553
554 //================ Group 6: Physical & Geometric Parameters ================
557 PetscReal CMx_c, CMy_c, CMz_c;
558 PetscInt regime, radi;
559 PetscReal chact_leng;
560
561 //================ Group 7: Grid, Domain, and Boundary Condition Settings ================
564 PetscBool generate_grid;
566 PetscReal Croty, Crotz;
567 char grid_file[PETSC_MAX_PATH_LEN];
570 char **bcs_files;
572 PetscReal AreaOutSum;
573 PetscReal U_bc;
574 PetscInt ccc;
575 PetscReal ratio;
576
577 //================ Group 8: Turbulence Modeling (LES/RANS) ================
578 PetscInt les, rans;
580 PetscReal max_cs;
582 PetscBool averaging;
583
584 //================ Group 9: Particle / DMSwarm Data & Settings ================
585 PetscInt np;
586 PetscBool readFields;
590
591 //================ Group 10: Immersed Boundary & FSI Data Object Pointers ================
595 PetscBool rstart_fsi;
596 PetscInt duplicate;
597
598 //================ Group 11: Top-Level Managers, Custom Configuration,Logging/Monitoring ====
600 char allowedFile[PETSC_MAX_PATH_LEN];
601 PetscBool useCfg;
603 PetscInt nAllowed;
605 PetscReal summationRHS;
606 PetscReal MaxDiv;
608 // Profiling
609 char criticalFuncsFile[PETSC_MAX_PATH_LEN];
613
614 //================ Group 12: Post-Processing =================================================
615 char PostprocessingControlFile[PETSC_MAX_PATH_LEN];
617
618
619 //=============== Group 13: Miscellaneous =============================================
620 PetscReal r[101], tin[101], uinr[101][1001];
621
622} SimCtx;
623
624
625/**
626 * @brief User-defined context containing data specific to a single computational
627 * grid level. This is the primary data structure passed to low-level
628 * numerical and solver functions.
629 */
630typedef struct UserCtx {
631
632 // --- The Critical Link to Global Configuration ---
633 SimCtx *simCtx; ///< Back-pointer to the master simulation context.
634
635 // --- Grid, Geometry & Parallelization (Per-Level) ---
636 DM da, fda, fda2;
637 DMDALocalInfo info;
638 AO ao;
639 PetscInt IM, JM, KM; // No.of grid points.
644 PetscReal rx, ry, rz;
645 PetscInt cgrid;
646
647 // --- Boundary Conditions & Interfacing ---
652 Vec lUstar;
653 PetscInt bctype[6]; // Legacy BC setup
655
656 // --- Primary Flow Fields (Global & Local Views) ---
658
659 // --- Time-Stepping & Solver Workspace Fields ---
662
663 // --- Pressure-Poisson System ---
664 Mat A, C; KSP ksp; MatNullSpace nullsp;
665 PetscInt *KSKE;
666 PetscBool multinullspace;
667 Vec B,R;
668 Mat MR, MP;
669 PetscBool assignedA;
670
671
672 // --- Grid Metrics (Global and Local) ---
674 Vec Centx,Centy,Centz; // these are already local vectors.
678
679 // --- Turbulence Modeling (LES/RANS) ---
681
682 // --- Statistical Averaging ---
684
685 // --- Immersed Boundary Method (IBM) ---
687
688 // --- Multigrid Hierarchy ---
691 DM *da_f, *da_c;
693
694 // --- Particle System ---
698 Vec Psi; //scalar dummy to demonstrate scatter.
699
700 // --- Post-Processing ---
704 Vec Qcrit;
705
706} UserCtx;
707
708#ifdef __cplusplus
709}
710#endif
711
712#endif // VARIABLES_H
The "virtual table" struct for a boundary condition handler object.
Definition variables.h:251
PetscErrorCode(* PreStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow)
Definition variables.h:255
BCHandlerType type
Definition variables.h:252
PetscErrorCode(* Destroy)(BoundaryCondition *self)
Definition variables.h:258
PetscErrorCode(* PlaceSource)(BoundaryCondition *self, BCContext *ctx,...)
Definition variables.h:257
PetscErrorCode(* Initialize)(BoundaryCondition *self, BCContext *ctx)
Definition variables.h:254
PetscErrorCode(* Apply)(BoundaryCondition *self, BCContext *ctx)
Definition variables.h:256
PetscReal M_x_rm3
Definition variables.h:384
PetscReal y_c
Definition variables.h:330
PetscReal * x_bp_o
Definition variables.h:307
PetscMPIInt rank_zm
Definition variables.h:178
PetscInt MHV
Definition variables.h:540
const PetscReal * global_outflow_sum
Definition variables.h:247
PetscInt isc
Definition variables.h:643
PetscInt CV_ye
Definition variables.h:399
Cmpnts * urm1
Definition variables.h:327
DM packer
Definition variables.h:429
PetscInt turbine
Definition variables.h:540
PetscReal P
Definition variables.h:364
PetscInt ii22
Definition variables.h:293
PetscInt fishcyl
Definition variables.h:540
PetscInt clark
Definition variables.h:579
PetscInt implicit_type
Definition variables.h:543
PetscInt movefsi
Definition variables.h:535
Vec lCent
Definition variables.h:673
BCType
Defines the general mathematical/physical category of a boundary.
Definition variables.h:206
@ MOVING_WALL
Definition variables.h:209
@ INLET
Definition variables.h:210
@ NOGRAD
Definition variables.h:216
@ INTERFACE
Definition variables.h:208
@ ANNULUS
Definition variables.h:213
@ ANALYTICAL_VORTEX
Definition variables.h:212
@ RHEOLOGY
Definition variables.h:215
@ FARFIELD
Definition variables.h:211
@ CHARACTERISTIC_BC
Definition variables.h:211
@ SYMMETRY
Definition variables.h:209
@ WALLFUNCTION
Definition variables.h:207
@ OGRID
Definition variables.h:214
@ OUTLET
Definition variables.h:211
@ PERIODIC
Definition variables.h:211
@ JUNCTION
Definition variables.h:212
@ WALL
Definition variables.h:209
PetscReal M_x_rm2
Definition variables.h:383
Vec GridSpace
Definition variables.h:673
PetscInt j2
Definition variables.h:276
struct list_node * next
Definition variables.h:348
PetscReal * dA
Definition variables.h:311
PetscInt jj11
Definition variables.h:293
PetscReal F_x
Definition variables.h:377
PetscInt moveframe
Definition variables.h:536
Vec P_nodal
Definition variables.h:702
Vec JCsi
Definition variables.h:676
Vec KAj
Definition variables.h:677
Cmpnts vel
Definition variables.h:168
PetscReal * cent_y
Definition variables.h:312
PetscInt TwoD
Definition variables.h:536
PetscInt pseudo_periodic
Definition variables.h:563
UserCtx * user
Definition variables.h:418
PetscInt fish_c
Definition variables.h:540
PetscReal d_s
Definition variables.h:281
Mat Mphi
Definition variables.h:408
PetscInt ssmode
Definition variables.h:296
#define MAX_POINT_DATA_FIELDS
Defines the maximum number of data fields for VTK point data.
Definition variables.h:437
PetscInt k22
Definition variables.h:285
PetscReal I_inv[3][3]
Definition variables.h:331
PetscInt ys_cell
Definition variables.h:183
PetscReal clone
Definition variables.h:389
PetscInt n_elmt
Definition variables.h:322
PetscInt npoints
Definition variables.h:484
PetscInt dgf_z
Definition variables.h:537
PetscInt i22
Definition variables.h:285
PetscBool inletFaceDefined
Definition variables.h:649
Vec JEta
Definition variables.h:676
PetscInt i1
Definition variables.h:276
PetscReal S_ang_o[6]
Definition variables.h:375
PetscReal poisson_tol
Definition variables.h:547
Vec Zet
Definition variables.h:673
PetscInt j11
Definition variables.h:285
PetscInt i3
Definition variables.h:276
PetscInt icell
Definition variables.h:368
Vec Rhs
Definition variables.h:661
IBMList * ibmlist
Definition variables.h:686
PetscInt num_components
Definition variables.h:471
PetscInt j3
Definition variables.h:276
PetscReal * y_bp
Definition variables.h:324
char particle_output_prefix[256]
Definition variables.h:457
PetscInt xs_cell
Definition variables.h:183
PetscReal y_bp_in[101][3270]
Definition variables.h:309
PetscMPIInt rank
Definition variables.h:516
PetscInt imode
Definition variables.h:279
PetscInt kk22
Definition variables.h:293
PetscInt mglevels
Definition variables.h:689
PetscInt fish
Definition variables.h:540
PetscInt LV
Definition variables.h:540
PetscReal mu_s
Definition variables.h:376
PetscReal angle
Definition variables.h:556
PetscReal cr33
Definition variables.h:286
PetscInt target_rank
Definition variables.h:190
PetscReal tin[101]
Definition variables.h:620
PetscInt cgrid
Definition variables.h:645
PetscReal f
Definition variables.h:115
BoundaryFaceConfig boundary_faces[6]
Definition variables.h:648
PetscMPIInt rank_yp
Definition variables.h:177
PetscInt thin
Definition variables.h:536
PetscReal z_bp_in[101][3270]
Definition variables.h:309
PetscReal * s2
Definition variables.h:407
MatNullSpace nullsp
Definition variables.h:664
PetscInt grid1d
Definition variables.h:562
PetscInt block_number
Definition variables.h:562
Vec lIEta
Definition variables.h:675
PetscInt nbnumber
Definition variables.h:321
PetscReal * y_com
Definition variables.h:406
PetscInt num_point_data_fields
Definition variables.h:487
PetscReal * radvec
Definition variables.h:316
PetscReal * cent_y
Definition variables.h:329
PetscInt * KSKE
Definition variables.h:665
PetscReal * Bvel_v
Definition variables.h:313
PetscReal F_z_old
Definition variables.h:378
PetscInt ii1
Definition variables.h:290
BCFace identifiedInletBCFace
Definition variables.h:650
PetscInt da_procs_z
Definition variables.h:568
PetscInt blkpbc
Definition variables.h:563
PetscReal M_z
Definition variables.h:380
PetscInt sediment
Definition variables.h:535
PetscInt CV_zs
Definition variables.h:399
PetscReal J[3][3]
Definition variables.h:331
PetscReal R[3][3]
Definition variables.h:394
PetscReal F_y_real
Definition variables.h:379
PetscInt cell[3]
Definition variables.h:166
PetscReal Max_ybc
Definition variables.h:398
PetscReal xmax
Definition variables.h:409
PetscInt jj2
Definition variables.h:290
PetscReal * z_bp_o
Definition variables.h:326
SNES snespacker
Definition variables.h:430
Vec lIZet
Definition variables.h:675
UserCtx * user_f
Definition variables.h:690
PetscInt channelz
Definition variables.h:562
Vec lNvert
Definition variables.h:657
Vec Phi
Definition variables.h:657
Cmpnts pmin
Definition variables.h:282
PetscInt CV_ys
Definition variables.h:399
SimCtx * simCtx
Back-pointer to the master simulation context.
Definition variables.h:633
PetscInt rans
Definition variables.h:578
PetscReal zmin
Definition variables.h:409
PetscReal StartTime
Definition variables.h:526
PetscReal Mdpdn_x_old
Definition variables.h:388
ParticleLocationStatus
Defines the state of a particle with respect to its location and migration status during the iterativ...
Definition variables.h:134
@ LOST
Definition variables.h:138
@ NEEDS_LOCATION
Definition variables.h:135
@ ACTIVE_AND_LOCATED
Definition variables.h:136
@ UNINITIALIZED
Definition variables.h:139
@ MIGRATING_OUT
Definition variables.h:137
PetscReal * st3
Definition variables.h:407
PetscInt dgf_az
Definition variables.h:537
PetscReal * z_midp
Definition variables.h:405
PetscReal FluxOutSum
Definition variables.h:571
PetscReal * cent_x
Definition variables.h:329
PetscMPIInt rank_ym
Definition variables.h:177
PetscReal CMy_c
Definition variables.h:557
Vec K_Omega_o
Definition variables.h:680
PetscReal cs2
Definition variables.h:284
PetscInt jj1
Definition variables.h:290
PetscReal cr22
Definition variables.h:286
Vec IZet
Definition variables.h:675
PetscMPIInt rank_xp
Definition variables.h:176
Vec Centz
Definition variables.h:674
char output_prefix[256]
Definition variables.h:454
PetscInt n_P
Definition variables.h:365
char ** bcs_files
Definition variables.h:570
PetscReal * x_bp_o
Definition variables.h:326
struct BC_Param_s * next
Definition variables.h:239
PetscReal max_angle
Definition variables.h:556
Vec IEta
Definition variables.h:675
PetscReal cr1
Definition variables.h:277
PetscReal Tow_wt
Definition variables.h:366
PetscReal acc[3]
Definition variables.h:393
PetscReal imp_rtol
Definition variables.h:544
PetscReal Min_X
Definition variables.h:640
PetscReal * head_ang
Definition variables.h:406
char * key
Definition variables.h:237
PetscInt * nv1
Definition variables.h:323
PetscInt ksc
Definition variables.h:643
PetscReal Tow_wn
Definition variables.h:366
PetscInt KM
Definition variables.h:639
Vec Distance
Definition variables.h:680
PetscReal st
Definition variables.h:549
PetscInt duplicate
Definition variables.h:596
PetscInt tiout
Definition variables.h:525
PetscReal xmin
Definition variables.h:409
PetscInt implicit
Definition variables.h:543
Vec lZet
Definition variables.h:673
PetscBool assignedA
Definition variables.h:669
UserMG usermg
Definition variables.h:599
#define MAX_FIELD_LIST_LENGTH
Definition variables.h:434
char allowedFile[PETSC_MAX_PATH_LEN]
Definition variables.h:600
PetscInt local_index
Definition variables.h:189
Vec Csi
Definition variables.h:673
PetscBool rstart_flg
Definition variables.h:528
PetscInt da_procs_y
Definition variables.h:568
PetscReal d_i
Definition variables.h:278
PetscInt Clsnbpt_j
Definition variables.h:367
PetscReal cs1
Definition variables.h:284
PetscInt n_subit
Definition variables.h:404
Vec K_Omega
Definition variables.h:680
PetscReal imp_atol
Definition variables.h:544
PetscInt testfilter_1d
Definition variables.h:581
BCHandlerType
Defines the specific computational "strategy" for a boundary handler.
Definition variables.h:220
@ BC_HANDLER_INLET_PULSANTILE_FLUX
Definition variables.h:224
@ BC_HANDLER_INLET_PARABOLIC
Definition variables.h:223
@ BC_HANDLER_INLET_CONSTANT_VELOCITY
Definition variables.h:224
@ BC_HANDLER_INTERFACE_OVERSET
Definition variables.h:227
@ BC_HANDLER_INLET_DEVELOPED_PROFILE
Definition variables.h:224
@ BC_HANDLER_WALL_MOVING
Definition variables.h:222
@ BC_HANDLER_NOGRAD_COPY_GHOST
Definition variables.h:221
@ BC_HANDLER_WALL_NOSLIP
Definition variables.h:222
@ BC_HANDLER_OUTLET_CONSERVATION
Definition variables.h:225
@ BC_HANDLER_PERIODIC
Definition variables.h:227
@ BC_HANDLER_FARFIELD_NONREFLECTING
Definition variables.h:226
@ BC_HANDLER_OUTLET_PRESSURE
Definition variables.h:225
@ BC_HANDLER_SYMMETRY_PLANE
Definition variables.h:223
@ BC_HANDLER_UNDEFINED
Definition variables.h:221
char output_fields_averaged[1024]
Definition variables.h:453
PetscReal M_z_real
Definition variables.h:382
PetscReal * ns_y
Definition variables.h:311
PetscInt FieldInitialization
Definition variables.h:550
#define MAX_PIPELINE_LENGTH
Definition variables.h:433
PetscReal ren
Definition variables.h:549
PetscReal Mdpdn_y_old
Definition variables.h:388
PetscReal F_z
Definition variables.h:377
PetscReal Crotz
Definition variables.h:566
BCHandlerType handler_type
Definition variables.h:265
DM post_swarm
Definition variables.h:701
PetscInt InitialGuessOne
Definition variables.h:548
PetscReal * tau0
Definition variables.h:313
PetscReal M_z_rm3
Definition variables.h:384
Vec lUcont_rm1
Definition variables.h:661
PetscReal wavelength
Definition variables.h:556
PetscInt mixed
Definition variables.h:579
PetscReal * y_bp0
Definition variables.h:325
PetscInt zm_cell
Definition variables.h:184
PetscReal M_y_real
Definition variables.h:382
Vec lIAj
Definition variables.h:675
SurfElmtInfo * elmtinfo
Definition variables.h:396
Cmpnts max_coords
Maximum x, y, z coordinates of the bounding box.
Definition variables.h:155
PetscInt zs_cell
Definition variables.h:183
PetscReal ct33
Definition variables.h:294
IBMVNodes * ibmv
Definition variables.h:593
PetscInt _this
Definition variables.h:643
PetscReal uinr[101][1001]
Definition variables.h:620
PetscReal L_o[3]
Definition variables.h:392
Vec lKEta
Definition variables.h:677
PetscInt k1
Definition variables.h:276
PetscInt jj3
Definition variables.h:290
PetscInt * nv3
Definition variables.h:303
char criticalFuncsFile[PETSC_MAX_PATH_LEN]
Definition variables.h:609
Cmpnts * uold
Definition variables.h:310
PetscReal St_exp
Definition variables.h:556
PetscInt kcell
Definition variables.h:368
PetscReal dt
Definition variables.h:527
PetscReal ry
Definition variables.h:644
PetscReal V
Definition variables.h:328
PetscReal * st1
Definition variables.h:407
PetscInt * connectivity
Definition variables.h:488
PetscInt StepsToRun
Definition variables.h:524
PetscReal y
Definition variables.h:110
PetscInt k_periodic
Definition variables.h:563
PetscInt inletprofile
Definition variables.h:562
PetscReal * cent_z
Definition variables.h:329
PetscInt * offsets
Definition variables.h:489
PetscInt k33
Definition variables.h:285
Vec Ucat_nodal
Definition variables.h:703
RankNeighbors neighbors
Definition variables.h:642
Vec lUstar
Definition variables.h:652
PetscReal * cent_z
Definition variables.h:312
PetscReal cdisy
Definition variables.h:549
PetscReal Max_xbc
Definition variables.h:398
PetscReal * z_bp0
Definition variables.h:325
PetscInt k3
Definition variables.h:276
PetscReal cr11
Definition variables.h:286
PetscInt jj22
Definition variables.h:293
char ** criticalFuncs
Definition variables.h:611
PetscBool rstart_fsi
Definition variables.h:595
PetscInt timeStep
Definition variables.h:447
PetscInt np
Definition variables.h:585
PetscReal cs22
Definition variables.h:289
PetscInt jsc
Definition variables.h:643
PetscReal x_bp_in[101][3270]
Definition variables.h:309
PetscInt smode
Definition variables.h:292
Cmpnts * qvec
Definition variables.h:315
PetscReal Max_Y
Definition variables.h:640
PetscInt thislevel
Definition variables.h:419
PetscBool averaging
Definition variables.h:582
PetscReal y_min
Definition variables.h:314
Vec lJCsi
Definition variables.h:676
char * value
Definition variables.h:238
PetscReal * x_com
Definition variables.h:406
PetscInt ccc
Definition variables.h:574
PetscReal * CCp
Definition variables.h:308
BCFace face_id
Definition variables.h:245
PetscReal q_r[4]
Definition variables.h:394
Vec lCs
Definition variables.h:680
PetscReal M_y_rm2
Definition variables.h:383
PetscReal ratio
Definition variables.h:575
#define MAX_FILENAME_LENGTH
Definition variables.h:435
PetscInt Node
Definition variables.h:336
PetscReal d_ss
Definition variables.h:295
PetscInt kk2
Definition variables.h:290
PetscInt mg_idx
Definition variables.h:545
Vec Ucont
Definition variables.h:657
PetscInt thislevel
Definition variables.h:426
PetscReal * z_bp
Definition variables.h:324
PetscInt StartStep
Definition variables.h:523
PetscInt mg_MAX_IT
Definition variables.h:545
PetscReal Mdpdn_z_old
Definition variables.h:388
PetscReal red_vel
Definition variables.h:376
Cmpnts min_coords
Minimum x, y, z coordinates of the bounding box.
Definition variables.h:154
PetscBool OnlySetup
Definition variables.h:529
PetscInt rotatefsi
Definition variables.h:535
PetscReal F_y_old
Definition variables.h:378
PetscInt cell
Definition variables.h:283
PetscReal M_y_rm3
Definition variables.h:384
Vec Ubcs
Boundary condition velocity values. (Comment: "An ugly hack, waste of memory")
Definition variables.h:120
PetscReal * pres
Definition variables.h:313
PetscReal cdisz
Definition variables.h:549
Vec Qcrit
Definition variables.h:704
PetscInt jcell
Definition variables.h:368
PetscReal S_realm1[6]
Definition variables.h:374
PetscReal * nt_x
Definition variables.h:311
PetscReal * y_bp_o
Definition variables.h:326
PetscScalar x
Definition variables.h:100
Cmpnts loc
Definition variables.h:167
PetscReal y_max
Definition variables.h:314
PetscReal ct11
Definition variables.h:294
Vec JZet
Definition variables.h:676
PetscReal x_c
Definition variables.h:330
PetscReal x_max
Definition variables.h:314
PetscInt dgf_x
Definition variables.h:537
Vec Ucat_square_sum
Definition variables.h:683
PetscReal dS[6]
Definition variables.h:395
PetscInt pizza
Definition variables.h:540
PetscReal MaxDiv
Definition variables.h:606
PetscMPIInt destination_rank
Definition variables.h:171
Vec P_sum
Definition variables.h:683
Vec Centx
Definition variables.h:674
BCS Bcs
Definition variables.h:651
PetscReal x
Definition variables.h:110
UserCtx * user
Definition variables.h:244
PetscReal atk
Definition variables.h:395
char grid_file[PETSC_MAX_PATH_LEN]
Definition variables.h:567
PetscReal * y_bp0
Definition variables.h:306
PetscReal * x_bp0
Definition variables.h:325
Vec lPhi
Definition variables.h:657
PetscReal max_cs
Definition variables.h:580
PetscInt FoundAroundcell
Definition variables.h:369
PetscInt invicid
Definition variables.h:536
char ** allowedFuncs
Definition variables.h:602
PetscInt xm_cell
Definition variables.h:184
struct IBMListNode * next
Definition variables.h:354
Vec lUcont_o
Definition variables.h:660
PetscInt * nv4
Definition variables.h:323
PetscReal * nf_x
Definition variables.h:304
RankCellInfo * RankCellInfoMap
Definition variables.h:696
PetscInt radi
Definition variables.h:558
PetscReal ymin
Definition variables.h:409
const PetscReal * global_inflow_sum
Definition variables.h:246
PetscReal S_ang_r[6]
Definition variables.h:375
VTKFileType fileType
Definition variables.h:482
PetscReal * nt_y
Definition variables.h:311
DM * da_c
Definition variables.h:691
PetscReal * ns_z
Definition variables.h:311
PetscInt * nv3
Definition variables.h:323
PetscInt mg_poItr
Definition variables.h:545
PetscReal Min_ybc
Definition variables.h:398
PetscInt pbc[3]
Definition variables.h:390
PetscInt STRONG_COUPLING
Definition variables.h:548
PetscInt ym_cell
Definition variables.h:184
PetscReal S_real[6]
Definition variables.h:374
PetscReal S_new[6]
Definition variables.h:374
PetscInt nk
Definition variables.h:280
Vec Ucat_o
Definition variables.h:660
char output_fields_instantaneous[1024]
Definition variables.h:452
PetscInt MaxDivx
Definition variables.h:607
PetscReal L_n[3]
Definition variables.h:392
UserCtx * user_c
Definition variables.h:690
PetscInt j33
Definition variables.h:285
PetscInt jj33
Definition variables.h:293
PetscReal t
Definition variables.h:115
PetscReal * nf_y
Definition variables.h:304
PetscInt poisson
Definition variables.h:546
PetscInt k_homo_filter
Definition variables.h:581
PetscInt * nv1
Definition variables.h:303
Cmpnts * u
Definition variables.h:310
PetscScalar * data
Definition variables.h:472
PetscInt iimode
Definition variables.h:288
PetscInt MaxDivy
Definition variables.h:607
ParticleLocationStatus location_status
Definition variables.h:170
PetscInt NumberOfBodies
Definition variables.h:555
PetscReal dS_o[6]
Definition variables.h:395
PetscReal * cent_x
Definition variables.h:312
PetscInt Ogrid
Definition variables.h:562
char eulerianExt[8]
Definition variables.h:461
PetscReal F_x_real
Definition variables.h:379
PetscInt Need3rdPoint
Definition variables.h:369
PetscInt MaxDivz
Definition variables.h:607
PetscInt Clsnbpt_k
Definition variables.h:367
PetscReal damp
Definition variables.h:376
BoundingBox * bboxlist
Definition variables.h:588
PetscInt j_homo_filter
Definition variables.h:581
Vec lKZet
Definition variables.h:677
PetscReal * x_midp
Definition variables.h:405
Vec Eta
Definition variables.h:673
PetscReal * cfsum
Definition variables.h:308
PetscReal Max_zbc
Definition variables.h:398
PetscInt n_elmt
Definition variables.h:302
PetscInt eel
Definition variables.h:540
PetscReal Mdpdn_x
Definition variables.h:387
PetscInt MaxDivFlatArg
Definition variables.h:607
Vec lNu_t
Definition variables.h:680
PetscReal FluxInSum
Definition variables.h:571
PetscReal * s3
Definition variables.h:407
PetscMPIInt rank_xm
Definition variables.h:176
Vec Nu_t
Definition variables.h:680
DM * da_f
Definition variables.h:691
PetscReal rz
Definition variables.h:644
PetscReal d_ii
Definition variables.h:287
PetscReal * ns_x
Definition variables.h:311
PetscReal z_c
Definition variables.h:330
Vec lJEta
Definition variables.h:676
Vec lCsi
Definition variables.h:673
PetscInt j1
Definition variables.h:276
PetscReal M_z_rm2
Definition variables.h:383
PetscReal CMz_c
Definition variables.h:557
Vec lGridSpace
Definition variables.h:673
PetscBool generate_grid
Definition variables.h:564
PetscInt thislevel
Definition variables.h:689
char particle_pipeline[1024]
Definition variables.h:455
PetscInt * nv2
Definition variables.h:303
BC_Param * params
Definition variables.h:266
PetscReal * nf_z
Definition variables.h:304
PetscReal imp_stol
Definition variables.h:544
PetscReal cr2
Definition variables.h:277
PetscInt nAllowed
Definition variables.h:603
Vec ICsi
Definition variables.h:675
PetscReal z_max
Definition variables.h:314
PetscScalar z
Definition variables.h:100
Vec pUcont
Definition variables.h:661
PetscInt OutputFreq
Definition variables.h:531
Vec lK_Omega_o
Definition variables.h:680
Vec lKCsi
Definition variables.h:677
Vec Ucat
Definition variables.h:657
PetscReal ct3
Definition variables.h:291
Vec ParticleCount
Definition variables.h:697
PetscReal * z_bp0
Definition variables.h:306
IBMInfo ibm_intp
Definition variables.h:353
PetscReal S_ang_n[6]
Definition variables.h:375
PetscReal FluxIntfcSum
Definition variables.h:654
PetscBool ksc
Definition variables.h:427
Vec lK_Omega
Definition variables.h:680
IBMInfo * fsi_intp
Definition variables.h:397
Vec Ucont_o
Definition variables.h:660
struct node * next
Definition variables.h:337
PetscInt i_homo_filter
Definition variables.h:581
PetscInt index
Definition variables.h:347
PetscReal ct2
Definition variables.h:291
PetscInt JM
Definition variables.h:639
PetscReal M_x_old
Definition variables.h:381
PetscInt wallfunction
Definition variables.h:579
PetscInt ii11
Definition variables.h:293
PetscInt kk1
Definition variables.h:290
PetscInt rheology
Definition variables.h:535
struct list List
Head of a generic C-style linked list.
PetscReal Flux_in
Definition variables.h:556
PetscReal x_min
Definition variables.h:314
char name[64]
Definition variables.h:470
PetscReal I_inv[3][3]
Definition variables.h:391
PetscInt k2
Definition variables.h:276
PetscReal L_r[3]
Definition variables.h:392
PetscScalar * coords
Definition variables.h:485
PetscInt mglevels
Definition variables.h:425
PetscReal F_z_real
Definition variables.h:379
PetscReal cdisx
Definition variables.h:549
PetscReal F_x_old
Definition variables.h:378
PetscReal Min_Z
Definition variables.h:640
PetscInt dgf_ax
Definition variables.h:537
PetscReal cfl
Definition variables.h:549
PetscInt mglevels
Definition variables.h:545
DM packer
Definition variables.h:420
Vec Ucat_sum
Definition variables.h:683
PetscInt num_bcs_files
Definition variables.h:569
PetscReal q[4]
Definition variables.h:394
DM dm_swarm
Definition variables.h:587
PetscBool useCfg
Definition variables.h:601
PetscBool readFields
Definition variables.h:586
PetscInt central
Definition variables.h:548
PetscBool useCriticalFuncsCfg
Definition variables.h:610
char process_pipeline[1024]
Definition variables.h:451
PetscInt bctype[6]
Definition variables.h:653
PetscInt particle_output_freq
Definition variables.h:458
PetscReal Fluxsum
Definition variables.h:571
PetscReal ct1
Definition variables.h:291
Vec lJZet
Definition variables.h:676
Vec Nvert_o
Definition variables.h:660
PetscReal a_c[3]
Definition variables.h:386
char particle_fields[1024]
Definition variables.h:456
PetscBool outputParticles
Definition variables.h:448
PetscReal Croty
Definition variables.h:566
PetscReal S_old[6]
Definition variables.h:374
VTKFieldInfo point_data_fields[20]
Definition variables.h:486
PetscInt i33
Definition variables.h:285
Vec IAj
Definition variables.h:675
PetscReal S_ang_rm1[6]
Definition variables.h:375
PetscReal Mdpdn_y
Definition variables.h:387
PetscReal * z_bp
Definition variables.h:305
PetscReal M_y_old
Definition variables.h:381
PetscInt n_time
Definition variables.h:404
PetscReal * st2
Definition variables.h:407
PetscInt Clsnbpt_i
Definition variables.h:367
PetscReal grid_rotation_angle
Definition variables.h:565
PetscInt dynamic_freq
Definition variables.h:579
PetscReal cs33
Definition variables.h:289
PetscScalar y
Definition variables.h:105
PetscInt da_procs_x
Definition variables.h:568
Vec JAj
Definition variables.h:676
PetscReal U_bc
Definition variables.h:573
Vec KEta
Definition variables.h:677
PetscReal Max_X
Definition variables.h:640
Cmpnts InitialConstantContra
Definition variables.h:551
PetscMPIInt rank_zp
Definition variables.h:178
Vec Ucont_rm1
Definition variables.h:661
PetscReal zmax
Definition variables.h:409
PetscReal Min_Y
Definition variables.h:640
PetscInt i_periodic
Definition variables.h:563
Vec lUcont
Definition variables.h:657
PetscBool jsc
Definition variables.h:427
PetscInt step
Definition variables.h:521
PetscReal * Bvel_u
Definition variables.h:313
PetscReal M_y
Definition variables.h:380
PetscReal Mdpdn_z
Definition variables.h:387
PetscReal AreaOutSum
Definition variables.h:572
PetscReal * x_bp
Definition variables.h:305
PetscInt dgf_ay
Definition variables.h:537
PetscReal r[101]
Definition variables.h:620
Vec lAj
Definition variables.h:673
IBMNodes * ibm
Definition variables.h:686
Vec lICsi
Definition variables.h:675
PetscInt testfilter_ik
Definition variables.h:581
PetscInt GridOrientation
Definition variables.h:643
PetscInt mz
Definition variables.h:483
DMDALocalInfo info
Definition variables.h:637
Vec dUcont
Definition variables.h:661
PetscInt ni
Definition variables.h:280
PetscReal chact_leng
Definition variables.h:559
PetscInt hydro
Definition variables.h:540
Vec lUcat
Definition variables.h:657
PostProcessParams * pps
Definition variables.h:616
PetscInt ii3
Definition variables.h:290
PetscScalar y
Definition variables.h:100
PetscInt ii2
Definition variables.h:290
PetscMPIInt size
Definition variables.h:517
PetscInt kk3
Definition variables.h:290
PetscScalar x
Definition variables.h:105
PetscReal Tow_ws
Definition variables.h:366
ExecutionMode
Defines the execution mode of the application.
Definition variables.h:495
@ EXEC_MODE_UNKNOWN
Definition variables.h:498
@ EXEC_MODE_SOLVER
Definition variables.h:496
@ EXEC_MODE_POSTPROCESSOR
Definition variables.h:497
PetscInt IM
Definition variables.h:639
PetscInt * nv2
Definition variables.h:323
PetscInt j22
Definition variables.h:285
PetscReal FluxIntpSum
Definition variables.h:654
Cmpnts weights
Definition variables.h:169
Face
Enumerates the six faces of a cubic cell for distance calculations.
Definition variables.h:143
@ TOP
Definition variables.h:144
@ FRONT
Definition variables.h:144
@ BOTTOM
Definition variables.h:144
@ BACK
Definition variables.h:144
@ LEFT
Definition variables.h:144
@ NUM_FACES
Definition variables.h:144
@ RIGHT
Definition variables.h:144
Vec lEta
Definition variables.h:673
PetscReal M_x_real
Definition variables.h:382
KSP ksp
Definition variables.h:664
char particleExt[8]
Definition variables.h:462
PetscReal * y_bp
Definition variables.h:305
PetscInt kk33
Definition variables.h:293
PetscReal A_tot
Definition variables.h:377
Vec KZet
Definition variables.h:677
Cmpnts * uold
Definition variables.h:327
PetscInt n_v
Definition variables.h:322
Vec Cent
Definition variables.h:673
Vec Ucat_cross_sum
Definition variables.h:683
PetscInt regime
Definition variables.h:558
PetscInt kk11
Definition variables.h:293
PetscInt les
Definition variables.h:578
PetscBool isc
Definition variables.h:427
PetscReal cs3
Definition variables.h:284
Vec Nvert
Definition variables.h:657
Vec KCsi
Definition variables.h:677
MGCtx * mgctx
Definition variables.h:428
struct list_node Node_List
A generic C-style linked list node for indices.
PetscInt mg_preItr
Definition variables.h:545
Vec lNvert_o
Definition variables.h:660
BCType mathematical_type
Definition variables.h:264
PetscReal * s1
Definition variables.h:407
Vec Centy
Definition variables.h:674
Cmpnts * u
Definition variables.h:327
PetscReal rx
Definition variables.h:644
PetscReal Power
Definition variables.h:389
PetscViewer logviewer
Definition variables.h:530
PetscReal * z_bp_o
Definition variables.h:307
PetscBool multinullspace
Definition variables.h:666
PetscReal * dV0
Definition variables.h:328
PetscReal Min_xbc
Definition variables.h:398
PetscInt n_midp
Definition variables.h:404
PetscReal * Bvel_w
Definition variables.h:313
PetscReal alpha[3]
Definition variables.h:393
ExecutionMode exec_mode
Definition variables.h:532
PetscReal ct22
Definition variables.h:294
PetscInt ParticleInitialization
Definition variables.h:589
PetscInt startTime
Definition variables.h:445
PetscInt nj
Definition variables.h:280
PetscReal L_dim
Definition variables.h:556
PetscInt imp_MAX_IT
Definition variables.h:543
Vec lJAj
Definition variables.h:676
BoundingBox bbox
Definition variables.h:641
PetscInt my
Definition variables.h:483
PetscInt cop
Definition variables.h:540
PetscReal ti
Definition variables.h:522
PetscInt Pipe
Definition variables.h:540
PetscReal cr3
Definition variables.h:277
PetscReal vnn
Definition variables.h:549
PetscReal Max_Z
Definition variables.h:640
PetscInt rotateframe
Definition variables.h:536
PetscInt64 PID
Definition variables.h:165
IBMNodes * ibm
Definition variables.h:592
PetscReal * x_bp
Definition variables.h:324
PetscInt mx
Definition variables.h:483
PetscInt k11
Definition variables.h:285
PetscInt nCriticalFuncs
Definition variables.h:612
PetscReal summationRHS
Definition variables.h:605
Vec lKAj
Definition variables.h:677
IBMListNode * head
Definition variables.h:359
PetscReal ymax
Definition variables.h:409
PetscInt immersed
Definition variables.h:535
PetscReal * x_bp0
Definition variables.h:306
char PostprocessingControlFile[PETSC_MAX_PATH_LEN]
Definition variables.h:615
node * head
Definition variables.h:342
PetscReal * y_bp_o
Definition variables.h:307
PetscReal y_c
Definition variables.h:385
PetscInt blank
Definition variables.h:536
PetscInt dgf_y
Definition variables.h:537
Vec * lNvert_c
Definition variables.h:692
PetscReal Min_zbc
Definition variables.h:398
PetscReal z_min
Definition variables.h:314
PetscReal x_c
Definition variables.h:385
PetscReal * nt_z
Definition variables.h:311
PetscReal M_z_old
Definition variables.h:381
#define MAX_VTK_FIELD_NAME_LENGTH
Maximum length for VTK field names.
Definition variables.h:438
PetscReal cs11
Definition variables.h:289
PetscInt LoggingFrequency
Definition variables.h:604
PetscReal z_c
Definition variables.h:385
Cmpnts vertices[8]
Coordinates of the eight vertices of the cell.
Definition variables.h:160
PetscInt ii33
Definition variables.h:293
PetscReal F_y
Definition variables.h:377
PetscReal CMx_c
Definition variables.h:557
PetscInt CV_ze
Definition variables.h:399
PetscReal atk_o
Definition variables.h:395
Vec Psi
Definition variables.h:698
Cmpnts * urm1
Definition variables.h:310
PetscInt i2
Definition variables.h:276
Vec P_o
Definition variables.h:660
PetscReal M_x
Definition variables.h:380
PetscReal * tauN
Definition variables.h:313
Vec Uch
Characteristic velocity for boundary conditions.
Definition variables.h:121
BCFace
Identifies the six logical faces of a structured computational block.
Definition variables.h:199
@ BC_FACE_NEG_X
Definition variables.h:200
@ BC_FACE_POS_Z
Definition variables.h:202
@ BC_FACE_POS_Y
Definition variables.h:201
@ BC_FACE_NEG_Z
Definition variables.h:202
@ BC_FACE_POS_X
Definition variables.h:200
@ BC_FACE_NEG_Y
Definition variables.h:201
PetscInt i11
Definition variables.h:285
PetscInt j_periodic
Definition variables.h:563
BoundaryCondition * handler
Definition variables.h:267
PetscReal * y_midp
Definition variables.h:405
PetscInt n_v
Definition variables.h:302
VTKFileType
Enumerates the type of VTK file to be written.
Definition variables.h:476
@ VTK_POLYDATA
Definition variables.h:478
@ VTK_STRUCTURED
Definition variables.h:477
PetscInt nbnumber
Definition variables.h:301
PetscInt wing
Definition variables.h:540
PetscReal * cf
Definition variables.h:308
FSInfo * fsi
Definition variables.h:594
Provides execution context for a boundary condition handler.
Definition variables.h:243
Legacy boundary condition data.
Definition variables.h:119
A node in a linked list for storing key-value parameters from the bcs.dat file.
Definition variables.h:236
Holds the complete configuration for one of the six boundary faces.
Definition variables.h:262
Defines a 3D axis-aligned bounding box.
Definition variables.h:153
Defines the vertices of a single hexahedral grid cell.
Definition variables.h:159
A 3D point or vector with PetscScalar components.
Definition variables.h:99
A 2D point or vector with PetscScalar components.
Definition variables.h:104
A 2D vector of PETSc real numbers (for geometry/coordinates).
Definition variables.h:109
Defines prescribed body motion using splines.
Definition variables.h:403
Holds all data related to the state and motion of a body in FSI.
Definition variables.h:373
Represents a single point in a time-varying flow waveform.
Definition variables.h:114
Holds interpolation and distance information for a single IBM point.
Definition variables.h:275
Head of a linked list for IBM data.
Definition variables.h:358
A linked list node containing IBM interpolation info.
Definition variables.h:352
Represents a collection of nodes forming a surface for the IBM.
Definition variables.h:300
Represents a collection of nodes forming a volume for the IBM.
Definition variables.h:320
Context for Multigrid operations.
Definition variables.h:417
Information needed to migrate a single particle between MPI ranks.
Definition variables.h:188
Defines a particle's core properties for Lagrangian tracking.
Definition variables.h:164
Holds all configuration parameters for a post-processing run.
Definition variables.h:443
A lean struct to hold the global cell ownership range for a single MPI rank.
Definition variables.h:182
Stores the MPI ranks of neighboring subdomains.
Definition variables.h:175
The master context for the entire simulation.
Definition variables.h:513
Information about a surface element for FSI calculations.
Definition variables.h:363
User-defined context containing data specific to a single computational grid level.
Definition variables.h:630
User-level context for managing the entire multigrid hierarchy.
Definition variables.h:424
Stores all necessary information for a single data array in a VTK file.
Definition variables.h:469
Head of a generic C-style linked list.
Definition variables.h:341
A generic C-style linked list node for indices.
Definition variables.h:346
A generic C-style linked list node for integers.
Definition variables.h:335