32#include "petscdmswarm.h"
41#if defined(__cplusplus)
57#define COEF_TIME_ACCURACY 1.5
543#define MAX_PIPELINE_LENGTH 1024
544#define MAX_FIELD_LIST_LENGTH 1024
545#define MAX_FILENAME_LENGTH 256
547#define MAX_POINT_DATA_FIELDS 20
548#define MAX_VTK_FIELD_NAME_LENGTH 64
679 PetscInt
cop,
fish,
fish_c,
fishcyl,
eel,
pizza,
turbine,
Pipe,
wing,
hydro,
MHV,
LV;
858 Vec
Cent,
lCent,
Csi,
Eta,
Zet,
Aj,
lCsi,
lEta,
lZet,
lAj,
GridSpace,
lGridSpace;
The "virtual table" struct for a boundary condition handler object.
PetscErrorCode(* PostStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow)
PetscErrorCode(* PreStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow)
PetscErrorCode(* Destroy)(BoundaryCondition *self)
PetscErrorCode(* Initialize)(BoundaryCondition *self, BCContext *ctx)
PetscErrorCode(* UpdateUbcs)(BoundaryCondition *self, BCContext *ctx)
PetscErrorCode(* Apply)(BoundaryCondition *self, BCContext *ctx)
LESModelType
Identifies the six logical faces of a structured computational block.
const PetscReal * global_outflow_sum
char statistics_output_prefix[256]
basename for CSV output, e.g.
BCType
Defines the general mathematical/physical Category of a boundary.
#define MAX_POINT_DATA_FIELDS
Defines the maximum number of data fields for VTK point data.
PetscBool inletFaceDefined
PetscBool profilingFinalSummary
char particle_output_prefix[256]
PetscReal y_bp_in[101][3270]
char profilingTimestepFile[PETSC_MAX_PATH_LEN]
PetscReal Turbulent_schmidt_number
BoundaryFaceConfig boundary_faces[6]
PetscInt64 searchLocatedCount
PetscReal z_bp_in[101][3270]
PetscInt num_point_data_fields
PetscInt64 searchLostCount
BCFace identifiedInletBCFace
PetscReal targetVolumetricFlux
PetscBool walltimeGuardActive
char euler_subdir[PETSC_MAX_PATH_LEN]
PetscReal walltimeGuardWarmupTotalSeconds
PetscReal forceScalingFactor
PetscReal pseudo_cfl_reduction_factor
SimCtx * simCtx
Back-pointer to the master simulation context.
ParticleInitializationType
Enumerator to identify the particle initialization strategy.
@ PARTICLE_INIT_SURFACE_RANDOM
Random placement on the inlet face.
@ PARTICLE_INIT_SURFACE_EDGES
Deterministic placement at inlet face edges.
@ PARTICLE_INIT_POINT_SOURCE
All particles at a fixed (psrc_x,psrc_y,psrc_z) — for validation.
@ PARTICLE_INIT_VOLUME
Random volumetric distribution across the domain.
ParticleLocationStatus
Defines the state of a particle with respect to its location and migration status during the iterativ...
PetscBool walltimeGuardHasEWMA
PetscInt64 boundaryClampCount
PetscInt particlesLostLastStep
#define MAX_FIELD_LIST_LENGTH
PetscReal walltimeGuardMinSeconds
char allowedFile[PETSC_MAX_PATH_LEN]
PetscInt64 traversalStepsSum
BCHandlerType
Defines the specific computational "strategy" for a boundary handler.
@ BC_HANDLER_INLET_PULSATILE_FLUX
@ BC_HANDLER_PERIODIC_GEOMETRIC
@ BC_HANDLER_INLET_PARABOLIC
@ BC_HANDLER_INLET_CONSTANT_VELOCITY
@ BC_HANDLER_PERIODIC_DRIVEN_INITIAL_FLUX
@ BC_HANDLER_INTERFACE_OVERSET
@ BC_HANDLER_PERIODIC_DRIVEN_CONSTANT_FLUX
@ BC_HANDLER_INLET_PROFILE_FROM_FILE
@ BC_HANDLER_OUTLET_CONSERVATION
@ BC_HANDLER_FARFIELD_NONREFLECTING
@ BC_HANDLER_OUTLET_PRESSURE
@ BC_HANDLER_SYMMETRY_PLANE
@ BC_HANDLER_INLET_INTERP_FROM_FILE
char output_fields_averaged[1024]
PetscInt FieldInitialization
#define MAX_PIPELINE_LENGTH
BCHandlerType handler_type
Cmpnts max_coords
Maximum x, y, z coordinates of the bounding box.
Cmpnts diffusivitygradient
PetscReal uinr[101][1001]
PetscInt64 searchPopulation
char output_dir[PETSC_MAX_PATH_LEN]
PetscReal walltimeGuardLatestStepSeconds
PetscInt occupiedCellCount
char profilingTimestepMode[32]
const PetscReal * global_farfield_outflow_sum
PetscReal bulkVelocityCorrection
PetscInt currentSettlementPass
PetscReal x_bp_in[101][3270]
#define MAX_FILENAME_LENGTH
Cmpnts min_coords
Minimum x, y, z coordinates of the bounding box.
Vec Ubcs
Physical Cartesian velocity at boundary faces. Full 3D array but only boundary-face entries are meani...
MomentumSolverType
Enumerator to identify the implemented momentum solver strategies.
@ MOMENTUM_SOLVER_EXPLICIT_RK
@ MOMENTUM_SOLVER_DUALTIME_PICARD_RK4
char * current_io_directory
PetscMPIInt destination_rank
char grid_file[PETSC_MAX_PATH_LEN]
char statistics_pipeline[1024]
e.g.
struct IBMListNode * next
PetscInt64 bboxGuessFallbackCount
InterpolationMethod interpolationMethod
RankCellInfo * RankCellInfoMap
PetscReal psrc_z
Point source location for PARTICLE_INIT_POINT_SOURCE.
const PetscReal * global_inflow_sum
VerificationScalarConfig verificationScalar
char output_fields_instantaneous[1024]
char profilingSelectedFuncsFile[PETSC_MAX_PATH_LEN]
ParticleLocationStatus location_status
char particleRestartMode[16]
PetscInt64 bboxGuessSuccessCount
char particle_subdir[PETSC_MAX_PATH_LEN]
char log_dir[PETSC_MAX_PATH_LEN]
PetscInt walltimeGuardCompletedSteps
PetscInt64 maxParticlePassDepth
char source_dir[PETSC_MAX_PATH_LEN]
PetscInt64 maxTraversalSteps
char particle_pipeline[1024]
Cmpnts AnalyticalUniformVelocity
char eulerianSource[PETSC_MAX_PATH_LEN]
PetscBool walltimeGuardEnabled
PetscReal wall_roughness_height
PetscBool useProfilingSelectedFuncsCfg
PetscInt walltimeGuardWarmupSteps
ParticleInitializationType ParticleInitialization
InterpolationMethod
Selects the grid-to-particle interpolation method.
struct list List
Head of a generic C-style linked list.
char ** profilingSelectedFuncs
const PetscReal * global_farfield_inflow_sum
char process_pipeline[1024]
PetscInt particle_output_freq
char particle_fields[1024]
PetscReal pseudo_cfl_growth_factor
PetscBool outputParticles
PetscInt particlesLostCumulative
VTKFieldInfo point_data_fields[20]
PetscInt nProfilingSelectedFuncs
PetscReal mom_dt_rk4_residual_norm_noise_allowance_factor
PetscInt particlesMigratedLastStep
PetscReal grid_rotation_angle
char AnalyticalSolutionType[PETSC_MAX_PATH_LEN]
PetscReal walltimeGuardWarmupAverageSeconds
PetscInt particleConsoleOutputFreq
Cmpnts InitialConstantContra
SearchMetricsState searchMetrics
PetscReal walltimeGuardEWMASeconds
PetscInt mom_max_pseudo_steps
PetscRandom BrownianMotionRNG
PetscInt migrationPassesLastStep
ExecutionMode
Defines the execution mode of the application.
@ EXEC_MODE_POSTPROCESSOR
char _io_context_buffer[PETSC_MAX_PATH_LEN]
PetscReal walltimeGuardLimitSeconds
Face
Enumerates the six faces of a cubic cell for distance calculations.
PetscBool ps_ksp_pic_monitor_true_residual
PetscReal walltimeGuardEstimatorAlpha
struct list_node Node_List
A generic C-style linked list node for indices.
PetscInt64 searchAttempts
PetscReal walltimeGuardMultiplier
MomentumSolverType mom_solver_type
PetscInt64 maxTraversalFailCount
char PostprocessingControlFile[PETSC_MAX_PATH_LEN]
char restart_dir[PETSC_MAX_PATH_LEN]
VerificationDiffusivityConfig verificationDiffusivity
PetscReal walltimeGuardJobStartEpochSeconds
#define MAX_VTK_FIELD_NAME_LENGTH
Maximum length for VTK field names.
PetscInt LoggingFrequency
Cmpnts vertices[8]
Coordinates of the eight vertices of the cell.
PetscReal drivingForceMagnitude
PetscReal particleLoadImbalance
Vec Uch
Characteristic velocity for boundary conditions.
BCFace
Identifies the six logical faces of a structured computational block.
BoundaryCondition * handler
VTKFileType
Enumerates the type of VTK file to be written.
Provides execution context for a boundary condition handler.
Boundary condition data used by the BC pipeline and ghost cell machinery.
A node in a linked list for storing key-value parameters from the bcs.dat file.
Holds the complete configuration for one of the six boundary faces.
Defines a 3D axis-aligned bounding box.
Defines the vertices of a single hexahedral grid cell.
A 3D point or vector with PetscScalar components.
A 2D point or vector with PetscScalar components.
A 2D vector of PETSc real numbers (for geometry/coordinates).
Defines prescribed body motion using splines.
Holds all data related to the state and motion of a body in FSI.
Represents a single point in a time-varying flow waveform.
Holds interpolation and distance information for a single IBM point.
Head of a linked list for IBM data.
A linked list node containing IBM interpolation info.
Represents a collection of nodes forming a surface for the IBM.
Represents a collection of nodes forming a volume for the IBM.
Context for Multigrid operations.
Information needed to migrate a single particle between MPI ranks.
Defines a particle's core properties for Lagrangian tracking.
Holds all configuration parameters for a post-processing run.
A lean struct to hold the global cell ownership range for a single MPI rank.
Stores the MPI ranks of neighboring subdomains.
Aggregated per-timestep search instrumentation counters.
The master context for the entire simulation.
Information about a surface element for FSI calculations.
User-defined context containing data specific to a single computational grid level.
User-level context for managing the entire multigrid hierarchy.
Stores all necessary information for a single data array in a VTK file.
Verification-only analytical diffusivity override settings.
Verification-only analytical scalar override settings.
Head of a generic C-style linked list.
A generic C-style linked list node for indices.
A generic C-style linked list node for integers.