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