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