Skip to content
Snippets Groups Projects
Commit 1f568c21 authored by andy's avatar andy
Browse files

ENH: Extended particle sub model base API

parent b62940d4
Branches
Tags
No related merge requests found
......@@ -199,10 +199,11 @@ template<class CloudType>
template<class Type>
Type Foam::SubModelBase<CloudType>::getBaseProperty
(
const word& entryName
const word& entryName,
const Type& defaultValue
) const
{
Type result = pTraits<Type>::zero;
Type result = defaultValue;
const dictionary& properties = this->owner().outputProperties();
......@@ -216,6 +217,24 @@ Type Foam::SubModelBase<CloudType>::getBaseProperty
}
template<class CloudType>
template<class Type>
void Foam::SubModelBase<CloudType>::getBaseProperty
(
const word& entryName,
Type& value
) const
{
const dictionary& properties = this->owner().outputProperties();
if (properties.found(baseName_))
{
const dictionary& baseDict = properties.subDict(baseName_);
baseDict.readIfPresent(entryName, value);
}
}
template<class CloudType>
template<class Type>
void Foam::SubModelBase<CloudType>::setBaseProperty
......@@ -243,10 +262,11 @@ template<class CloudType>
template<class Type>
Type Foam::SubModelBase<CloudType>::getModelProperty
(
const word& entryName
const word& entryName,
const Type& defaultValue
) const
{
Type result = pTraits<Type>::zero;
Type result = defaultValue;
const dictionary& properties = this->owner().outputProperties();
......
......@@ -163,25 +163,42 @@ public:
//- Return non-const access to the owner cloud for manipulation
CloudType& owner();
//- Retrieve generic property from the sub-model
template<class Type>
Type getModelProperty(const word& entryName) const;
//- Retrieve generic property from the sub-model
template<class Type>
void getModelProperty(const word& entryName, Type& value) const;
//- Add generic property to the sub-model
template<class Type>
void setModelProperty(const word& entryName, const Type& value);
//- Retrieve generic property from the base model
template<class Type>
Type getBaseProperty(const word& entryName) const;
//- Add generic property to the base model
template<class Type>
void setBaseProperty(const word& entryName, const Type& value);
// Base properties
//- Retrieve generic property from the base model
template<class Type>
Type getBaseProperty
(
const word& entryName,
const Type& defaultValue = pTraits<Type>::zero
) const;
//- Retrieve generic property from the base model
template<class Type>
void getBaseProperty(const word& entryName, Type& value) const;
//- Add generic property to the base model
template<class Type>
void setBaseProperty(const word& entryName, const Type& value);
// Model properties
//- Retrieve generic property from the sub-model
template<class Type>
Type getModelProperty
(
const word& entryName,
const Type& defaultValue = pTraits<Type>::zero
) const;
//- Retrieve generic property from the sub-model
template<class Type>
void getModelProperty(const word& entryName, Type& value) const;
//- Add generic property to the sub-model
template<class Type>
void setModelProperty(const word& entryName, const Type& value);
// I-O
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment