From 229d7c770965248c66157d842e56e76cd09c5d71 Mon Sep 17 00:00:00 2001 From: nemu Date: Mon, 23 Mar 2009 06:19:33 +0000 Subject: [PATCH] added StaticLorentzKT to PTheory --- src/classes/PTheory.cpp | 62 +++++++++++++++++++++++++++++++++++------ src/include/PTheory.h | 36 ++++++++++++++---------- 2 files changed, 74 insertions(+), 24 deletions(-) diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 5bc21970..b41436f7 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -385,6 +385,10 @@ double PTheory::Func(register double t, const PDoubleVector& paramValues, const return DynamicGaussKTLF(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); break; + case THEORY_STATIC_LORENTZ_KT: + return StaticLorentzKT(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues) + + fAdd->Func(t, paramValues, funcValues); + break; case THEORY_STATIC_LORENTZ_KT_LF: return StaticLorentzKTLF(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); @@ -465,6 +469,9 @@ double PTheory::Func(register double t, const PDoubleVector& paramValues, const case THEORY_DYNAMIC_GAUSS_KT_LF: return DynamicGaussKTLF(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues); break; + case THEORY_STATIC_LORENTZ_KT: + return StaticLorentzKT(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues); + break; case THEORY_STATIC_LORENTZ_KT_LF: return StaticLorentzKTLF(t, paramValues, funcValues) * fMul->Func(t, paramValues, funcValues); break; @@ -534,6 +541,9 @@ double PTheory::Func(register double t, const PDoubleVector& paramValues, const case THEORY_DYNAMIC_GAUSS_KT_LF: return DynamicGaussKTLF(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); break; + case THEORY_STATIC_LORENTZ_KT: + return StaticLorentzKT(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); + break; case THEORY_STATIC_LORENTZ_KT_LF: return StaticLorentzKTLF(t, paramValues, funcValues) + fAdd->Func(t, paramValues, funcValues); break; @@ -601,6 +611,9 @@ double PTheory::Func(register double t, const PDoubleVector& paramValues, const case THEORY_DYNAMIC_GAUSS_KT_LF: return DynamicGaussKTLF(t, paramValues, funcValues); break; + case THEORY_STATIC_LORENTZ_KT: + return StaticLorentzKT(t, paramValues, funcValues); + break; case THEORY_STATIC_LORENTZ_KT_LF: return StaticLorentzKTLF(t, paramValues, funcValues); break; @@ -1156,6 +1169,39 @@ double PTheory::DynamicGaussKTLF(register double t, const PDoubleVector& paramVa return result; } +//-------------------------------------------------------------------------- +/** + *

(see Uemura et al. PRB 31, 546 (85)) + * + * \param t time in \f$(\mu\mathrm{s})\f$ + * \param paramValues + */ +double PTheory::StaticLorentzKT(register double t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +{ + // expected parameters: lambda [tshift] + + double val[2]; + + assert(fParamNo.size() <= 2); + + // check if FUNCTIONS are used + for (unsigned int i=0; i @@ -1446,11 +1492,11 @@ double PTheory::Abragam(register double t, const PDoubleVector& paramValues, con */ double PTheory::InternalField(register double t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { - // expected parameters: phase frequency rateT rateL [tshift] + // expected parameters: fraction phase frequency rateT rateL [tshift] - double val[5]; + double val[6]; - assert(fParamNo.size() <= 5); + assert(fParamNo.size() <= 6); // check if FUNCTIONS are used for (unsigned int i=0; i