fix_modify AtC on_the_fly <bond | kernel> <optional on | off> \n - bond | kernel (keyword) = specifies on-the-fly calculation of bond or
kernel matrix elements \n
- on | off (keyword) = activate or discontinue on-the-fly mode \n
\section examples
<TT> fix_modify AtC on_the_fly bond on </TT> \n <TT> fix_modify AtC on_the_fly kernel </TT> \n
<TT> fix_modify AtC on_the_fly kernel off </TT> \n
\section description
Overrides normal mode of pre-calculating and storing bond pair-to-node a
nd
kernel atom-to-node matrices. If activated, will calculate elements of t
hese
matrices during repeated calls of field computations (i.e. "on-the-fly") and not store them for
future use. \n on flag is optional - if omitted, on_the_fly will be activated for the s
pecified
matrix. Can be deactivated using off flag. \n
\section restrictions
Must be used with the hardy/field type of AtC fix
( see \ref man_fix_atc )
\section related
\section default
By default, on-the-fly calculation is not active (i.e. off). However, code does a memory allocation check to determine if it can store all needed bond and kernel matrix ele ments. If this allocation fails, on-the-fly is activated. \n
*/
elseif(strcmp(arg[argIdx],"on_the_fly")==0){
argIdx++;
//if (!kernelFunction_) { throw ATC_Error("on_the_fly requires a kernel function"); }
<TT> fix_modify AtC internal_atom_integrate on </TT>
\section description
Has AtC perform time integration for the atoms in the group on which it operates. This does not include boundary atoms.
\section restrictions
AtC must be created before any fixes doing time integration. It must be on for coupling methods which impose constraints on velocities during the first verlet step, e.g. control momentum glc_velocity.
value: atoms in specified group assigned constant value given \n
lattice: volume per atom for specified lattice type (e.g. fcc) and parameter \n
element: element volume divided among atoms within element \n
region: volume per atom determined based on the atom count in the MD regions and their volumes. Note: meaningful only if atoms completely fill all the regions. \n
group: volume per atom determined based on the atom count in a group and its volume\n
read_in: list of values for atoms are read-in from specified file \n
Sets a maximum parallel bandwidth for the kernel functions during parallel communication. If the command is not issued, the default will be to assume the bandwidth of the kernel matrix corresponds to the number of sampling locations.
ss<<"Nlocal = "<<nLocal_<<" but only found "<<j<<"atoms";
if(j!=nLocal_)throwATC_Error(ss.str());
#endif
// construct reverse map
atomToInternal_.clear();
for(inti=0;i<nLocal_;++i){
atomToInternal_[internalToAtom_(i)]=i;
}
}
if(nLocalGhost_>0){
// set map
ghostToAtom_.resize(nLocalGhost_);
intj=0;
for(inti=0;i<nLocalTotal_;++i){
if(mask[i]&groupbitGhost_)ghostToAtom_(j++)=i;
}
}
//WIP_JAT this should not be needed at all, but a memory problem with sparse matrices requires them to be reset (possibly related to note in SparseMatrix-inl.h::_delete())