Ignore:
Timestamp:
Apr 23, 2008, 5:33:51 PM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
76b3dc
Parents:
58ab18
Message:

molecuilder reads and stored ion velocities

Class atom has new variables velocity vector v and integer FixedIon. These are parse during config:load(), and stored via atom:Output() (but only if norm of v is above MYEPSILON), values are copied to son atoms/nodes in AddCopyAtom and AddHydrogenAtom (there: no fancy splitting of the vector as done with the InBondVector)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/molecules.cpp

    r58ab18 r090299  
    120120        walker->type = pointer->type;   // copy element of atom
    121121        walker->x.CopyVector(&pointer->x); // copy coordination
     122    walker->v.CopyVector(&pointer->v); // copy velocity
     123    walker->FixedIon = pointer->FixedIon;
    122124    walker->sort = &walker->nr;
    123125    walker->nr = last_atom++;  // increase number within molecule
     
    231233      FirstOtherAtom = new atom();    // new atom
    232234      FirstOtherAtom->type = elemente->FindElement(1);  // element is Hydrogen
     235      FirstOtherAtom->v.CopyVector(&TopReplacement->v); // copy velocity
     236      FirstOtherAtom->FixedIon = TopReplacement->FixedIon;
    233237      if (TopReplacement->type->Z == 1) { // neither rescale nor replace if it's already hydrogen
    234238        FirstOtherAtom->father = TopReplacement;
     
    288292      FirstOtherAtom->type = elemente->FindElement(1);
    289293      SecondOtherAtom->type = elemente->FindElement(1);
     294      FirstOtherAtom->v.CopyVector(&TopReplacement->v); // copy velocity
     295      FirstOtherAtom->FixedIon = TopReplacement->FixedIon;
     296      SecondOtherAtom->v.CopyVector(&TopReplacement->v); // copy velocity
     297      SecondOtherAtom->FixedIon = TopReplacement->FixedIon;
    290298      FirstOtherAtom->father = NULL;  // we are just an added hydrogen with no father
    291299      SecondOtherAtom->father = NULL;  //  we are just an added hydrogen with no father
     
    340348      SecondOtherAtom->type = elemente->FindElement(1);
    341349      ThirdOtherAtom->type = elemente->FindElement(1);
     350      FirstOtherAtom->v.CopyVector(&TopReplacement->v); // copy velocity
     351      FirstOtherAtom->FixedIon = TopReplacement->FixedIon;
     352      SecondOtherAtom->v.CopyVector(&TopReplacement->v); // copy velocity
     353      SecondOtherAtom->FixedIon = TopReplacement->FixedIon;
     354      ThirdOtherAtom->v.CopyVector(&TopReplacement->v); // copy velocity
     355      ThirdOtherAtom->FixedIon = TopReplacement->FixedIon;
    342356      FirstOtherAtom->father = NULL;  //  we are just an added hydrogen with no father
    343357      SecondOtherAtom->father = NULL;  //  we are just an added hydrogen with no father
Note: See TracChangeset for help on using the changeset viewer.