Class FieldFactory

Inheritance Relationships

Derived Types

Class Documentation

class FieldFactory

Subclassed by pcms::MFEMFieldFactory, pcms::XGCFieldFactory

Public Functions

virtual std::shared_ptr<const FieldLayout> GetLayout() const noexcept = 0
virtual ~FieldFactory() noexcept = default
template<typename T>
Field<T> CreateField(std::string name = "", VarianceSignature variance = values::Scalar, std::optional<ComponentScaling> scaling = std::nullopt) const
template<typename T>
Field<T> CreateField(std::string name, VarianceSignature variance, std::shared_ptr<const CoordinateSystem> system, std::optional<ComponentScaling> scaling = std::nullopt) const
template<typename T>
Field<T> CreateField(std::string name, std::unique_ptr<FieldData<T>> data) const

Protected Functions

virtual FieldVariant CreateFieldImpl(Type storage_type, ValueBasis basis) const = 0
virtual FieldVariant CreateFieldImpl(FieldDataVariant data) const = 0

Protected Static Functions

template<typename T>
static inline Field<T> WrapField(std::shared_ptr<const FieldLayout> layout, std::unique_ptr<FieldData<T>> data)