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;
74struct PicurvWindow;
76typedef struct UserCtx UserCtx;
77typedef struct BC_Param_s BC_Param; /* Retains _s for linked list safety */
80typedef struct IBMNodes IBMNodes;
81typedef struct IBMVNodes IBMVNodes;
82typedef struct FSInfo FSInfo;
83typedef struct UserMG UserMG;
84typedef struct BoundingBox BoundingBox;
85typedef struct Cell Cell;
86typedef struct Particle Particle;
90typedef struct Cstart Cstart;
91typedef struct MGCtx MGCtx;
94typedef struct VTKMetaData VTKMetaData;
95typedef struct IBMInfo IBMInfo;
97typedef struct ScalingCtx ScalingCtx;
98
99// --- Foundational Geometric and Data Types ---
100
101/** @brief A 3D point or vector with PetscScalar components. */
102typedef struct Cmpnts {
103 PetscScalar x, y, z;
105
106/** @brief A 2D point or vector with PetscScalar components. */
107typedef struct Cmpnts2 {
108 PetscScalar x, y;
110
111/** @brief A 2D vector of PETSc real numbers (for geometry/coordinates). */
112typedef struct Cpt2D {
113 PetscReal x, y;
115
116/** @brief Represents a single point in a time-varying flow waveform. */
117typedef struct FlowWave {
118 PetscReal t, f;
120
121/** @brief Boundary condition data used by the BC pipeline and ghost cell machinery. */
122typedef struct BCS {
123 Vec Ubcs; ///< Physical Cartesian velocity at boundary faces. Full 3D array but only boundary-face entries are meaningful; interior is unused. Consumed by UpdateDummyCells for ghost cell extrapolation.
124 Vec Uch; ///< Characteristic velocity for boundary conditions.
126
127
128//--------------------------------------------------------------------------------
129// 2. PARTICLE LOCATION SYSTEM ENUMS
130//--------------------------------------------------------------------------------
131
132/**
133 * @enum ParticleLocationStatus
134 * @brief Defines the state of a particle with respect to its location and migration
135 * status during the iterative SettleParticles() process.
136 */
144
145/** @brief Enumerates the six faces of a cubic cell for distance calculations. */
146typedef enum {
149
150/** @brief Selects the algorithm used to populate a fresh Eulerian velocity field. */
158
159/** @brief Selects the authoritative velocity representation in a staged file IC. */
164
165
166//--------------------------------------------------------------------------------
167// 3. PARTICLE LOCATION SYSTEM STRUCTS
168//--------------------------------------------------------------------------------
169
170/** @brief Defines a 3D axis-aligned bounding box. */
171typedef struct BoundingBox {
172 Cmpnts min_coords; ///< Minimum x, y, z coordinates of the bounding box.
173 Cmpnts max_coords; ///< Maximum x, y, z coordinates of the bounding box.
175
176/** @brief Defines the vertices of a single hexahedral grid cell. */
177typedef struct Cell {
178 Cmpnts vertices[8]; ///< Coordinates of the eight vertices of the cell.
179} Cell;
180
181/** @brief Defines a particle's core properties for Lagrangian tracking. */
194
195/** @brief Stores the MPI ranks of neighboring subdomains. */
196typedef struct RankNeighbors {
197 PetscMPIInt rank_xm, rank_xp;
198 PetscMPIInt rank_ym, rank_yp;
199 PetscMPIInt rank_zm, rank_zp;
201
202/** @brief A lean struct to hold the global cell ownership range for a single MPI rank. */
203typedef struct RankCellInfo {
207
208/** @brief Information needed to migrate a single particle between MPI ranks. */
209typedef struct MigrationInfo {
210 PetscInt local_index;
211 PetscInt target_rank;
213
214/** @brief Verification-only analytical diffusivity override settings. */
216 PetscBool enabled;
217 char mode[32];
218 char profile[32];
219 PetscReal gamma0;
220 PetscReal slope_x;
222
223/** @brief Verification-only analytical scalar override settings. */
225 PetscBool enabled;
226 char mode[32];
227 char profile[32];
228 PetscReal value;
229 PetscReal phi0;
230 PetscReal slope_x;
231 PetscReal amplitude;
232 PetscReal kx;
233 PetscReal ky;
234 PetscReal kz;
236
237/** @brief Aggregated per-timestep search instrumentation counters. */
254
255
256//--------------------------------------------------------------------------------
257// 4. BOUNDARY CONDITION SYSTEM ENUMS
258//--------------------------------------------------------------------------------
259
260/** @brief Identifies the six logical faces of a structured computational block. */
266
267/** @brief Primary flow direction for streamwise IC and Poiseuille modes.
268 * Even values = positive-face-normal direction; odd = negative.
269 * axis = value / 2 (0=Xi, 1=Eta, 2=Zeta).
270 * sign = (value % 2 == 0) ? +1 : -1.
271 */
281
282/** @brief Defines the general mathematical/physical Category of a boundary. */
283typedef enum {
286 WALL = 1 ,
290 INLET = 5,
297 OGRID = 12,
299 // Note: Legacy 14 can be a JUNCTION with a specific handler.
300} BCType;
301
302/** @brief Defines the specific computational "strategy" for a boundary handler. */
321
322
330
331//--------------------------------------------------------------------------------
332// 5. BOUNDARY CONDITION SYSTEM STRUCTS
333//--------------------------------------------------------------------------------
334
335/** @brief A node in a linked list for storing key-value parameters from the bcs.dat file. */
337 char *key;
338 char *value;
340};
341
342/** @brief Provides execution context for a boundary condition handler. */
351
352/** @brief The "virtual table" struct for a boundary condition handler object. */
353typedef struct BoundaryCondition {
356 void *data;
357 PetscErrorCode (*Initialize)(BoundaryCondition *self, BCContext *ctx);
358 PetscErrorCode (*PreStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow);
359 PetscErrorCode (*Apply)(BoundaryCondition *self, BCContext *ctx);
360 PetscErrorCode (*PostStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow);
361 PetscErrorCode (*UpdateUbcs)(BoundaryCondition *self,BCContext *ctx);
362 PetscErrorCode (*Destroy)(BoundaryCondition *self);
364
365/** @brief Holds the complete configuration for one of the six boundary faces. */
373
374//--------------------------------------------------------------------------------
375// 6. IMBERSED BOUNDARY METHOD (IBM) & FSI STRUCTS
376//--------------------------------------------------------------------------------
377
378/** @brief Holds interpolation and distance information for a single IBM point. */
379typedef struct IBMInfo {
380 PetscInt i1, j1, k1, i2, j2, k2, i3, j3, k3;
381 PetscReal cr1, cr2, cr3;
382 PetscReal d_i;
383 PetscInt imode;
384 PetscInt ni, nj, nk;
385 PetscReal d_s;
387 PetscInt cell;
388 PetscReal cs1, cs2, cs3;
389 PetscInt i11, j11, k11, i22, j22, k22, i33, j33, k33;
390 PetscReal cr11, cr22, cr33;
391 PetscReal d_ii;
392 PetscInt iimode;
393 PetscReal cs11, cs22, cs33;
394 PetscInt ii1, jj1, kk1, ii2, jj2, kk2, ii3, jj3, kk3;
395 PetscReal ct1, ct2, ct3;
396 PetscInt smode;
397 PetscInt ii11, jj11, kk11, ii22, jj22, kk22, ii33, jj33, kk33;
398 PetscReal ct11, ct22, ct33;
399 PetscReal d_ss;
400 PetscInt ssmode;
401} IBMInfo;
402
403/** @brief Represents a collection of nodes forming a surface for the IBM. */
404typedef struct IBMNodes {
405 PetscInt nbnumber;
406 PetscInt n_v, n_elmt;
407 PetscInt *nv1, *nv2, *nv3;
408 PetscReal *nf_x, *nf_y, *nf_z;
409 PetscReal *x_bp, *y_bp, *z_bp;
410 PetscReal *x_bp0, *y_bp0, *z_bp0;
411 PetscReal *x_bp_o, *y_bp_o, *z_bp_o;
412 PetscReal *cf, *cfsum, *CCp;
413 PetscReal x_bp_in[101][3270], y_bp_in[101][3270], z_bp_in[101][3270];
415 PetscReal *dA, *nt_x, *nt_y, *nt_z, *ns_x, *ns_y, *ns_z;
416 PetscReal *cent_x, *cent_y, *cent_z;
417 PetscReal *pres, *tau0, *tauN, *Bvel_u, *Bvel_v, *Bvel_w;
420 PetscReal *radvec;
421} IBMNodes;
422
423/** @brief Represents a collection of nodes forming a volume for the IBM. */
424typedef struct IBMVNodes {
425 PetscInt nbnumber;
426 PetscInt n_v, n_elmt;
427 PetscInt *nv1, *nv2, *nv3, *nv4;
428 PetscReal *x_bp, *y_bp, *z_bp;
429 PetscReal *x_bp0, *y_bp0, *z_bp0;
430 PetscReal *x_bp_o, *y_bp_o, *z_bp_o;
432 PetscReal V, *dV0;
433 PetscReal *cent_x, *cent_y, *cent_z;
434 PetscReal x_c, y_c, z_c;
435 PetscReal J[3][3], I_inv[3][3];
436} IBMVNodes;
437
438/** @brief A generic C-style linked list node for integers. */
439typedef struct node{
440 PetscInt Node;
441 struct node *next;
443
444/** @brief Head of a generic C-style linked list. */
445typedef struct list{
448
449/** @brief A generic C-style linked list node for indices. */
450typedef struct list_node {
451 PetscInt index;
454
455/** @brief A linked list node containing IBM interpolation info. */
460
461/** @brief Head of a linked list for IBM data. */
465
466/** @brief Information about a surface element for FSI calculations. */
467typedef struct SurfElmtInfo {
468 PetscReal P;
469 PetscInt n_P;
470 PetscReal Tow_ws, Tow_wt, Tow_wn;
472 PetscInt icell, jcell, kcell;
475
476/** @brief Holds all data related to the state and motion of a body in FSI. */
477typedef struct FSInfo {
478 PetscReal S_new[6], S_old[6], S_real[6], S_realm1[6];
479 PetscReal S_ang_n[6], S_ang_o[6], S_ang_r[6], S_ang_rm1[6];
480 PetscReal red_vel, damp, mu_s;
481 PetscReal F_x, F_y, F_z, A_tot;
484 PetscReal M_x, M_y, M_z;
489 PetscReal x_c, y_c, z_c;
490 PetscReal a_c[3];
493 PetscReal Power, clone;
494 PetscInt pbc[3];
495 PetscReal I_inv[3][3];
496 PetscReal L_n[3], L_o[3], L_r[3];
497 PetscReal alpha[3], acc[3];
498 PetscReal R[3][3], q[4], q_r[4];
499 PetscReal dS[6], dS_o[6], atk, atk_o;
503 PetscInt CV_ys, CV_ye, CV_zs, CV_ze;
504} FSInfo;
505
506/** @brief Defines prescribed body motion using splines. */
507typedef struct Cstart {
509 PetscReal *x_midp, *y_midp, *z_midp;
510 PetscReal *x_com, *y_com, *head_ang;
511 PetscReal *s1, *s2, *s3, *st1, *st2, *st3;
512 Mat Mphi;
513 PetscReal xmin, xmax, ymin, ymax, zmin, zmax;
514} Cstart;
515
516//--------------------------------------------------------------------------------
517// 7. LES/RANS TURBULENCE MODEL STRUCTS & ENUMS
518//--------------------------------------------------------------------------------
519/** @brief Identifies the six logical faces of a structured computational block. */
525//--------------------------------------------------------------------------------
526// 8. MULTIGRID, SOLVERS AND POST-PROCESSING STRUCTS AND ENUMS
527//--------------------------------------------------------------------------------
528
529/** @brief Enumerator to identify the implemented momentum solver strategies.
530 *
531 * Add new enum values only when the parser, runtime dispatch, docs, and tests
532 * are updated in the same change.
533 */
541
542/** @brief Selects the runtime solution-convergence diagnostics mode. */
549
550/** @brief Enumerator to identify the particle initialization strategy. */
551typedef enum {
552 PARTICLE_INIT_SURFACE_RANDOM = 0, /**< Random placement on the inlet face */
553 PARTICLE_INIT_VOLUME = 1, /**< Random volumetric distribution across the domain */
554 PARTICLE_INIT_POINT_SOURCE = 2, /**< All particles at a fixed (psrc_x,psrc_y,psrc_z) — for validation */
555 PARTICLE_INIT_SURFACE_EDGES = 3 /**< Deterministic placement at inlet face edges */
557
558/**
559 * @brief Selects the grid-to-particle interpolation method.
560 *
561 * - INTERP_TRILINEAR: Direct trilinear from 8 nearest cell centers (second-order on curvilinear grids).
562 * - INTERP_CORNER_AVERAGED: Legacy center-to-corner average, then trilinear from corners.
563 */
568
569/** @brief Context for Multigrid operations. */
570typedef struct MGCtx {
572 PetscInt thislevel;
574} MGCtx;
575
576/** @brief User-level context for managing the entire multigrid hierarchy. */
577typedef struct UserMG {
578 PetscInt mglevels;
579 PetscInt thislevel;
580 PetscBool isc, jsc, ksc;
584} UserMG;
585
586#define MAX_PIPELINE_LENGTH 1024
587#define MAX_FIELD_LIST_LENGTH 1024
588#define MAX_FILENAME_LENGTH 256
589/// Defines the maximum number of data fields for VTK point data.
590#define MAX_POINT_DATA_FIELDS 20
591#define MAX_VTK_FIELD_NAME_LENGTH 64 ///< Maximum length for VTK field names.
592/**
593 * @brief Holds all configuration parameters for a post-processing run.
594 * This is an enhanced version combining command-line and file-based settings.
595 */
596typedef struct PostProcessParams {
597 // -- Source Directory --- (For Data)
598 char source_dir[PETSC_MAX_PATH_LEN];
599
600 // --- Time Controls (can be set by command line or file) ---
601 PetscInt startTime;
602 PetscInt endTime;
603 PetscInt timeStep;
605
606 // --- Configuration primarily from the .cfg file ---
614
615 // --- Statistics Pipeline (global reductions → CSV files) ---
616 char statistics_pipeline[MAX_PIPELINE_LENGTH]; /**< e.g. "ComputeMSD" */
617 char statistics_output_prefix[MAX_FILENAME_LENGTH]; /**< basename for CSV output, e.g. "Stats" */
618
619 // --- Field Statistics (accumulated window state → derived fields) ---
620 /** Comma-separated window names to derive; empty disables the pipeline. */
622 /** Comma-separated outputs: mean, reynolds_stress, rms, tke, flux. */
624 /** Comma-separated formats: vtk for derived fields, csv for the convergence history. */
626 /** Committed step supplying the state; negative means the step being processed. */
628
629 // --- Legacy settings ---
630 char eulerianExt[8]; // from original PostProcessParams (repurposed for PreCheckAndResize() as the input file extension.)
631 char particleExt[8]; // from original PostProcessParams
632
633 // --- Processing Parameters ---
634 PetscInt reference[3]; // Reference point for normalizing any field against.
635
637
638/**
639 * @brief Stores all necessary information for a single data array in a VTK file.
640 */
641typedef struct VTKFieldInfo {
642 char name[MAX_VTK_FIELD_NAME_LENGTH]; // Name of the data field
643 PetscInt num_components; // 1 for scalar, 3 for vector
644 PetscScalar* data; // Pointer to the raw data array (must be freed by caller)
646
647/** @brief Enumerates the type of VTK file to be written. */
652
663
664/**
665 * @brief Defines the execution mode of the application.
666 */
667typedef enum {
668 EXEC_MODE_SOLVER, // The application is running as the main fluid solver.
669 EXEC_MODE_POSTPROCESSOR, // The application is running as the post-processor.
670 EXEC_MODE_UNKNOWN // Default/error state.
672
673//-------------------------------------------------------------------------------
674// 9. SCALING AND DIMENSIONAL ANALYSIS STRUCTS
675//-------------------------------------------------------------------------------
676typedef struct ScalingCtx{
677 PetscReal L_ref;
678 PetscReal U_ref;
679 PetscReal rho_ref;
680 PetscReal P_ref;
682//-------------------------------------------------------------------------------
683/*================================================================================*
684 * MAIN APPLICATION CONTEXT *
685 *================================================================================*/
686
687/**
688 * @brief The master context for the entire simulation.
689 *
690 * This struct encapsulates all global configuration flags, physical parameters,
691 * simulation control settings, and top-level data objects. It replaces the
692 * numerous global variables from the legacy codebase, providing a single,
693 * explicit source of truth for the simulation's setup.
694 */
695typedef struct SimCtx {
696
697 //================ Group 1: Parallelism & MPI Information ================
698 PetscMPIInt rank;
699 PetscMPIInt size;
700
701 //================ Group 2: Simulation Control, Time, and I/O ================
702
703 PetscInt step;
704 PetscReal ti;
705 PetscInt StartStep;
706 PetscInt StepsToRun;
707 PetscInt tiout;
709 PetscReal StartTime;
710 PetscReal dt;
711 PetscBool OnlySetup;
712 PetscBool continueMode;
713 PetscViewer logviewer;
715 char eulerianSource[PETSC_MAX_PATH_LEN];
716 char restart_dir[PETSC_MAX_PATH_LEN];
717 char output_dir[PETSC_MAX_PATH_LEN];
718 char log_dir[PETSC_MAX_PATH_LEN];
719 char _io_context_buffer[PETSC_MAX_PATH_LEN]; // Persistent store for I/O context strings.
720 char *current_io_directory; // Pointer into the above buffer.
724
725 //================ Group 3: High-Level Physics & Model Selection Flags ================
729 char AnalyticalSolutionType[PETSC_MAX_PATH_LEN];
730
731 //================ Group 4: Specific Simulation Case Flags ================
733 PetscInt channelz;
734
735 //================ Group 5: Solver & Numerics Parameters ================
740 PetscInt poisson;
741 PetscReal poisson_tol;
743
746 PetscReal max_pseudo_cfl, min_pseudo_cfl; // New addition for adaptive pseudo-CFL
747 PetscReal mom_dt_jameson_residual_norm_noise_allowance_factor; // New addition for divergence detection
748 PetscBool no_pseudo_cfl_backtrack; /* Diagnostic: commit all finite RK trials, skip ratio-based rollback */
749 PetscReal mom_ratio_ema_alpha; /* EMA smoothing coefficient for trial-ratio rejection (0=no smooth, 1=raw) */
750 PetscBool mom_last_converged; /* Set after each momentum solve: true if pseudo-time converged */
751 PetscReal mom_last_lambda_max; /* Global spectral radius [1/s] from the last momentum solve; for diagnostics */
752 PetscBool mom_nk_monitor_history; /* Write PICurv's structured per-Newton-iteration residual history. */
753 PetscBool ps_ksp_pic_monitor_true_residual; // Parsed once from options for custom Poisson monitor logging.
756 char initialConditionDirectory[PETSC_MAX_PATH_LEN];
757 Cmpnts InitialConstantContra; /* Cartesian (u,v,w) for constant-cartesian IC */
758 FlowDirection flowDirection; /* explicit flow direction for streamwise/Poiseuille */
759 PetscReal icVelocityPhysical; /* scalar speed for curvilinear Constant and Poiseuille */
768 /* --- Field Statistics (window lifecycle; accumulator binding arrives with ingress) --- */
773 /* Whether saved window state is resumed rather than restarted from zero.
774 * Defaults to the run's continue mode; --restart-from requires an explicit
775 * request because it may branch onto a different physical trajectory. */
779
780 //================ Group 6: Physical & Geometric Parameters ================
783 PetscReal CMx_c, CMy_c, CMz_c;
784 PetscReal psrc_x, psrc_y, psrc_z; /**< Point source location for PARTICLE_INIT_POINT_SOURCE */
788
789 //================ Group 7: Grid, Domain, and Boundary Condition Settings ================
792 PetscBool generate_grid;
794 PetscReal Croty, Crotz;
795 char grid_file[PETSC_MAX_PATH_LEN];
798 char **bcs_files;
800 // Turbulent Flat Channel with Forcing term
802 /* Physical step whose smoothed driving force `drivingForceMagnitude` holds
803 * (-1 = none yet). ComputeDrivenChannelFlowSource() runs once per ComputeRHS,
804 * i.e. per RK stage or per Newton residual evaluation, so its EMA must be
805 * advanced against this rather than on every call. */
807 PetscReal targetVolumetricFlux; // for DRIVEN flow.
808 /* True once a driven-flow target is fixed for the run. `constant_flux` sets
809 * it at initialization from the bcs file; `initial_flux` sets it at the
810 * first PreStep from the starting field. Checkpointed so a restart holds the
811 * original target instead of re-measuring a drifted one. */
816 PetscReal U_bc;
817 PetscInt ccc;
818 PetscReal ratio;
819
820 //================ Group 8: Turbulence Modeling (LES/RANS) ================
821 PetscInt les, rans;
823 PetscReal max_cs,Const_CS;
825
826 //================ Group 9: Particle / DMSwarm Data & Settings ================
827 PetscInt np;
828 PetscBool readFields;
841 PetscRandom BrownianMotionRNG;
842 PetscReal C_IEM;
843
844 //================ Group 10: Immersed Boundary & FSI Data Object Pointers ================
848 PetscBool rstart_fsi;
849 PetscInt duplicate;
850
851 //================ Group 11: Top-Level Managers, Custom Configuration,Logging/Monitoring ====
853 char allowedFile[PETSC_MAX_PATH_LEN];
854 PetscBool useCfg;
856 PetscInt nAllowed;
858 PetscReal summationRHS;
859 PetscReal MaxDiv;
861 // Profiling
862 char profilingSelectedFuncsFile[PETSC_MAX_PATH_LEN];
867 char profilingTimestepFile[PETSC_MAX_PATH_LEN];
883 PetscBool runtimeMemoryLogEnabled; /**< Enable the rank-reduced runtime memory log. */
884 char runtimeMemoryLogFile[PETSC_MAX_PATH_LEN]; /**< File name written under log_dir. */
885 PetscBool runtimeMemoryLogStarted; /**< True after rank 0 writes the log header. */
886 PetscBool runtimeMemoryLogHasPrevious; /**< True after the first process-memory sample. */
887 PetscReal runtimeMemoryLogPreviousProcessMB; /**< Previous local process memory sample in MB. */
888 //================ Group 12: Post-Processing =================================================
889 char PostprocessingControlFile[PETSC_MAX_PATH_LEN];
891
892 //=============== Group 13: Miscellaneous =============================================
893 PetscReal r[101], tin[101], uinr[101][1001];
894
895} SimCtx;
896
897/** @deprecated Use mom_dt_jameson_residual_norm_noise_allowance_factor. */
898#define mom_dt_rk4_residual_norm_noise_allowance_factor mom_dt_jameson_residual_norm_noise_allowance_factor
899
900
901/**
902 * @brief User-defined context containing data specific to a single computational
903 * grid level. This is the primary data structure passed to low-level
904 * numerical and solver functions.
905 */
906typedef struct UserCtx {
907
908 // --- The Critical Link to Global Configuration ---
909 SimCtx *simCtx; ///< Back-pointer to the master simulation context.
910
911 // --- Grid, Geometry & Parallelization (Per-Level) ---
912 DM da, fda, fda2;
913 /* Symmetric second-order tensor DM (dof 6), mirroring da's decomposition.
914 * Field-statistics products need six components at each point; splitting them
915 * across six scalar vectors would cost six memory streams in the per-step
916 * accumulation loop and six collective gathers per checkpoint. */
918 DMDALocalInfo info;
919 AO ao;
920 PetscInt IM, JM, KM; // No.of grid points.
925 PetscReal rx, ry, rz;
926 PetscInt cgrid;
929
930 // --- Boundary Conditions & Interfacing ---
937
938 // --- Primary Flow Fields (Global & Local Views) ---
940
941 // --- Secondary Flow & Derived Fields ---
944
945 // --- Time-Stepping & Solver Workspace Fields ---
950 /* Corner-staging workspace, one pair per block size, so neither the DM nor
951 * the degree of freedom has to be rediscovered from a cached vector. */
952 Vec CellScalarAtCorner, lCellScalarAtCorner; /* da-based, dof 1 */
953 Vec CellVectorAtCorner, lCellVectorAtCorner; /* fda-based, dof 3 */
954 /* Post-processing staging vectors. A derived statistic is config-counted and has
955 * no compile-time offset of its own, so it is written here to be addressed by
956 * name through the existing ghost and nodal-average paths. The nodal companions
957 * are reused field by field, because the VTK writer copies each one out before
958 * the next is produced. */
959 Vec PostScalar, lPostScalar, PostScalarNodal; /* da-based, dof 1 */
960 Vec PostVector, lPostVector, PostVectorNodal; /* fda-based, dof 3 */
961 /* Per-window statistics accumulators, one entry per configured window. */
963
964 // --- Pressure-Poisson System ---
965 Mat A, C; KSP ksp; MatNullSpace nullsp;
966 PetscInt *KSKE;
967 PetscBool multinullspace;
968 Vec B,R;
969 Mat MR, MP;
970 PetscBool assignedA;
971
972
973 // --- Grid Metrics (Global and Local) ---
980
981 // --- Turbulence Modeling (LES/RANS) ---
983
984 // --- Immersed Boundary Method (IBM) ---
986
987 // --- Multigrid Hierarchy ---
990 DM *da_f, *da_c;
992
993 // --- Particle System ---
997 Vec Psi, lPsi; //scalar dummy to demonstrate scatter.
998
999 // --- Post-Processing ---
1005
1006} UserCtx;
1007
1008#ifdef __cplusplus
1009}
1010#endif
1011
1012#endif // VARIABLES_H
Independent accumulator state for one window on one block.
Runtime state of one window.
The "virtual table" struct for a boundary condition handler object.
Definition variables.h:353
PetscErrorCode(* PostStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow)
Definition variables.h:360
PetscErrorCode(* PreStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow)
Definition variables.h:358
BCHandlerType type
Definition variables.h:354
PetscErrorCode(* Destroy)(BoundaryCondition *self)
Definition variables.h:362
PetscErrorCode(* Initialize)(BoundaryCondition *self, BCContext *ctx)
Definition variables.h:357
PetscErrorCode(* UpdateUbcs)(BoundaryCondition *self, BCContext *ctx)
Definition variables.h:361
PetscErrorCode(* Apply)(BoundaryCondition *self, BCContext *ctx)
Definition variables.h:359
BCPriorityType priority
Definition variables.h:355
PetscReal M_x_rm3
Definition variables.h:488
PetscReal y_c
Definition variables.h:434
PetscReal * x_bp_o
Definition variables.h:411
PetscMPIInt rank_zm
Definition variables.h:199
LESModelType
Identifies the six logical faces of a structured computational block.
Definition variables.h:520
@ DYNAMIC_SMAGORINSKY
Definition variables.h:523
@ NO_LES_MODEL
Definition variables.h:521
@ CONSTANT_SMAGORINSKY
Definition variables.h:522
PetscReal icVelocityPhysical
Definition variables.h:759
PetscInt MHV
Definition variables.h:732
Vec lFriction_Velocity
Definition variables.h:935
const PetscReal * global_outflow_sum
Definition variables.h:349
Vec lDiffusivityGradient
Definition variables.h:943
PetscInt isc
Definition variables.h:924
PetscInt CV_ye
Definition variables.h:503
Cmpnts * urm1
Definition variables.h:431
DM packer
Definition variables.h:582
PetscInt turbine
Definition variables.h:732
PetscBool mom_nk_monitor_history
Definition variables.h:752
PetscReal P
Definition variables.h:468
PetscInt ii22
Definition variables.h:397
PetscInt fishcyl
Definition variables.h:732
PetscInt clark
Definition variables.h:822
PetscReal FarFluxInSum
Definition variables.h:799
Vec lPostScalar
Definition variables.h:959
PetscInt fieldStatisticsWindowCount
Definition variables.h:770
char statistics_output_prefix[256]
basename for CSV output, e.g.
Definition variables.h:617
PetscInt movefsi
Definition variables.h:726
Vec lCent
Definition variables.h:974
BCType
Defines the general mathematical/physical Category of a boundary.
Definition variables.h:283
@ MOVING_WALL
Definition variables.h:287
@ INLET
Definition variables.h:290
@ INTERFACE
Definition variables.h:285
@ ANNULUS
Definition variables.h:296
@ ANALYTICAL_VORTEX
Definition variables.h:294
@ RHEOLOGY
Definition variables.h:298
@ FARFIELD
Definition variables.h:291
@ CHARACTERISTIC_BC
Definition variables.h:293
@ SYMMETRY
Definition variables.h:288
@ WALLFUNCTION
Definition variables.h:284
@ OGRID
Definition variables.h:297
@ OUTLET
Definition variables.h:289
@ PERIODIC
Definition variables.h:292
@ JUNCTION
Definition variables.h:295
@ WALL
Definition variables.h:286
PetscReal M_x_rm2
Definition variables.h:487
Vec GridSpace
Definition variables.h:974
PetscInt j2
Definition variables.h:380
struct list_node * next
Definition variables.h:452
PetscBool continueMode
Definition variables.h:712
PetscReal * dA
Definition variables.h:415
PetscInt jj11
Definition variables.h:397
PetscReal F_x
Definition variables.h:481
PetscInt moveframe
Definition variables.h:727
Vec P_nodal
Definition variables.h:1001
Vec JCsi
Definition variables.h:978
Vec KAj
Definition variables.h:979
Cmpnts vel
Definition variables.h:186
PetscReal * cent_y
Definition variables.h:416
PetscInt TwoD
Definition variables.h:727
PetscInt pseudo_periodic
Definition variables.h:791
UserCtx * user
Definition variables.h:571
PetscInt fish_c
Definition variables.h:732
PetscReal d_s
Definition variables.h:385
PetscReal FarFluxOutSum
Definition variables.h:799
Mat Mphi
Definition variables.h:512
PetscInt ssmode
Definition variables.h:400
#define MAX_POINT_DATA_FIELDS
Defines the maximum number of data fields for VTK point data.
Definition variables.h:590
PetscInt k22
Definition variables.h:389
PetscReal I_inv[3][3]
Definition variables.h:435
PetscInt ys_cell
Definition variables.h:204
PetscReal clone
Definition variables.h:493
PetscInt n_elmt
Definition variables.h:426
PetscInt npoints
Definition variables.h:656
PetscInt dgf_z
Definition variables.h:728
PetscInt i22
Definition variables.h:389
PetscBool inletFaceDefined
Definition variables.h:932
Vec JEta
Definition variables.h:978
PetscInt i1
Definition variables.h:380
PetscReal S_ang_o[6]
Definition variables.h:479
PetscReal poisson_tol
Definition variables.h:741
Vec Zet
Definition variables.h:974
PetscInt j11
Definition variables.h:389
PetscInt i3
Definition variables.h:380
PetscInt icell
Definition variables.h:472
Vec Rhs
Definition variables.h:947
IBMList * ibmlist
Definition variables.h:985
PetscInt num_components
Definition variables.h:643
PetscInt j3
Definition variables.h:380
PetscReal * y_bp
Definition variables.h:428
PetscBool profilingFinalSummary
Definition variables.h:868
char particle_output_prefix[256]
Definition variables.h:612
PetscInt xs_cell
Definition variables.h:204
PetscReal y_bp_in[101][3270]
Definition variables.h:413
PetscReal schmidt_number
Definition variables.h:787
PetscMPIInt rank
Definition variables.h:698
PetscInt imode
Definition variables.h:383
PetscInt kk22
Definition variables.h:397
PetscInt mglevels
Definition variables.h:988
char profilingTimestepFile[PETSC_MAX_PATH_LEN]
Definition variables.h:867
PetscInt fish
Definition variables.h:732
PetscInt LV
Definition variables.h:732
PetscReal mu_s
Definition variables.h:480
PetscReal angle
Definition variables.h:782
PetscReal Turbulent_schmidt_number
Definition variables.h:787
PetscReal cr33
Definition variables.h:390
PetscInt target_rank
Definition variables.h:211
PetscReal tin[101]
Definition variables.h:893
PetscInt cgrid
Definition variables.h:926
PetscReal f
Definition variables.h:118
BoundaryFaceConfig boundary_faces[6]
Definition variables.h:931
PetscMPIInt rank_yp
Definition variables.h:198
PetscInt64 searchLocatedCount
Definition variables.h:241
PetscInt thin
Definition variables.h:727
PetscReal z_bp_in[101][3270]
Definition variables.h:413
PetscReal * s2
Definition variables.h:511
MatNullSpace nullsp
Definition variables.h:965
PetscInt statisticsConsoleOutputFreq
Definition variables.h:772
PetscInt grid1d
Definition variables.h:790
PetscInt block_number
Definition variables.h:790
Vec lIEta
Definition variables.h:977
PetscInt nbnumber
Definition variables.h:425
PetscReal * y_com
Definition variables.h:510
PetscInt num_point_data_fields
Definition variables.h:659
PetscReal * radvec
Definition variables.h:420
PetscReal * cent_y
Definition variables.h:433
PetscInt * KSKE
Definition variables.h:966
PetscReal * Bvel_v
Definition variables.h:417
PetscReal mom_rtol
Definition variables.h:738
PetscReal F_z_old
Definition variables.h:482
PetscInt64 searchLostCount
Definition variables.h:242
PetscInt ii1
Definition variables.h:394
BCFace identifiedInletBCFace
Definition variables.h:933
PetscInt da_procs_z
Definition variables.h:796
PetscInt blkpbc
Definition variables.h:791
PetscReal M_z
Definition variables.h:484
PetscInt sediment
Definition variables.h:726
PetscInt CV_zs
Definition variables.h:503
PetscReal J[3][3]
Definition variables.h:435
PetscReal R[3][3]
Definition variables.h:498
PetscReal F_y_real
Definition variables.h:483
PetscReal targetVolumetricFlux
Definition variables.h:807
Vec * solutionConvergencePeriodicPRef
Definition variables.h:949
PetscInt cell[3]
Definition variables.h:184
PetscReal Max_ybc
Definition variables.h:502
PetscReal xmax
Definition variables.h:513
PetscInt jj2
Definition variables.h:394
PetscReal * z_bp_o
Definition variables.h:430
PetscBool walltimeGuardActive
Definition variables.h:870
SNES snespacker
Definition variables.h:583
Vec lIZet
Definition variables.h:977
UserCtx * user_f
Definition variables.h:989
PetscReal mom_last_lambda_max
Definition variables.h:751
PetscInt channelz
Definition variables.h:733
Vec lNvert
Definition variables.h:939
Vec Phi
Definition variables.h:939
PetscReal walltimeGuardWarmupTotalSeconds
Definition variables.h:878
Cmpnts pmin
Definition variables.h:386
PetscInt CV_ys
Definition variables.h:503
PetscReal forceScalingFactor
Definition variables.h:801
PetscReal pseudo_cfl_reduction_factor
Definition variables.h:745
InitialConditionMode initialConditionMode
Definition variables.h:754
SimCtx * simCtx
Back-pointer to the master simulation context.
Definition variables.h:909
PetscInt rans
Definition variables.h:821
ParticleInitializationType
Enumerator to identify the particle initialization strategy.
Definition variables.h:551
@ PARTICLE_INIT_SURFACE_RANDOM
Random placement on the inlet face.
Definition variables.h:552
@ PARTICLE_INIT_SURFACE_EDGES
Deterministic placement at inlet face edges.
Definition variables.h:555
@ PARTICLE_INIT_POINT_SOURCE
All particles at a fixed (psrc_x,psrc_y,psrc_z) — for validation.
Definition variables.h:554
@ PARTICLE_INIT_VOLUME
Random volumetric distribution across the domain.
Definition variables.h:553
PetscReal zmin
Definition variables.h:513
PetscReal StartTime
Definition variables.h:709
PetscReal Mdpdn_x_old
Definition variables.h:492
ParticleLocationStatus
Defines the state of a particle with respect to its location and migration status during the iterativ...
Definition variables.h:137
@ LOST
Definition variables.h:141
@ NEEDS_LOCATION
Definition variables.h:138
@ ACTIVE_AND_LOCATED
Definition variables.h:139
@ UNINITIALIZED
Definition variables.h:142
@ MIGRATING_OUT
Definition variables.h:140
PetscReal * st3
Definition variables.h:511
PetscInt dgf_az
Definition variables.h:728
PetscReal * solutionConvergenceMeanSpeedHistory
Definition variables.h:766
PetscReal * z_midp
Definition variables.h:509
PetscReal FluxOutSum
Definition variables.h:799
PetscReal * cent_x
Definition variables.h:433
PetscMPIInt rank_ym
Definition variables.h:198
PetscBool walltimeGuardHasEWMA
Definition variables.h:880
PetscReal CMy_c
Definition variables.h:783
Vec K_Omega_o
Definition variables.h:982
PetscReal cs2
Definition variables.h:388
PetscInt jj1
Definition variables.h:394
PetscReal cr22
Definition variables.h:390
Vec IZet
Definition variables.h:977
FlowDirection flowDirection
Definition variables.h:758
PetscMPIInt rank_xp
Definition variables.h:197
Vec Centz
Definition variables.h:975
PetscBool runtimeMemoryLogEnabled
Enable the rank-reduced runtime memory log.
Definition variables.h:883
char output_prefix[256]
Definition variables.h:609
PetscInt n_P
Definition variables.h:469
char ** bcs_files
Definition variables.h:798
PetscReal * x_bp_o
Definition variables.h:430
struct BC_Param_s * next
Definition variables.h:339
PetscReal boundaryVelocityCorrection
Definition variables.h:814
PetscReal max_angle
Definition variables.h:782
Vec IEta
Definition variables.h:977
PetscReal cr1
Definition variables.h:381
PetscReal Tow_wt
Definition variables.h:470
PetscReal acc[3]
Definition variables.h:497
PetscReal Min_X
Definition variables.h:921
PetscReal min_pseudo_cfl
Definition variables.h:746
PetscReal * head_ang
Definition variables.h:510
PetscInt64 boundaryClampCount
Definition variables.h:248
char * key
Definition variables.h:337
PetscInt * nv1
Definition variables.h:427
PetscInt ksc
Definition variables.h:924
PetscInt particlesLostLastStep
Definition variables.h:834
PetscReal Tow_wn
Definition variables.h:470
PetscInt KM
Definition variables.h:920
Vec Distance
Definition variables.h:982
PetscInt duplicate
Definition variables.h:849
PetscInt tiout
Definition variables.h:707
PetscReal xmin
Definition variables.h:513
Vec lZet
Definition variables.h:974
PetscBool assignedA
Definition variables.h:970
UserMG usermg
Definition variables.h:852
#define MAX_FIELD_LIST_LENGTH
Definition variables.h:587
PetscReal walltimeGuardMinSeconds
Definition variables.h:873
char allowedFile[PETSC_MAX_PATH_LEN]
Definition variables.h:853
PetscInt local_index
Definition variables.h:210
Vec Csi
Definition variables.h:974
Vec * solutionConvergencePeriodicUcatRef
Definition variables.h:948
PetscInt da_procs_y
Definition variables.h:796
PetscReal d_i
Definition variables.h:382
PetscReal L_ref
Definition variables.h:677
PetscInt Clsnbpt_j
Definition variables.h:471
PetscInt64 traversalStepsSum
Definition variables.h:243
PetscReal cs1
Definition variables.h:388
PetscInt n_subit
Definition variables.h:508
Vec K_Omega
Definition variables.h:982
PetscBool mom_last_converged
Definition variables.h:750
PetscInt testfilter_1d
Definition variables.h:824
BCHandlerType
Defines the specific computational "strategy" for a boundary handler.
Definition variables.h:303
@ BC_HANDLER_INLET_PULSATILE_FLUX
Definition variables.h:312
@ BC_HANDLER_PERIODIC_GEOMETRIC
Definition variables.h:316
@ BC_HANDLER_INLET_PARABOLIC
Definition variables.h:309
@ BC_HANDLER_INLET_CONSTANT_VELOCITY
Definition variables.h:308
@ BC_HANDLER_PERIODIC_DRIVEN_INITIAL_FLUX
Definition variables.h:319
@ BC_HANDLER_INTERFACE_OVERSET
Definition variables.h:317
@ BC_HANDLER_PERIODIC_DRIVEN_CONSTANT_FLUX
Definition variables.h:318
@ BC_HANDLER_WALL_MOVING
Definition variables.h:306
@ BC_HANDLER_INLET_PROFILE_FROM_FILE
Definition variables.h:310
@ BC_HANDLER_WALL_NOSLIP
Definition variables.h:305
@ BC_HANDLER_OUTLET_CONSERVATION
Definition variables.h:314
@ BC_HANDLER_FARFIELD_NONREFLECTING
Definition variables.h:313
@ BC_HANDLER_OUTLET_PRESSURE
Definition variables.h:315
@ BC_HANDLER_SYMMETRY_PLANE
Definition variables.h:307
@ BC_HANDLER_INLET_INTERP_FROM_FILE
Definition variables.h:311
@ BC_HANDLER_UNDEFINED
Definition variables.h:304
PetscReal M_z_real
Definition variables.h:486
PetscReal psrc_x
Definition variables.h:784
PetscReal * ns_y
Definition variables.h:415
#define MAX_PIPELINE_LENGTH
Definition variables.h:586
PetscReal ren
Definition variables.h:744
PetscReal Mdpdn_y_old
Definition variables.h:492
PetscReal F_z
Definition variables.h:481
PetscReal Crotz
Definition variables.h:794
BCHandlerType handler_type
Definition variables.h:369
DM post_swarm
Definition variables.h:1000
PetscReal * tau0
Definition variables.h:417
PetscReal M_z_rm3
Definition variables.h:488
Vec lUcont_rm1
Definition variables.h:947
PetscInt mixed
Definition variables.h:822
PetscReal * y_bp0
Definition variables.h:429
PetscInt zm_cell
Definition variables.h:205
PetscInt solutionConvergenceSamplesRecorded
Definition variables.h:765
PetscReal M_y_real
Definition variables.h:486
Vec lIAj
Definition variables.h:977
SurfElmtInfo * elmtinfo
Definition variables.h:500
Cmpnts max_coords
Maximum x, y, z coordinates of the bounding box.
Definition variables.h:173
PetscInt zs_cell
Definition variables.h:204
PetscReal ct33
Definition variables.h:398
PetscBool drivenFluxTargetLatched
Definition variables.h:812
IBMVNodes * ibmv
Definition variables.h:846
Cmpnts diffusivitygradient
Definition variables.h:191
PetscInt _this
Definition variables.h:924
PetscReal uinr[101][1001]
Definition variables.h:893
PetscReal L_o[3]
Definition variables.h:496
Vec lKEta
Definition variables.h:979
PetscInt k1
Definition variables.h:380
PetscInt jj3
Definition variables.h:394
PetscInt * nv3
Definition variables.h:407
PetscInt64 searchPopulation
Definition variables.h:240
Cmpnts * uold
Definition variables.h:414
PetscInt reference[3]
Definition variables.h:634
char output_dir[PETSC_MAX_PATH_LEN]
Definition variables.h:717
PetscBool solutionConvergenceEnabled
Definition variables.h:761
PetscReal * solutionConvergenceMeanKEHistory
Definition variables.h:767
PetscInt kcell
Definition variables.h:472
PetscReal walltimeGuardLatestStepSeconds
Definition variables.h:882
PetscReal dt
Definition variables.h:710
PetscReal ry
Definition variables.h:925
PetscReal V
Definition variables.h:432
char runtimeMemoryLogFile[PETSC_MAX_PATH_LEN]
File name written under log_dir.
Definition variables.h:884
PetscReal * st1
Definition variables.h:511
PetscBool runtimeMemoryLogStarted
True after rank 0 writes the log header.
Definition variables.h:885
PetscInt * connectivity
Definition variables.h:660
PetscInt occupiedCellCount
Definition variables.h:838
PetscInt StepsToRun
Definition variables.h:706
char profilingTimestepMode[32]
Definition variables.h:866
PetscReal y
Definition variables.h:113
const PetscReal * global_farfield_outflow_sum
Definition variables.h:348
PetscInt k_periodic
Definition variables.h:791
PetscInt inletprofile
Definition variables.h:790
PetscReal * cent_z
Definition variables.h:433
PetscInt * offsets
Definition variables.h:661
PetscInt k33
Definition variables.h:389
Vec Ucat_nodal
Definition variables.h:1002
RankNeighbors neighbors
Definition variables.h:923
PetscReal bulkVelocityCorrection
Definition variables.h:813
PetscReal * cent_z
Definition variables.h:416
PetscReal cdisy
Definition variables.h:744
PetscReal mom_atol
Definition variables.h:738
PetscReal Max_xbc
Definition variables.h:502
PetscReal * z_bp0
Definition variables.h:429
PetscInt k3
Definition variables.h:380
PetscReal cr11
Definition variables.h:390
PetscInt jj22
Definition variables.h:397
Vec lPsi
Definition variables.h:997
PetscBool rstart_fsi
Definition variables.h:848
PetscInt timeStep
Definition variables.h:603
PetscInt currentSettlementPass
Definition variables.h:252
PetscInt np
Definition variables.h:827
PetscReal cs22
Definition variables.h:393
Vec PostScalarNodal
Definition variables.h:959
PetscBool fieldStatisticsEnabled
Definition variables.h:769
PetscInt jsc
Definition variables.h:924
PetscReal x_bp_in[101][3270]
Definition variables.h:413
PetscInt smode
Definition variables.h:396
Cmpnts * qvec
Definition variables.h:419
PetscReal Max_Y
Definition variables.h:921
PetscInt thislevel
Definition variables.h:572
PetscReal y_min
Definition variables.h:418
PetscBool no_pseudo_cfl_backtrack
Definition variables.h:748
PetscReal C_IEM
Definition variables.h:842
Vec DiffusivityGradient
Definition variables.h:943
Vec lJCsi
Definition variables.h:978
char * value
Definition variables.h:338
PetscReal * x_com
Definition variables.h:510
PetscInt ccc
Definition variables.h:817
PetscReal * CCp
Definition variables.h:412
BCFace face_id
Definition variables.h:345
PetscReal q_r[4]
Definition variables.h:498
Vec lCs
Definition variables.h:982
PetscReal M_y_rm2
Definition variables.h:487
PetscReal ratio
Definition variables.h:818
#define MAX_FILENAME_LENGTH
Definition variables.h:588
PetscInt Node
Definition variables.h:440
PetscReal d_ss
Definition variables.h:399
PetscInt kk2
Definition variables.h:394
PetscInt mg_idx
Definition variables.h:739
Vec Ucont
Definition variables.h:939
PetscInt thislevel
Definition variables.h:579
PetscReal * z_bp
Definition variables.h:428
PetscInt StartStep
Definition variables.h:705
PetscInt mg_MAX_IT
Definition variables.h:739
PetscReal Mdpdn_z_old
Definition variables.h:492
PetscReal red_vel
Definition variables.h:480
Cmpnts min_coords
Minimum x, y, z coordinates of the bounding box.
Definition variables.h:172
PetscBool OnlySetup
Definition variables.h:711
PetscInt rotatefsi
Definition variables.h:726
PetscReal F_y_old
Definition variables.h:482
PetscInt cell
Definition variables.h:387
PetscReal M_y_rm3
Definition variables.h:488
Vec PostScalar
Definition variables.h:959
Vec Ubcs
Physical Cartesian velocity at boundary faces. Full 3D array but only boundary-face entries are meani...
Definition variables.h:123
PetscReal * pres
Definition variables.h:417
MomentumSolverType
Enumerator to identify the implemented momentum solver strategies.
Definition variables.h:534
@ MOMENTUM_SOLVER_DUALTIME_PICARD_JAMESON_RK
Definition variables.h:536
@ MOMENTUM_SOLVER_EXPLICIT_RK
Definition variables.h:535
@ MOMENTUM_SOLVER_NEWTON_KRYLOV
Definition variables.h:537
@ MOMENTUM_SOLVER_DUALTIME_PICARD_RK4
Definition variables.h:539
PetscInt solutionConvergencePeriodSteps
Definition variables.h:763
PetscReal cdisz
Definition variables.h:744
Vec Qcrit
Definition variables.h:1003
PetscInt jcell
Definition variables.h:472
PetscReal S_realm1[6]
Definition variables.h:478
PetscReal * nt_x
Definition variables.h:415
PetscReal * y_bp_o
Definition variables.h:430
PetscScalar x
Definition variables.h:103
Cmpnts loc
Definition variables.h:185
PetscReal y_max
Definition variables.h:418
PetscReal ct11
Definition variables.h:398
Vec JZet
Definition variables.h:978
PetscReal x_c
Definition variables.h:434
PetscReal x_max
Definition variables.h:418
Vec CellScalarAtCorner
Definition variables.h:952
PetscInt64 reSearchCount
Definition variables.h:244
PetscInt dgf_x
Definition variables.h:728
PetscReal dS[6]
Definition variables.h:499
char * current_io_directory
Definition variables.h:720
PetscInt pizza
Definition variables.h:732
PetscReal MaxDiv
Definition variables.h:859
PetscMPIInt destination_rank
Definition variables.h:189
Vec Centx
Definition variables.h:975
BCS Bcs
Definition variables.h:934
PetscReal x
Definition variables.h:113
UserCtx * user
Definition variables.h:344
PetscReal atk
Definition variables.h:499
char grid_file[PETSC_MAX_PATH_LEN]
Definition variables.h:795
PetscReal * y_bp0
Definition variables.h:410
PetscReal * x_bp0
Definition variables.h:429
Vec lPhi
Definition variables.h:939
PetscReal max_cs
Definition variables.h:823
Vec lParticleCount
Definition variables.h:996
PetscInt FoundAroundcell
Definition variables.h:473
PetscInt invicid
Definition variables.h:727
char ** allowedFuncs
Definition variables.h:855
PetscInt xm_cell
Definition variables.h:205
char statistics_pipeline[1024]
e.g.
Definition variables.h:616
struct IBMListNode * next
Definition variables.h:458
Vec lUcont_o
Definition variables.h:946
PetscInt * nv4
Definition variables.h:427
PetscInt64 bboxGuessFallbackCount
Definition variables.h:250
InterpolationMethod interpolationMethod
Definition variables.h:832
PetscReal * nf_x
Definition variables.h:408
RankCellInfo * RankCellInfoMap
Definition variables.h:995
PetscReal ymin
Definition variables.h:513
PetscReal psrc_z
Point source location for PARTICLE_INIT_POINT_SOURCE.
Definition variables.h:784
const PetscReal * global_inflow_sum
Definition variables.h:346
PetscReal S_ang_r[6]
Definition variables.h:479
VTKFileType fileType
Definition variables.h:654
PetscReal * nt_y
Definition variables.h:415
DM * da_c
Definition variables.h:990
Vec CellVectorAtCorner
Definition variables.h:953
PetscReal * ns_z
Definition variables.h:415
PetscInt * nv3
Definition variables.h:427
PetscInt mg_poItr
Definition variables.h:739
PetscReal Min_ybc
Definition variables.h:502
PetscInt pbc[3]
Definition variables.h:494
char field_statistics_formats[1024]
Comma-separated formats: vtk for derived fields, csv for the convergence history.
Definition variables.h:625
PetscInt STRONG_COUPLING
Definition variables.h:742
PetscInt ym_cell
Definition variables.h:205
VerificationScalarConfig verificationScalar
Definition variables.h:778
PetscReal max_pseudo_cfl
Definition variables.h:746
PetscReal S_real[6]
Definition variables.h:478
PetscReal S_new[6]
Definition variables.h:478
PetscInt nk
Definition variables.h:384
Vec Ucat_o
Definition variables.h:946
char output_fields_instantaneous[1024]
Definition variables.h:608
PetscInt MaxDivx
Definition variables.h:860
PetscReal L_n[3]
Definition variables.h:496
UserCtx * user_c
Definition variables.h:989
PetscInt j33
Definition variables.h:389
PetscInt jj33
Definition variables.h:397
PetscReal t
Definition variables.h:118
PetscReal * nf_y
Definition variables.h:408
PetscInt poisson
Definition variables.h:740
PetscInt k_homo_filter
Definition variables.h:824
PetscInt * nv1
Definition variables.h:407
Cmpnts * u
Definition variables.h:414
PetscScalar * data
Definition variables.h:644
PetscInt iimode
Definition variables.h:392
char profilingSelectedFuncsFile[PETSC_MAX_PATH_LEN]
Definition variables.h:862
PetscInt MaxDivy
Definition variables.h:860
ParticleLocationStatus location_status
Definition variables.h:188
PetscInt NumberOfBodies
Definition variables.h:781
char particleRestartMode[16]
Definition variables.h:833
PetscReal dS_o[6]
Definition variables.h:499
PetscReal * cent_x
Definition variables.h:416
PetscInt Ogrid
Definition variables.h:790
char eulerianExt[8]
Definition variables.h:630
PetscReal F_x_real
Definition variables.h:483
PetscInt Need3rdPoint
Definition variables.h:473
PetscInt64 bboxGuessSuccessCount
Definition variables.h:249
PetscInt MaxDivz
Definition variables.h:860
PetscInt Clsnbpt_k
Definition variables.h:471
PetscReal damp
Definition variables.h:480
BoundingBox * bboxlist
Definition variables.h:830
PetscInt j_homo_filter
Definition variables.h:824
Vec lKZet
Definition variables.h:979
struct PicurvWindow * fieldStatisticsWindows
Definition variables.h:771
PetscReal * x_midp
Definition variables.h:509
Vec Eta
Definition variables.h:974
PetscReal * cfsum
Definition variables.h:412
PetscReal Max_zbc
Definition variables.h:502
PetscInt n_elmt
Definition variables.h:406
PetscInt eel
Definition variables.h:732
char log_dir[PETSC_MAX_PATH_LEN]
Definition variables.h:718
PetscReal Mdpdn_x
Definition variables.h:491
PetscInt MaxDivFlatArg
Definition variables.h:860
Vec lNu_t
Definition variables.h:982
PetscReal FluxInSum
Definition variables.h:799
PetscReal * s3
Definition variables.h:511
PetscMPIInt rank_xm
Definition variables.h:197
Vec Nu_t
Definition variables.h:982
PetscInt walltimeGuardCompletedSteps
Definition variables.h:877
DM * da_f
Definition variables.h:990
PetscInt64 maxParticlePassDepth
Definition variables.h:251
PetscReal rz
Definition variables.h:925
char source_dir[PETSC_MAX_PATH_LEN]
Definition variables.h:598
PetscReal d_ii
Definition variables.h:391
Vec lCellScalarAtCorner
Definition variables.h:952
PetscReal * ns_x
Definition variables.h:415
PetscReal z_c
Definition variables.h:434
Vec lJEta
Definition variables.h:978
Vec lCsi
Definition variables.h:974
PetscInt j1
Definition variables.h:380
PetscReal M_z_rm2
Definition variables.h:487
PetscReal CMz_c
Definition variables.h:783
Vec lGridSpace
Definition variables.h:974
PetscInt64 maxTraversalSteps
Definition variables.h:245
PetscBool generate_grid
Definition variables.h:792
PetscInt thislevel
Definition variables.h:988
char particle_pipeline[1024]
Definition variables.h:610
PetscInt * nv2
Definition variables.h:407
Cmpnts AnalyticalUniformVelocity
Definition variables.h:760
BC_Param * params
Definition variables.h:370
char eulerianSource[PETSC_MAX_PATH_LEN]
Definition variables.h:715
PetscReal * nf_z
Definition variables.h:408
PetscReal imp_stol
Definition variables.h:738
PetscReal cr2
Definition variables.h:381
PetscInt nAllowed
Definition variables.h:856
PetscBool walltimeGuardEnabled
Definition variables.h:869
PetscBool checkpointGeometryHashReady
Definition variables.h:722
Vec ICsi
Definition variables.h:977
PetscReal z_max
Definition variables.h:418
PetscReal wall_roughness_height
Definition variables.h:786
PetscBool useProfilingSelectedFuncsCfg
Definition variables.h:863
PetscInt walltimeGuardWarmupSteps
Definition variables.h:871
ParticleInitializationType ParticleInitialization
Definition variables.h:831
PetscReal mom_dt_jameson_residual_norm_noise_allowance_factor
Definition variables.h:747
PetscScalar z
Definition variables.h:103
Vec pUcont
Definition variables.h:947
InterpolationMethod
Selects the grid-to-particle interpolation method.
Definition variables.h:564
@ INTERP_CORNER_AVERAGED
Definition variables.h:566
@ INTERP_TRILINEAR
Definition variables.h:565
Vec lK_Omega_o
Definition variables.h:982
Vec lKCsi
Definition variables.h:979
Vec Ucat
Definition variables.h:939
PetscReal ct3
Definition variables.h:395
Vec ParticleCount
Definition variables.h:996
PetscReal * z_bp0
Definition variables.h:410
IBMInfo ibm_intp
Definition variables.h:457
PetscReal S_ang_n[6]
Definition variables.h:479
ScalingCtx scaling
Definition variables.h:785
PetscReal FluxIntfcSum
Definition variables.h:936
PetscBool ksc
Definition variables.h:580
PetscReal Const_CS
Definition variables.h:823
Vec lK_Omega
Definition variables.h:982
IBMInfo * fsi_intp
Definition variables.h:501
Vec Ucont_o
Definition variables.h:946
struct node * next
Definition variables.h:441
PetscInt i_homo_filter
Definition variables.h:824
PetscInt index
Definition variables.h:451
PetscReal ct2
Definition variables.h:395
PetscInt JM
Definition variables.h:920
PetscReal M_x_old
Definition variables.h:485
Vec lCenty
Definition variables.h:976
PetscInt wallfunction
Definition variables.h:822
PetscInt drivingForceStep
Definition variables.h:806
PetscInt ii11
Definition variables.h:397
PetscInt kk1
Definition variables.h:394
PetscInt rheology
Definition variables.h:726
struct list List
Head of a generic C-style linked list.
PetscReal Flux_in
Definition variables.h:782
PetscReal x_min
Definition variables.h:418
Vec PostVectorNodal
Definition variables.h:960
char name[64]
Definition variables.h:642
PetscReal I_inv[3][3]
Definition variables.h:495
PetscInt k2
Definition variables.h:380
PetscBool runtimeMemoryLogHasPrevious
True after the first process-memory sample.
Definition variables.h:886
PetscReal L_r[3]
Definition variables.h:496
PetscScalar * coords
Definition variables.h:657
PetscInt mglevels
Definition variables.h:578
char ** profilingSelectedFuncs
Definition variables.h:864
PetscReal F_z_real
Definition variables.h:483
PetscReal cdisx
Definition variables.h:744
PetscReal F_x_old
Definition variables.h:482
PetscReal Min_Z
Definition variables.h:921
PetscInt dgf_ax
Definition variables.h:728
const PetscReal * global_farfield_inflow_sum
Definition variables.h:347
PetscInt mglevels
Definition variables.h:739
DM packer
Definition variables.h:573
PetscInt num_bcs_files
Definition variables.h:797
PetscReal q[4]
Definition variables.h:498
DM dm_swarm
Definition variables.h:829
PetscBool useCfg
Definition variables.h:854
PetscReal psrc_y
Definition variables.h:784
PetscBool readFields
Definition variables.h:828
PetscInt solutionConvergenceWindowSteps
Definition variables.h:764
PetscInt central
Definition variables.h:742
char process_pipeline[1024]
Definition variables.h:607
PetscInt particle_output_freq
Definition variables.h:613
PetscReal Fluxsum
Definition variables.h:799
PetscReal ct1
Definition variables.h:395
Vec lJZet
Definition variables.h:978
Vec Nvert_o
Definition variables.h:946
PetscReal a_c[3]
Definition variables.h:490
FlowDirection
Primary flow direction for streamwise IC and Poiseuille modes.
Definition variables.h:272
@ FLOW_DIR_NEG_ZETA
Definition variables.h:278
@ FLOW_DIR_NEG_ETA
Definition variables.h:276
@ FLOW_DIR_POS_ZETA
Definition variables.h:277
@ FLOW_DIR_POS_XI
Definition variables.h:273
@ FLOW_DIR_NEG_XI
Definition variables.h:274
@ FLOW_DIR_UNSET
Definition variables.h:279
@ FLOW_DIR_POS_ETA
Definition variables.h:275
char particle_fields[1024]
Definition variables.h:611
PetscReal pseudo_cfl_growth_factor
Definition variables.h:745
PetscBool outputParticles
Definition variables.h:604
PetscReal Croty
Definition variables.h:794
PetscReal S_old[6]
Definition variables.h:478
PetscInt particlesLostCumulative
Definition variables.h:835
VTKFieldInfo point_data_fields[20]
Definition variables.h:658
PetscInt nProfilingSelectedFuncs
Definition variables.h:865
PetscInt i33
Definition variables.h:389
Vec IAj
Definition variables.h:977
Vec lCellVectorAtCorner
Definition variables.h:953
PetscInt particlesMigratedLastStep
Definition variables.h:837
PetscReal S_ang_rm1[6]
Definition variables.h:479
PetscReal Mdpdn_y
Definition variables.h:491
PetscReal * z_bp
Definition variables.h:409
PetscReal M_y_old
Definition variables.h:485
PetscInt n_time
Definition variables.h:508
char initialConditionDirectory[PETSC_MAX_PATH_LEN]
Definition variables.h:756
PetscReal * st2
Definition variables.h:511
PetscInt Clsnbpt_i
Definition variables.h:471
PetscReal grid_rotation_angle
Definition variables.h:793
PetscInt dynamic_freq
Definition variables.h:822
PetscReal cs33
Definition variables.h:393
struct PicurvWindowStorage * fieldStatisticsStorage
Definition variables.h:962
PetscScalar y
Definition variables.h:108
Vec Psi_nodal
Definition variables.h:1004
char AnalyticalSolutionType[PETSC_MAX_PATH_LEN]
Definition variables.h:729
PetscInt da_procs_x
Definition variables.h:796
Vec JAj
Definition variables.h:978
PetscReal U_bc
Definition variables.h:816
Vec lPostVector
Definition variables.h:960
PetscReal walltimeGuardWarmupAverageSeconds
Definition variables.h:879
Vec KEta
Definition variables.h:979
InitialConditionMode
Selects the algorithm used to populate a fresh Eulerian velocity field.
Definition variables.h:151
@ IC_MODE_CONSTANT_CARTESIAN
Definition variables.h:153
@ IC_MODE_POISEUILLE
Definition variables.h:154
@ IC_MODE_CONSTANT_STREAMWISE
Definition variables.h:155
@ IC_MODE_FILE
Definition variables.h:156
@ IC_MODE_ZERO
Definition variables.h:152
PetscReal Max_X
Definition variables.h:921
PetscInt particleConsoleOutputFreq
Definition variables.h:708
Cmpnts InitialConstantContra
Definition variables.h:757
Vec lCentx
Definition variables.h:976
PetscMPIInt rank_zp
Definition variables.h:199
Vec Ucont_rm1
Definition variables.h:947
SearchMetricsState searchMetrics
Definition variables.h:840
PetscReal zmax
Definition variables.h:513
PetscReal Min_Y
Definition variables.h:921
PetscInt i_periodic
Definition variables.h:791
PetscReal diffusivity
Definition variables.h:190
PetscReal mom_resid_rtol
Definition variables.h:738
char checkpointGeometrySHA256[65]
Definition variables.h:721
Vec lUcont
Definition variables.h:939
PetscReal runtimeMemoryLogPreviousProcessMB
Previous local process memory sample in MB.
Definition variables.h:887
PetscBool jsc
Definition variables.h:580
PetscInt step
Definition variables.h:703
Vec Diffusivity
Definition variables.h:942
PetscReal * Bvel_u
Definition variables.h:417
PetscReal M_y
Definition variables.h:484
PetscReal Mdpdn_z
Definition variables.h:491
PetscReal psi
Definition variables.h:192
PetscReal walltimeGuardEWMASeconds
Definition variables.h:881
PetscReal AreaOutSum
Definition variables.h:815
PetscReal * x_bp
Definition variables.h:409
PetscInt dgf_ay
Definition variables.h:728
PetscInt mom_max_pseudo_steps
Definition variables.h:737
PetscReal r[101]
Definition variables.h:893
Vec lAj
Definition variables.h:974
PetscRandom BrownianMotionRNG
Definition variables.h:841
IBMNodes * ibm
Definition variables.h:985
Vec lICsi
Definition variables.h:977
PetscInt testfilter_ik
Definition variables.h:824
PetscInt GridOrientation
Definition variables.h:924
PetscInt mz
Definition variables.h:655
DMDALocalInfo info
Definition variables.h:918
Vec dUcont
Definition variables.h:947
PetscInt ni
Definition variables.h:384
PetscInt hydro
Definition variables.h:732
BCPriorityType
Definition variables.h:323
@ BC_PRIORITY_OUTLET
Definition variables.h:328
@ BC_PRIORITY_FARFIELD
Definition variables.h:326
@ BC_PRIORITY_UNDEFINED
Definition variables.h:324
@ BC_PRIORITY_WALL
Definition variables.h:327
@ BC_PRIORITY_INLET
Definition variables.h:325
Vec lUcat
Definition variables.h:939
PostProcessParams * pps
Definition variables.h:890
PetscInt ii3
Definition variables.h:394
PetscInt migrationPassesLastStep
Definition variables.h:836
PetscScalar y
Definition variables.h:103
InitialConditionField
Selects the authoritative velocity representation in a staged file IC.
Definition variables.h:160
@ IC_FIELD_UCONT
Definition variables.h:162
@ IC_FIELD_UCAT
Definition variables.h:161
PetscInt ii2
Definition variables.h:394
PetscMPIInt size
Definition variables.h:699
PetscInt kk3
Definition variables.h:394
PetscScalar x
Definition variables.h:108
PetscReal Tow_ws
Definition variables.h:470
ExecutionMode
Defines the execution mode of the application.
Definition variables.h:667
@ EXEC_MODE_UNKNOWN
Definition variables.h:670
@ EXEC_MODE_SOLVER
Definition variables.h:668
@ EXEC_MODE_POSTPROCESSOR
Definition variables.h:669
PetscInt IM
Definition variables.h:920
PetscInt * nv2
Definition variables.h:427
char _io_context_buffer[PETSC_MAX_PATH_LEN]
Definition variables.h:719
PetscInt j22
Definition variables.h:389
PetscReal FluxIntpSum
Definition variables.h:936
PetscInt field_statistics_source_step
Committed step supplying the state; negative means the step being processed.
Definition variables.h:627
PetscReal walltimeGuardLimitSeconds
Definition variables.h:876
Cmpnts periodic_translation[3]
Definition variables.h:927
Cmpnts weights
Definition variables.h:187
Face
Enumerates the six faces of a cubic cell for distance calculations.
Definition variables.h:146
@ TOP
Definition variables.h:147
@ FRONT
Definition variables.h:147
@ BOTTOM
Definition variables.h:147
@ BACK
Definition variables.h:147
@ LEFT
Definition variables.h:147
@ NUM_FACES
Definition variables.h:147
@ RIGHT
Definition variables.h:147
Vec lEta
Definition variables.h:974
PetscReal M_x_real
Definition variables.h:486
KSP ksp
Definition variables.h:965
char particleExt[8]
Definition variables.h:631
Vec PostVector
Definition variables.h:960
PetscReal * y_bp
Definition variables.h:409
PetscInt kk33
Definition variables.h:397
PetscReal A_tot
Definition variables.h:481
PetscBool ps_ksp_pic_monitor_true_residual
Definition variables.h:753
Vec KZet
Definition variables.h:979
Cmpnts * uold
Definition variables.h:431
PetscInt n_v
Definition variables.h:426
Vec Cent
Definition variables.h:974
PetscReal walltimeGuardEstimatorAlpha
Definition variables.h:874
PetscInt kk11
Definition variables.h:397
PetscInt les
Definition variables.h:821
PetscBool isc
Definition variables.h:580
char field_statistics_windows[1024]
Comma-separated window names to derive; empty disables the pipeline.
Definition variables.h:621
char field_statistics_outputs[1024]
Comma-separated outputs: mean, reynolds_stress, rms, tke, flux.
Definition variables.h:623
PetscReal cs3
Definition variables.h:388
Vec Nvert
Definition variables.h:939
Vec KCsi
Definition variables.h:979
MGCtx * mgctx
Definition variables.h:581
struct list_node Node_List
A generic C-style linked list node for indices.
SolutionConvergenceMode
Selects the runtime solution-convergence diagnostics mode.
Definition variables.h:543
@ SOLUTION_CONVERGENCE_TRANSIENT
Definition variables.h:547
@ SOLUTION_CONVERGENCE_PERIODIC_DETERMINISTIC
Definition variables.h:545
@ SOLUTION_CONVERGENCE_STATISTICAL_STEADY
Definition variables.h:546
@ SOLUTION_CONVERGENCE_STEADY_DETERMINISTIC
Definition variables.h:544
PetscBool periodic_translation_valid[3]
Definition variables.h:928
PetscInt mg_preItr
Definition variables.h:739
Vec lDiffusivity
Definition variables.h:942
Vec lNvert_o
Definition variables.h:946
PetscReal mom_ratio_ema_alpha
Definition variables.h:749
BCType mathematical_type
Definition variables.h:368
PetscReal * s1
Definition variables.h:511
Vec Centy
Definition variables.h:975
SolutionConvergenceMode solutionConvergenceMode
Definition variables.h:762
PetscReal P_ref
Definition variables.h:680
Cmpnts * u
Definition variables.h:431
PetscReal rx
Definition variables.h:925
PetscReal Power
Definition variables.h:493
PetscViewer logviewer
Definition variables.h:713
PetscReal * z_bp_o
Definition variables.h:411
PetscBool multinullspace
Definition variables.h:967
PetscReal * dV0
Definition variables.h:432
Vec lCentz
Definition variables.h:976
PetscReal Min_xbc
Definition variables.h:502
PetscInt n_midp
Definition variables.h:508
PetscReal * Bvel_w
Definition variables.h:417
PetscReal alpha[3]
Definition variables.h:497
PetscInt64 searchAttempts
Definition variables.h:239
InitialConditionField initialConditionField
Definition variables.h:755
ExecutionMode exec_mode
Definition variables.h:714
PetscReal ct22
Definition variables.h:398
PetscInt startTime
Definition variables.h:601
PetscReal rho_ref
Definition variables.h:679
PetscInt nj
Definition variables.h:384
PetscInt64 tieBreakCount
Definition variables.h:247
PetscReal mom_resid_atol
Definition variables.h:738
Vec lJAj
Definition variables.h:978
BoundingBox bbox
Definition variables.h:922
PetscBool restartHistoryAvailable
Definition variables.h:723
PetscInt my
Definition variables.h:655
PetscInt cop
Definition variables.h:732
PetscReal ti
Definition variables.h:704
PetscReal walltimeGuardMultiplier
Definition variables.h:872
PetscInt Pipe
Definition variables.h:732
PetscReal cr3
Definition variables.h:381
PetscReal Max_Z
Definition variables.h:921
PetscInt rotateframe
Definition variables.h:727
PetscInt64 PID
Definition variables.h:183
PetscReal U_ref
Definition variables.h:678
IBMNodes * ibm
Definition variables.h:845
PetscReal * x_bp
Definition variables.h:428
PetscReal AreaInSum
Definition variables.h:815
PetscInt mx
Definition variables.h:655
PetscInt k11
Definition variables.h:389
MomentumSolverType mom_solver_type
Definition variables.h:736
PetscReal summationRHS
Definition variables.h:858
Vec lKAj
Definition variables.h:979
IBMListNode * head
Definition variables.h:463
PetscReal ymax
Definition variables.h:513
PetscInt immersed
Definition variables.h:726
PetscReal * x_bp0
Definition variables.h:410
PetscInt64 maxTraversalFailCount
Definition variables.h:246
char PostprocessingControlFile[PETSC_MAX_PATH_LEN]
Definition variables.h:889
char restart_dir[PETSC_MAX_PATH_LEN]
Definition variables.h:716
node * head
Definition variables.h:446
VerificationDiffusivityConfig verificationDiffusivity
Definition variables.h:777
PetscReal * y_bp_o
Definition variables.h:411
PetscReal y_c
Definition variables.h:489
PetscInt blank
Definition variables.h:727
PetscInt dgf_y
Definition variables.h:728
Vec * lNvert_c
Definition variables.h:991
PetscReal Min_zbc
Definition variables.h:502
PetscReal z_min
Definition variables.h:418
PetscReal walltimeGuardJobStartEpochSeconds
Definition variables.h:875
PetscReal pseudo_cfl
Definition variables.h:744
PetscReal x_c
Definition variables.h:489
PetscReal * nt_z
Definition variables.h:415
PetscReal M_z_old
Definition variables.h:485
#define MAX_VTK_FIELD_NAME_LENGTH
Maximum length for VTK field names.
Definition variables.h:591
PetscReal cs11
Definition variables.h:393
PetscInt LoggingFrequency
Definition variables.h:857
PetscReal z_c
Definition variables.h:489
Cmpnts vertices[8]
Coordinates of the eight vertices of the cell.
Definition variables.h:178
PetscInt ii33
Definition variables.h:397
PetscReal F_y
Definition variables.h:481
PetscReal CMx_c
Definition variables.h:783
PetscReal drivingForceMagnitude
Definition variables.h:801
PetscInt CV_ze
Definition variables.h:503
PetscReal atk_o
Definition variables.h:499
Vec Psi
Definition variables.h:997
PetscReal particleLoadImbalance
Definition variables.h:839
Cmpnts * urm1
Definition variables.h:414
PetscInt i2
Definition variables.h:380
Vec P_o
Definition variables.h:946
PetscReal M_x
Definition variables.h:484
PetscReal * tauN
Definition variables.h:417
PetscBool fieldStatisticsContinue
Definition variables.h:776
Vec Uch
Characteristic velocity for boundary conditions.
Definition variables.h:124
BCFace
Identifies the six logical faces of a structured computational block.
Definition variables.h:261
@ BC_FACE_NEG_X
Definition variables.h:262
@ BC_FACE_POS_Z
Definition variables.h:264
@ BC_FACE_POS_Y
Definition variables.h:263
@ BC_FACE_NEG_Z
Definition variables.h:264
@ BC_FACE_POS_X
Definition variables.h:262
@ BC_FACE_NEG_Y
Definition variables.h:263
PetscInt i11
Definition variables.h:389
PetscInt j_periodic
Definition variables.h:791
BoundaryCondition * handler
Definition variables.h:371
PetscReal * y_midp
Definition variables.h:509
PetscInt n_v
Definition variables.h:406
VTKFileType
Enumerates the type of VTK file to be written.
Definition variables.h:648
@ VTK_POLYDATA
Definition variables.h:650
@ VTK_STRUCTURED
Definition variables.h:649
PetscInt nbnumber
Definition variables.h:405
PetscInt wing
Definition variables.h:732
PetscReal * cf
Definition variables.h:412
FSInfo * fsi
Definition variables.h:847
Provides execution context for a boundary condition handler.
Definition variables.h:343
Boundary condition data used by the BC pipeline and ghost cell machinery.
Definition variables.h:122
A node in a linked list for storing key-value parameters from the bcs.dat file.
Definition variables.h:336
Holds the complete configuration for one of the six boundary faces.
Definition variables.h:366
Defines a 3D axis-aligned bounding box.
Definition variables.h:171
Defines the vertices of a single hexahedral grid cell.
Definition variables.h:177
A 3D point or vector with PetscScalar components.
Definition variables.h:102
A 2D point or vector with PetscScalar components.
Definition variables.h:107
A 2D vector of PETSc real numbers (for geometry/coordinates).
Definition variables.h:112
Defines prescribed body motion using splines.
Definition variables.h:507
Holds all data related to the state and motion of a body in FSI.
Definition variables.h:477
Represents a single point in a time-varying flow waveform.
Definition variables.h:117
Holds interpolation and distance information for a single IBM point.
Definition variables.h:379
Head of a linked list for IBM data.
Definition variables.h:462
A linked list node containing IBM interpolation info.
Definition variables.h:456
Represents a collection of nodes forming a surface for the IBM.
Definition variables.h:404
Represents a collection of nodes forming a volume for the IBM.
Definition variables.h:424
Context for Multigrid operations.
Definition variables.h:570
Information needed to migrate a single particle between MPI ranks.
Definition variables.h:209
Defines a particle's core properties for Lagrangian tracking.
Definition variables.h:182
Holds all configuration parameters for a post-processing run.
Definition variables.h:596
A lean struct to hold the global cell ownership range for a single MPI rank.
Definition variables.h:203
Stores the MPI ranks of neighboring subdomains.
Definition variables.h:196
Aggregated per-timestep search instrumentation counters.
Definition variables.h:238
The master context for the entire simulation.
Definition variables.h:695
Information about a surface element for FSI calculations.
Definition variables.h:467
User-defined context containing data specific to a single computational grid level.
Definition variables.h:906
User-level context for managing the entire multigrid hierarchy.
Definition variables.h:577
Stores all necessary information for a single data array in a VTK file.
Definition variables.h:641
Verification-only analytical diffusivity override settings.
Definition variables.h:215
Verification-only analytical scalar override settings.
Definition variables.h:224
Head of a generic C-style linked list.
Definition variables.h:445
A generic C-style linked list node for indices.
Definition variables.h:450
A generic C-style linked list node for integers.
Definition variables.h:439