ABLATE Source Documentation  0.12.34
ablate::domain::Domain Class Reference
+ Inheritance diagram for ablate::domain::Domain:

Public Member Functions

const std::string & GetName () const
 
DM & GetDM () noexcept
 
Vec GetSolutionVector ()
 
void RegisterField (const ablate::domain::FieldDescription &fieldDescription)
 
PetscInt GetDimensions () const noexcept
 
void InitializeSubDomains (const std::vector< std::shared_ptr< solver::Solver >> &solvers={}, const std::shared_ptr< ablate::domain::Initializer > &initializations={}, const std::vector< std::shared_ptr< mathFunctions::FieldFunction >> &={})
 
void ProjectFieldFunctions (const std::vector< std::shared_ptr< mathFunctions::FieldFunction >> &fieldFunctions, Vec globVec, PetscReal time=0.0)
 
std::shared_ptr< SubDomainGetSubDomain (const std::shared_ptr< Region > &name) const
 
std::vector< std::weak_ptr< io::Serializable > > GetSerializableSubDomains ()
 
const FieldGetField (int fieldId) const
 
const FieldGetField (const std::string_view &fieldName) const
 
const std::vector< Field > & GetFields () const
 
bool CheckFieldValues (Vec globSourceVector=nullptr)
 

Static Public Attributes

static const std::string solution_vector_name = "solution"
 The name of the solution field vector.
 
static const std::string aux_vector_name = "aux"
 The name of the aux field vector.
 

Protected Member Functions

 Domain (DM dm, std::string name, std::vector< std::shared_ptr< FieldDescriptor >>, std::vector< std::shared_ptr< modifiers::Modifier >> modifiers, const std::shared_ptr< parameters::Parameters > &options={}, bool setFromOptions=true)
 

Protected Attributes

DM dm
 

Member Function Documentation

◆ CheckFieldValues()

bool ablate::domain::Domain::CheckFieldValues ( Vec  globSourceVector = nullptr)

checks check point in this domain for nan/inf in the solution aux vectors

Parameters
globSourceVectoroptional source vector to also check
Returns
bool True is returned if an error is found.

◆ GetField()

const Field& ablate::domain::Domain::GetField ( int  fieldId) const
inline

returns the field by global id

Parameters
fieldId
Returns

◆ GetFields()

const std::vector<Field>& ablate::domain::Domain::GetFields ( ) const
inline

returns all of the fields

Parameters
fieldId
Returns

◆ GetSerializableSubDomains()

std::vector< std::weak_ptr< ablate::io::Serializable > > ablate::domain::Domain::GetSerializableSubDomains ( )

Provide a list of serialize subDomains

◆ GetSolutionVector()

Vec ablate::domain::Domain::GetSolutionVector ( )
inline

Returns access to the global solution field

Returns

◆ GetSubDomain()

std::shared_ptr< ablate::domain::SubDomain > ablate::domain::Domain::GetSubDomain ( const std::shared_ptr< Region > &  name) const

return the shared pointer for this subdomain

Parameters
name
Returns

◆ InitializeSubDomains()

void ablate::domain::Domain::InitializeSubDomains ( const std::vector< std::shared_ptr< solver::Solver >> &  solvers = {},
const std::shared_ptr< ablate::domain::Initializer > &  initializations = {},
const std::vector< std::shared_ptr< mathFunctions::FieldFunction >> &  exactSolutions = {} 
)

Setup the local data storage

Parameters
solvers
initializations

◆ ProjectFieldFunctions()

void ablate::domain::Domain::ProjectFieldFunctions ( const std::vector< std::shared_ptr< mathFunctions::FieldFunction >> &  fieldFunctions,
Vec  globVec,
PetscReal  time = 0.0 
)

project the list of field function into the provided global vector

Parameters
fieldFunctions
globVec

◆ RegisterField()

void ablate::domain::Domain::RegisterField ( const ablate::domain::FieldDescription fieldDescription)

Register the field with the dm

Parameters
fieldDescription

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