Ignore:
Timestamp:
Apr 29, 2012, 10:50:41 AM (14 years ago)
Author:
Julian Iseringhausen <isering@…>
Children:
39a6d9
Parents:
4571da
Message:

vmg: Prepared force calculation.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1765 5161e1c8-67bf-11de-9fd5-51895aff932f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/interface/interface_particles.cpp

    r4571da r1a92cf  
    101101{
    102102  Index i;
    103   vmg_float length;
    104103
    105104#ifdef DEBUG_OUTPUT
     
    161160    for (p1=lc_1.begin(); p1!=lc_1.end(); ++p1) {
    162161
    163       (*p1)->Pot() = ip.Evaluate((*p1)->Pos()) - (*p1)->Charge() * spl.GetAntiDerivativeAtZero();
     162      ip.Evaluate((*p1)->Pos(), (*p1)->Pot(), (*p1)->Field());
     163      (*p1)->Pot() -= (*p1)->Charge() * spl.GetAntiDerivativeAtZero();
    164164
    165165#ifdef DEBUG_OUTPUT
     
    177177              if (*p1 != *p2) {
    178178
    179                 length = ((*p2)->Pos() - (*p1)->Pos()).Length();
     179                const Vector dir = (*p1)->Pos() - (*p2)->Pos();
     180                const vmg_float length = dir.Length();
    180181
    181182                if (length < r_cut) {
     183
    182184                  (*p1)->Pot() += (*p2)->Charge() / length * (1.0 + spl.EvaluatePotential(length));
     185                  (*p1)->Field() += (*p2)->Charge() * dir * spl.EvaluateField(length);
    183186
    184187#ifdef DEBUG_OUTPUT
Note: See TracChangeset for help on using the changeset viewer.