ABLATE Source Documentation  0.12.33
fieldDescription.hpp
1 #ifndef ABLATELIBRARY_PARTICLEFIELDDESCRIPTION_HPP
2 #define ABLATELIBRARY_PARTICLEFIELDDESCRIPTION_HPP
3 
4 #include <petsc.h>
5 #include <string>
6 #include <vector>
7 #include "domain/field.hpp"
8 
9 namespace ablate::particles {
10 
13  const std::string name;
14 
16  const std::vector<std::string> components = {"_"};
17 
19  enum domain::FieldLocation location = domain::FieldLocation::AUX;
20 
22  const PetscDataType dataType = PETSC_REAL;
23 
24  public:
32  FieldDescription(std::string name, domain::FieldLocation type, const std::vector<std::string>& components = {}, PetscDataType dataType = PETSC_DATATYPE_UNKNOWN);
33 };
34 
35 } // namespace ablate::particles
36 #endif // ABLATELIBRARY_PARTICLEFIELDDESCRIPTION_HPP
Definition: fieldDescription.hpp:11
const std::string name
The unique name of the particle field.
Definition: fieldDescription.hpp:13
enum domain::FieldLocation location
The type of field, (solution or aux)
Definition: fieldDescription.hpp:19
const std::vector< std::string > components
Optional name of the components. This is used to determine the number of components.
Definition: fieldDescription.hpp:16
FieldDescription(std::string name, domain::FieldLocation type, const std::vector< std::string > &components={}, PetscDataType dataType=PETSC_DATATYPE_UNKNOWN)
Definition: fieldDescription.cpp:6
const PetscDataType dataType
The data type, default is double.
Definition: fieldDescription.hpp:22