32#include "petscdmswarm.h"
41#if defined(__cplusplus)
57#define COEF_TIME_ACCURACY 1.5
433#define MAX_PIPELINE_LENGTH 1024
434#define MAX_FIELD_LIST_LENGTH 1024
435#define MAX_FILENAME_LENGTH 256
437#define MAX_POINT_DATA_FIELDS 20
438#define MAX_VTK_FIELD_NAME_LENGTH 64
540 PetscInt
cop,
fish,
fish_c,
fishcyl,
eel,
pizza,
turbine,
Pipe,
wing,
hydro,
MHV,
LV;
673 Vec
Cent,
lCent,
Csi,
Eta,
Zet,
Aj,
lCsi,
lEta,
lZet,
lAj,
GridSpace,
lGridSpace;
The "virtual table" struct for a boundary condition handler object.
PetscErrorCode(* PreStep)(BoundaryCondition *self, BCContext *ctx, PetscReal *local_inflow, PetscReal *local_outflow)
PetscErrorCode(* Destroy)(BoundaryCondition *self)
PetscErrorCode(* PlaceSource)(BoundaryCondition *self, BCContext *ctx,...)
PetscErrorCode(* Initialize)(BoundaryCondition *self, BCContext *ctx)
PetscErrorCode(* Apply)(BoundaryCondition *self, BCContext *ctx)
const PetscReal * global_outflow_sum
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
char particle_output_prefix[256]
PetscReal y_bp_in[101][3270]
BoundaryFaceConfig boundary_faces[6]
PetscReal z_bp_in[101][3270]
PetscInt num_point_data_fields
BCFace identifiedInletBCFace
SimCtx * simCtx
Back-pointer to the master simulation context.
ParticleLocationStatus
Defines the state of a particle with respect to its location and migration status during the iterativ...
#define MAX_FIELD_LIST_LENGTH
char allowedFile[PETSC_MAX_PATH_LEN]
BCHandlerType
Defines the specific computational "strategy" for a boundary handler.
@ BC_HANDLER_INLET_PULSANTILE_FLUX
@ BC_HANDLER_INLET_PARABOLIC
@ BC_HANDLER_INLET_CONSTANT_VELOCITY
@ BC_HANDLER_INTERFACE_OVERSET
@ BC_HANDLER_INLET_DEVELOPED_PROFILE
@ BC_HANDLER_NOGRAD_COPY_GHOST
@ BC_HANDLER_OUTLET_CONSERVATION
@ BC_HANDLER_FARFIELD_NONREFLECTING
@ BC_HANDLER_OUTLET_PRESSURE
@ BC_HANDLER_SYMMETRY_PLANE
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.
PetscReal uinr[101][1001]
char criticalFuncsFile[PETSC_MAX_PATH_LEN]
PetscReal x_bp_in[101][3270]
#define MAX_FILENAME_LENGTH
Cmpnts min_coords
Minimum x, y, z coordinates of the bounding box.
Vec Ubcs
Boundary condition velocity values. (Comment: "An ugly hack, waste of memory")
PetscMPIInt destination_rank
char grid_file[PETSC_MAX_PATH_LEN]
struct IBMListNode * next
RankCellInfo * RankCellInfoMap
const PetscReal * global_inflow_sum
char output_fields_instantaneous[1024]
ParticleLocationStatus location_status
char particle_pipeline[1024]
struct list List
Head of a generic C-style linked list.
PetscBool useCriticalFuncsCfg
char process_pipeline[1024]
PetscInt particle_output_freq
char particle_fields[1024]
PetscBool outputParticles
VTKFieldInfo point_data_fields[20]
PetscReal grid_rotation_angle
Cmpnts InitialConstantContra
ExecutionMode
Defines the execution mode of the application.
@ EXEC_MODE_POSTPROCESSOR
Face
Enumerates the six faces of a cubic cell for distance calculations.
struct list_node Node_List
A generic C-style linked list node for indices.
PetscInt ParticleInitialization
char PostprocessingControlFile[PETSC_MAX_PATH_LEN]
#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.
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.
Legacy boundary condition data.
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.
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.
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.