Loading src/Geometry/Geometry.h +0 −7 Original line number Diff line number Diff line Loading @@ -177,13 +177,6 @@ public: return terms_[term]->operator()(i1,edof1,i2,edof2); } template<typename T> typename EnableIf<IsComplexNumber<T>::True || Loki::TypeTraits<T>::isStdFloat, T>::Type vModifier(SizeType term, T value, RealType time) const { return terms_[term]->vModifier(value,time); } bool connected(SizeType smax,SizeType emin,SizeType i1,SizeType i2) const { bool b = false; Loading src/Geometry/GeometryTerm.h +8 −26 Original line number Diff line number Diff line Loading @@ -199,10 +199,17 @@ public: directions_.push_back(GeometryDirectionType(io, aux, geometryBase_)); } bool hasModifier = false; try { io.readline(vModifier_, "GeometryValueModifier="); String vModifier; io.readline(vModifier, "GeometryValueModifier="); hasModifier = true; } catch (std::exception&) {} if (hasModifier) { throw RuntimeError("GeometryValueModifier is no longer allowed\n"); } cacheValues(); io.prefix() = savedPrefix; Loading @@ -226,7 +233,6 @@ public: ioSerializer.write(label + "/orbitals_", orbitals_); // geometryBase_->write(label + "/geometryBase_", ioSerializer); ioSerializer.write(label + "/gOptions_", gOptions_); ioSerializer.write(label + "/vModifier_", vModifier_); ioSerializer.write(label + "/directions_", directions_); cachedValues_.write(label + "/cachedValues_", ioSerializer); } Loading Loading @@ -279,29 +285,6 @@ public: return cachedValues_(k1,k2); } template<typename T> typename EnableIf<IsComplexNumber<T>::True || Loki::TypeTraits<T>::isStdFloat, T>::Type vModifier(T value, RealType time) const { if (vModifier_ == "") return value; // We don't want to modify the symbolic modifier, so we make a copy String numericModifier = vModifier_; // change %t --> t replaceAll(numericModifier, "%t", ttos(time)); // change %v --> value (unmodified connection value) replaceAll(numericModifier, "%v", ttos(value)); // split by commas Vector<String>::Type ve; split(ve, numericModifier, ","); typedef PlusMinusMultiplyDivide<T> PrimitivesType; PrimitivesType primitives; ExpressionForAST<PrimitivesType> expresionForAST(ve, primitives); return expresionForAST.exec(); } //assumes 1<smax+1 < emin const ComplexOrRealType& operator()(SizeType smax, Loading Loading @@ -486,7 +469,6 @@ private: SizeType orbitals_; GeometryBaseType* geometryBase_; String gOptions_; String vModifier_; typename Vector<GeometryDirectionType>::Type directions_; Matrix<ComplexOrRealType> cachedValues_; }; // class GeometryTerm Loading Loading
src/Geometry/Geometry.h +0 −7 Original line number Diff line number Diff line Loading @@ -177,13 +177,6 @@ public: return terms_[term]->operator()(i1,edof1,i2,edof2); } template<typename T> typename EnableIf<IsComplexNumber<T>::True || Loki::TypeTraits<T>::isStdFloat, T>::Type vModifier(SizeType term, T value, RealType time) const { return terms_[term]->vModifier(value,time); } bool connected(SizeType smax,SizeType emin,SizeType i1,SizeType i2) const { bool b = false; Loading
src/Geometry/GeometryTerm.h +8 −26 Original line number Diff line number Diff line Loading @@ -199,10 +199,17 @@ public: directions_.push_back(GeometryDirectionType(io, aux, geometryBase_)); } bool hasModifier = false; try { io.readline(vModifier_, "GeometryValueModifier="); String vModifier; io.readline(vModifier, "GeometryValueModifier="); hasModifier = true; } catch (std::exception&) {} if (hasModifier) { throw RuntimeError("GeometryValueModifier is no longer allowed\n"); } cacheValues(); io.prefix() = savedPrefix; Loading @@ -226,7 +233,6 @@ public: ioSerializer.write(label + "/orbitals_", orbitals_); // geometryBase_->write(label + "/geometryBase_", ioSerializer); ioSerializer.write(label + "/gOptions_", gOptions_); ioSerializer.write(label + "/vModifier_", vModifier_); ioSerializer.write(label + "/directions_", directions_); cachedValues_.write(label + "/cachedValues_", ioSerializer); } Loading Loading @@ -279,29 +285,6 @@ public: return cachedValues_(k1,k2); } template<typename T> typename EnableIf<IsComplexNumber<T>::True || Loki::TypeTraits<T>::isStdFloat, T>::Type vModifier(T value, RealType time) const { if (vModifier_ == "") return value; // We don't want to modify the symbolic modifier, so we make a copy String numericModifier = vModifier_; // change %t --> t replaceAll(numericModifier, "%t", ttos(time)); // change %v --> value (unmodified connection value) replaceAll(numericModifier, "%v", ttos(value)); // split by commas Vector<String>::Type ve; split(ve, numericModifier, ","); typedef PlusMinusMultiplyDivide<T> PrimitivesType; PrimitivesType primitives; ExpressionForAST<PrimitivesType> expresionForAST(ve, primitives); return expresionForAST.exec(); } //assumes 1<smax+1 < emin const ComplexOrRealType& operator()(SizeType smax, Loading Loading @@ -486,7 +469,6 @@ private: SizeType orbitals_; GeometryBaseType* geometryBase_; String gOptions_; String vModifier_; typename Vector<GeometryDirectionType>::Type directions_; Matrix<ComplexOrRealType> cachedValues_; }; // class GeometryTerm Loading