|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
Typed identities and metadata for persistent solver-particle fields. More...
Go to the source code of this file.
Data Structures | |
| struct | ParticleFieldDescriptor |
| Immutable metadata for one persistent particle field. More... | |
Enumerations | |
| enum | ParticleFieldId { PARTICLE_FIELD_ID_INVALID = -1 , PARTICLE_FIELD_ID_POSITION = 0 , PARTICLE_FIELD_ID_VELOCITY , PARTICLE_FIELD_ID_CELL_ID , PARTICLE_FIELD_ID_WEIGHT , PARTICLE_FIELD_ID_DIFFUSIVITY , PARTICLE_FIELD_ID_DIFFUSIVITY_GRADIENT , PARTICLE_FIELD_ID_PSI , PARTICLE_FIELD_ID_LOCATION_STATUS , PARTICLE_FIELD_ID_PID , PARTICLE_FIELD_ID_RANK , PARTICLE_FIELD_ID_COUNT } |
| Compile-time identity for a persistent solver-particle field. More... | |
| enum | ParticleFieldRegistration { PARTICLE_FIELD_REGISTRATION_PICURV = 0 , PARTICLE_FIELD_REGISTRATION_PETSC } |
| Owner of a field's DMSwarm registration. More... | |
| enum | ParticleFieldCapabilities { PARTICLE_FIELD_CAPABILITY_NONE = 0u , PARTICLE_FIELD_CAPABILITY_DEFAULT_INITIALIZE = 1u << 0 , PARTICLE_FIELD_CAPABILITY_MODEL_UPDATE = 1u << 1 , PARTICLE_FIELD_CAPABILITY_EULERIAN_SCATTER = 1u << 2 } |
| Operations supported by a particle-field catalog entry. More... | |
Functions | |
| PetscErrorCode | ParticleFieldGetDescriptor (ParticleFieldId field_id, const ParticleFieldDescriptor **descriptor) |
| Return immutable metadata for a valid particle field ID. | |
| PetscErrorCode | ParticleFieldIdFromName (const char *field_name, ParticleFieldId *field_id) |
| Resolve a canonical name or registered alias at a text-ingress boundary. | |
| const char * | ParticleFieldName (ParticleFieldId field_id) |
| Return the canonical PETSc DMSwarm name for an ID. | |
Typed identities and metadata for persistent solver-particle fields.
Particle fields intentionally use a catalog separate from Eulerian fields. They are registered on a DMSwarm, may use integer storage, and do not own a global/local Vec pair in UserCtx. Text is translated only where PETSc or a user/file interface requires a registered DMSwarm name.
Definition in file particle_field_catalog.h.
| struct ParticleFieldDescriptor |
Immutable metadata for one persistent particle field.
Definition at line 53 of file particle_field_catalog.h.
| Data Fields | ||
|---|---|---|
| ParticleFieldId | id | |
| const char * | canonical_name | |
| const char * | alias_1 | |
| const char * | alias_2 | |
| PetscInt | components | |
| PetscDataType | data_type | |
| ParticleFieldRegistration | registration | |
| unsigned int | capabilities | |
| PetscReal | default_real_value | |
| FieldId | eulerian_scatter_target | |
| enum ParticleFieldId |
Compile-time identity for a persistent solver-particle field.
Definition at line 23 of file particle_field_catalog.h.
Owner of a field's DMSwarm registration.
| Enumerator | |
|---|---|
| PARTICLE_FIELD_REGISTRATION_PICURV | |
| PARTICLE_FIELD_REGISTRATION_PETSC | |
Definition at line 39 of file particle_field_catalog.h.
Operations supported by a particle-field catalog entry.
| Enumerator | |
|---|---|
| PARTICLE_FIELD_CAPABILITY_NONE | |
| PARTICLE_FIELD_CAPABILITY_DEFAULT_INITIALIZE | |
| PARTICLE_FIELD_CAPABILITY_MODEL_UPDATE | |
| PARTICLE_FIELD_CAPABILITY_EULERIAN_SCATTER | |
Definition at line 45 of file particle_field_catalog.h.
| PetscErrorCode ParticleFieldGetDescriptor | ( | ParticleFieldId | field_id, |
| const ParticleFieldDescriptor ** | descriptor | ||
| ) |
Return immutable metadata for a valid particle field ID.
| [in] | field_id | Typed particle-field identity. |
| [out] | descriptor | Catalog-owned immutable descriptor. |
Return immutable metadata for a valid particle field ID.
Definition at line 56 of file particle_field_catalog.c.
| PetscErrorCode ParticleFieldIdFromName | ( | const char * | field_name, |
| ParticleFieldId * | field_id | ||
| ) |
Resolve a canonical name or registered alias at a text-ingress boundary.
| [in] | field_name | Canonical particle name or registered alias. |
| [out] | field_id | Resolved typed identity. |
PETSC_ERR_ARG_UNKNOWN_TYPE for unknown text.Resolve a canonical name or registered alias at a text-ingress boundary.
Definition at line 77 of file particle_field_catalog.c.
| const char * ParticleFieldName | ( | ParticleFieldId | field_id | ) |
Return the canonical PETSc DMSwarm name for an ID.
| [in] | field_id | Typed particle-field identity. |
InvalidParticleField.Return the canonical PETSc DMSwarm name for an ID.
Definition at line 108 of file particle_field_catalog.c.