Merge branch 'master' into collected-small-changes
This commit is contained in:
89
src/atom.cpp
89
src/atom.cpp
@ -31,6 +31,8 @@
|
||||
#include "update.h"
|
||||
#include "variable.h"
|
||||
|
||||
#include "library.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
|
||||
@ -2506,6 +2508,8 @@ length of the data area, and a short description.
|
||||
:cpp:func:`lammps_extract_atom`
|
||||
|
||||
\endverbatim
|
||||
*
|
||||
* \sa extract_datatype
|
||||
*
|
||||
* \param name string with the keyword of the desired property.
|
||||
Typically the name of the pointer variable returned
|
||||
@ -2515,6 +2519,8 @@ void *Atom::extract(const char *name)
|
||||
{
|
||||
// --------------------------------------------------------------------
|
||||
// 4th customization section: customize by adding new variable name
|
||||
// please see the following function to set the type of the data
|
||||
// so that programs can detect it dynamically at run time.
|
||||
|
||||
/* NOTE: this array is only of length ntypes+1 */
|
||||
if (strcmp(name,"mass") == 0) return (void *) mass;
|
||||
@ -2583,6 +2589,89 @@ void *Atom::extract(const char *name)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
/** Provide data type info about internal data of the Atom class
|
||||
*
|
||||
\verbatim embed:rst
|
||||
|
||||
.. versionadded:: 18Sep2020
|
||||
|
||||
\endverbatim
|
||||
*
|
||||
* \sa extract
|
||||
*
|
||||
* \param name string with the keyword of the desired property.
|
||||
* \return data type constant for desired property or -1 */
|
||||
|
||||
int Atom::extract_datatype(const char *name)
|
||||
{
|
||||
// --------------------------------------------------------------------
|
||||
// 5th customization section: customize by adding new variable name
|
||||
|
||||
if (strcmp(name,"mass") == 0) return LAMMPS_DOUBLE;
|
||||
|
||||
if (strcmp(name,"id") == 0) return LAMMPS_TAGINT;
|
||||
if (strcmp(name,"type") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"mask") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"image") == 0) return LAMMPS_TAGINT;
|
||||
if (strcmp(name,"x") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"v") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"f") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"molecule") == 0) return LAMMPS_TAGINT;
|
||||
if (strcmp(name,"q") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"mu") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"omega") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"angmom") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"torque") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"radius") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"rmass") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"ellipsoid") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"line") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"tri") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"body") == 0) return LAMMPS_INT;
|
||||
|
||||
if (strcmp(name,"vfrac") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"s0") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"x0") == 0) return LAMMPS_DOUBLE_2D;
|
||||
|
||||
if (strcmp(name,"spin") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"eradius") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"ervel") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"erforce") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"ervelforce") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"cs") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"csforce") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"vforce") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"etag") == 0) return LAMMPS_INT;
|
||||
|
||||
if (strcmp(name,"rho") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"drho") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"esph") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"desph") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"cv") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"vest") == 0) return LAMMPS_DOUBLE_2D;
|
||||
|
||||
// USER-MESONT package
|
||||
if (strcmp(name,"length") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"buckling") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"bond_nt") == 0) return LAMMPS_TAGINT_2D;
|
||||
|
||||
if (strcmp(name, "contact_radius") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name, "smd_data_9") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name, "smd_stress") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name, "eff_plastic_strain") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name, "eff_plastic_strain_rate") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name, "damage") == 0) return LAMMPS_DOUBLE;
|
||||
|
||||
if (strcmp(name,"dpdTheta") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"edpd_temp") == 0) return LAMMPS_DOUBLE;
|
||||
|
||||
// end of customization section
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
return # of bytes of allocated memory
|
||||
call to avec tallies per-atom vectors
|
||||
|
||||
Reference in New Issue
Block a user