Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F81091906
fix_shear_history.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Sep 4, 04:16
Size
3 KB
Mime Type
text/x-c
Expires
Fri, Sep 6, 04:16 (1 d, 21 h)
Engine
blob
Format
Raw Data
Handle
20439676
Attached To
rLAMMPS lammps
fix_shear_history.h
View Options
/* -*- c++ -*- ----------------------------------------------------------
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
http://lammps.sandia.gov, Sandia National Laboratories
Steve Plimpton, sjplimp@sandia.gov
Copyright (2003) Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
certain rights in this software. This software is distributed under
the GNU General Public License.
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#ifdef FIX_CLASS
FixStyle(SHEAR_HISTORY,FixShearHistory)
#else
#ifndef LMP_FIX_SHEAR_HISTORY_H
#define LMP_FIX_SHEAR_HISTORY_H
#include "fix.h"
#include "my_page.h"
namespace LAMMPS_NS {
class FixShearHistory : public Fix {
//friend class Neighbor;
//friend class PairGranHookeHistory;
friend class PairLineGranHookeHistory;
friend class PairTriGranHookeHistory;
public:
int nlocal_neigh; // nlocal at last time neigh list was built
int nall_neigh; // ditto for nlocal+nghost
int *npartner; // # of touching partners of each atom
tagint **partner; // global atom IDs for the partners
double **shearpartner; // shear values with the partner
class Pair *pair; // ptr to pair style that uses shear history
FixShearHistory(class LAMMPS *, int, char **);
~FixShearHistory();
int setmask();
void init();
virtual void pre_exchange();
void min_pre_exchange();
void post_run();
double memory_usage();
void grow_arrays(int);
void copy_arrays(int, int, int);
void set_arrays(int);
int pack_reverse_comm_size(int, int);
int pack_reverse_comm(int, int, double *);
void unpack_reverse_comm(int, int *, double *);
int pack_exchange(int, double *);
int unpack_exchange(int, double *);
int pack_restart(int, double *);
void unpack_restart(int, int);
int size_restart(int);
int maxsize_restart();
protected:
int newton_pair; // same as force setting
int dnum,dnumbytes; // dnum = # of shear history values
int onesided; // 1 for line/tri history, else 0
int maxtouch; // max # of touching partners for my atoms
int commflag; // mode of reverse comm to get ghost info
int pgsize,oneatom; // copy of settings in Neighbor
MyPage<tagint> *ipage; // pages of partner atom IDs
MyPage<double> *dpage; // pages of shear history with partners
void pre_exchange_onesided();
void pre_exchange_newton();
void pre_exchange_no_newton();
void allocate_pages();
};
}
#endif
#endif
/* ERROR/WARNING messages:
E: Pair style granular with history requires atoms have IDs
Atoms in the simulation do not have IDs, so history effects
cannot be tracked by the granular pair potential.
E: Shear history overflow, boost neigh_modify one
There are too many neighbors of a single atom. Use the neigh_modify
command to increase the max number of neighbors allowed for one atom.
You may also want to boost the page size.
*/
Event Timeline
Log In to Comment