ABLATE Source Documentation  0.12.33
ablate::domain::FieldDescription Struct Reference

#include <fieldDescription.hpp>

+ Inheritance diagram for ablate::domain::FieldDescription:

Public Member Functions

 FieldDescription (std::string name, const std::string &prefix, const std::vector< std::string > &components, FieldLocation location, FieldType type, std::shared_ptr< domain::Region >={}, const std::shared_ptr< parameters::Parameters > &={}, std::vector< std::string > tags={})
 
void DecompressComponents (PetscInt dim)
 
std::vector< std::shared_ptr< FieldDescription > > GetFields () override
 
virtual PetscObject CreatePetscField (DM dm) const
 
std::shared_ptr< FieldDescriptionSpecialize (FieldType typeIn, std::shared_ptr< domain::Region > regionIn, std::shared_ptr< parameters::Parameters > optionsIn={}, std::vector< std::string > tagsIn={})
 

Public Attributes

const std::string name
 
const std::string prefix
 
std::vector< std::string > components = {"_"}
 
enum FieldLocation location = FieldLocation::SOL
 
enum FieldType type = FieldType::FEM
 
const std::shared_ptr< domain::Regionregion
 
const std::vector< std::string > tags
 

Static Public Attributes

static const std::string DIMENSION = "_DIMENSION_"
 
static const std::vector< std::string > ONECOMPONENT = {"_"}
 

Detailed Description

Describes the necessary information to produce a field in the domain/dm

Member Function Documentation

◆ CreatePetscField()

PetscObject ablate::domain::FieldDescription::CreatePetscField ( DM  dm) const
virtual

Create the petsc field used by the dm

Parameters
dm
Returns

◆ DecompressComponents()

void ablate::domain::FieldDescription::DecompressComponents ( PetscInt  dim)

Public function that will cause the components to expand or decompress based upon the number of dims

◆ GetFields()

std::vector< std::shared_ptr< ablate::domain::FieldDescription > > ablate::domain::FieldDescription::GetFields ( )
overridevirtual

Allow a single FieldDescription to report it self allowing FieldDescription to be used as FieldDescriptor

Implements ablate::domain::FieldDescriptor.

◆ Specialize()

std::shared_ptr<FieldDescription> ablate::domain::FieldDescription::Specialize ( FieldType  typeIn,
std::shared_ptr< domain::Region regionIn,
std::shared_ptr< parameters::Parameters optionsIn = {},
std::vector< std::string >  tagsIn = {} 
)
inline

public configure to set the options after creation

Parameters
optionsIn

The documentation for this struct was generated from the following files: