cMultiContEQF cParamIFDistStdPhgr::StdContraintes() { cMultiContEQF aRes = cParamIFDistRadiale::StdContraintes(); double aR = mDRF.RMax(); if (! mParamDecentreFree) { AddFoncRappInit(aRes,NbInc()-4,NbInc()-2,mTol_Dec_PhgStdPIF/ElSquare(aR)); } if (! mParamAffineFree) { AddFoncRappInit(aRes,NbInc()-2,NbInc(),mTol_Aff_PhgStdPIF/aR); } return aRes; }
void cParamIntrinsequeFormel::AddRapViscosite(double aTol) { for (int aK=0 ; aK<NbInc() ; aK++) { AddRappViscosite ( "cParamIntrinsequeFormel::AddViscosite", true, aK, aTol, true ); } }
cMultiContEQF cPIF_Bilin::StdContraintes() { cMultiContEQF aRes; if (mFiged) { AddFoncRappInit(aRes,0,NbInc(),cContrainteEQF::theContrStricte); } else { AddFoncRappInit(aRes,mIndFrozen0,mIndFrozen0+2,cContrainteEQF::theContrStricte); AddFoncRappInit(aRes,mIndFrozen1,mIndFrozen1+2,cContrainteEQF::theContrStricte); } return aRes; }
//#### CEST LA REAL cElemEqFormelle::AddRappViscosite ( const std::string & aContexte, bool OnCur, int aK, double aTol, bool AdEq ) { if ((aK<0) || (aK>= NbInc())) { std::cout << "In Contexte " << aContexte << "\n"; std::cout << "K= " << aK << " INTERV= [0," << NbInc()<< "]\n"; ELISE_ASSERT(false,"Bad indexe for cElemEqFormelle::AddRappViscosite"); } double aVCur = OnCur ? mSet.Alloc().GetVar(aK+mNumInc0) : mValsInit[aK]; tContFcteur aPlus = FoncRapp(aK,aK+1,&aVCur-aK); double aPds = 1/ElSquare(aTol); double aRes = AdEq ? mSet.AddEqFonctToSys(aPlus[0],aPds,false) : mSet.ResiduSigne(aPlus[0]) ; return aPds* ElSquare(aRes); }