本文整理汇总了C++中Iter::site方法的典型用法代码示例。如果您正苦于以下问题:C++ Iter::site方法的具体用法?C++ Iter::site怎么用?C++ Iter::site使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Iter
的用法示例。
在下文中一共展示了Iter::site方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
double LiveWLdiagram :: nearest_neighbor_energy (const Iter& it, int na, int nb) const
{
int site = it->site();
double E = 0.;
double nb_ns_a = 0., nb_ns_b = 0.;
for(int nbi = 0; nbi < _latt(it->site()).nbs(); nbi++) {
int dir = _latt(site).nbdir(nbi);
Iter it_ass = it->assoc(nbi);
nb_ns_a += BH_Vnn (0, dir) * it_ass->z.nbef(0);
nb_ns_b += BH_Vnn (1, dir) * it_ass->z.nbef(1);
}
E += na * nb_ns_a;
E += nb * nb_ns_b;
return E;
}
示例2: if
/*
void LiveWLdiagram :: shifted_diagonal_energy (const Iter& it, double& Ebef, double& Eaft)
{
// On-site energy
int nbef = it->z.nbef(), naft = it->z.naft(), site = it->site();
int dn = naft - nbef;
double dE = -EFF_MU[site] * dn;
dE += BH_UHALF * (naft*(naft-1) - nbef*(nbef-1));
#ifdef NN_INTERACTION
int neighbor_n = 0;
for(int nbi = 0; nbi < _latt(site).nbs(); ++nbi) {
Iter it_ass = it->assoc(nbi);
double BH_Vnn = get_BH_Vnn (it->site(), it_ass->site());
neighbor_n += BH_Vnn * it_ass->z.nbef();
}
dE += (dn * neighbor_n);
#endif
if (dE > 0) {
Eaft = dE + EOFFSET;
Ebef = EOFFSET;
}
else if (dE < 0) {
Eaft = EOFFSET;
Ebef = -dE + EOFFSET;
}
else {
Eaft = EOFFSET;
Ebef = EOFFSET;
}
}
*/
inline double LiveWLdiagram :: diagonal_energy (const Iter& it, int na, int nb) const
{
double E = onsite_energy (it->site(), na, nb);
#ifdef NN_INTERACTION
E += nearest_neighbor_energy (it, na, nb);
#endif
return E;
}
示例3: insert
void WLdiagram :: insert (const Iter& it_goal, int comp, double time, bool creat, bool up, Worm& worm, Iter& fix)
{
Iter it_bef, it_aft;
diag_insert (it_goal, time, it_bef, it_aft);
set_operator (it_bef, it_aft, comp, creat);
if (up) {
worm.set (it_aft, up);
fix = it_bef;
}
else {
worm.set (it_bef, up);
fix = it_aft;
}
#ifdef DEBUG_MODE
int site = it_goal->site();
check (site, __func__);
#endif
#ifdef DEBUG_TRACK_MODE
__DEBUG_TRACK
#endif
}