Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F63305701
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
Sun, May 19, 04:48
Size
3 KB
Mime Type
text/x-c
Expires
Tue, May 21, 04:48 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
17757679
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