shared_ptr<BasisVector> Basis::readBasisVector(const H5::CommonFG &loc, const string &entry) { auto basisvector = BasisVector::create(loc, entry, shared_from_this()); checked_emplace(m_basisvectors, basisvector->name(), basisvector); checked_emplace(m_directions, basisvector->direction(), basisvector); assert(basisvector->invariant()); return basisvector; }
shared_ptr<BasisVector> Basis::createBasisVector(const string &name, int direction) { auto basisvector = BasisVector::create(name, shared_from_this(), direction); checked_emplace(m_basisvectors, basisvector->name(), basisvector); checked_emplace(m_directions, basisvector->direction(), basisvector); assert(basisvector->invariant()); return basisvector; }
shared_ptr<TensorComponent> TensorType::readTensorComponent(const H5::CommonFG &loc, const string &entry) { auto tensorcomponent = TensorComponent::create(loc, entry, shared_from_this()); checked_emplace(m_tensorcomponents, tensorcomponent->name(), tensorcomponent); checked_emplace(m_storage_indices, tensorcomponent->storage_index(), tensorcomponent); assert(tensorcomponent->invariant()); return tensorcomponent; }
shared_ptr<TensorComponent> TensorType::createTensorComponent(const string &name, int stored_component, const vector<int> &indexvalues) { auto tensorcomponent = TensorComponent::create(name, shared_from_this(), stored_component, indexvalues); checked_emplace(m_tensorcomponents, tensorcomponent->name(), tensorcomponent); checked_emplace(m_storage_indices, tensorcomponent->storage_index(), tensorcomponent); assert(tensorcomponent->invariant()); return tensorcomponent; }
shared_ptr<Basis> TangentSpace::readBasis(const H5::CommonFG &loc, const string &entry) { auto basis = Basis::create(loc, entry, shared_from_this()); checked_emplace(bases, basis->name, basis); assert(basis->invariant()); return basis; }
shared_ptr<ParameterValue> Parameter::readParameterValue(const H5::CommonFG &loc, const string &entry) { auto parametervalue = ParameterValue::create(loc, entry, shared_from_this()); checked_emplace(parametervalues, parametervalue->name, parametervalue); assert(parametervalue->invariant()); return parametervalue; }
shared_ptr<DiscreteField> Field::readDiscreteField(const H5::CommonFG &loc, const string &entry) { auto discretefield = DiscreteField::create(loc, entry, shared_from_this()); checked_emplace(m_discretefields, discretefield->name(), discretefield); assert(discretefield->invariant()); return discretefield; }
shared_ptr<Basis> TangentSpace::createBasis(const string &name, const shared_ptr<Configuration> &configuration) { auto basis = Basis::create(name, shared_from_this(), configuration); checked_emplace(bases, basis->name, basis); assert(basis->invariant()); return basis; }
shared_ptr<DiscreteField> Field::createDiscreteField(const string &name, const shared_ptr<Configuration> &configuration, const shared_ptr<Discretization> &discretization, const shared_ptr<Basis> &basis) { auto discretefield = DiscreteField::create( name, shared_from_this(), configuration, discretization, basis); checked_emplace(m_discretefields, discretefield->name(), discretefield); assert(discretefield->invariant()); return discretefield; }
shared_ptr<DiscreteField> Field::createDiscreteField(const string &name, const shared_ptr<Configuration> &configuration, const shared_ptr<Discretization> &discretization, const shared_ptr<Basis> &basis) { assert(configuration->project().get() == project().get()); assert(discretization->manifold().get() == manifold().get()); assert(basis->tangentspace().get() == tangentspace().get()); auto discretefield = DiscreteField::create( name, shared_from_this(), configuration, discretization, basis); checked_emplace(m_discretefields, discretefield->name(), discretefield, "Field", "discretefields"); assert(discretefield->invariant()); return discretefield; }
void ParameterValue::insert(const shared_ptr<Configuration> &configuration) { checked_emplace(configurations, configuration->name, configuration); }
shared_ptr<ParameterValue> Parameter::createParameterValue(const string &name) { auto parametervalue = ParameterValue::create(name, shared_from_this()); checked_emplace(parametervalues, parametervalue->name, parametervalue); assert(parametervalue->invariant()); return parametervalue; }