Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F78726226
fix_pimd.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
Thu, Aug 22, 15:33
Size
2 KB
Mime Type
text/x-c
Expires
Sat, Aug 24, 15:33 (2 d)
Engine
blob
Format
Raw Data
Handle
18323505
Attached To
rLAMMPS lammps
fix_pimd.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
(
pimd
,
FixPIMD
)
#else
#ifndef FIX_PIMD_H
#define FIX_PIMD_H
#include "fix.h"
namespace
LAMMPS_NS
{
class
FixPIMD
:
public
Fix
{
public:
FixPIMD
(
class
LAMMPS
*
,
int
,
char
**
);
int
setmask
();
void
init
();
void
setup
(
int
);
void
post_force
(
int
);
void
initial_integrate
(
int
);
void
final_integrate
();
double
memory_usage
();
void
grow_arrays
(
int
);
void
copy_arrays
(
int
,
int
,
int
);
int
pack_exchange
(
int
,
double
*
);
int
unpack_exchange
(
int
,
double
*
);
int
pack_restart
(
int
,
double
*
);
void
unpack_restart
(
int
,
int
);
int
maxsize_restart
();
int
size_restart
(
int
);
double
compute_vector
(
int
);
int
pack_forward_comm
(
int
,
int
*
,
double
*
,
int
,
int
*
);
void
unpack_forward_comm
(
int
,
int
,
double
*
);
int
method
;
int
np
;
double
inverse_np
;
/* ring-polymer model */
double
omega_np
,
fbond
,
spring_energy
,
sp
;
int
x_last
,
x_next
;
void
spring_force
();
/* fictious mass */
double
fmass
,
*
mass
;
/* inter-partition communication */
int
max_nsend
;
int
*
tag_send
;
double
*
buf_send
;
int
max_nlocal
;
double
*
buf_recv
,
**
buf_beads
;
int
size_plan
;
int
*
plan_send
,
*
plan_recv
;
double
**
comm_ptr
;
void
comm_init
();
void
comm_exec
(
double
**
);
/* normal-mode operations */
double
*
lam
,
**
M_x2xp
,
**
M_xp2x
,
**
M_f2fp
,
**
M_fp2f
;
int
*
mode_index
;
void
nmpimd_init
();
void
nmpimd_fill
(
double
**
);
void
nmpimd_transform
(
double
**
,
double
**
,
double
*
);
/* Nose-hoover chain integration */
int
nhc_offset_one_1
,
nhc_offset_one_2
;
int
nhc_size_one_1
,
nhc_size_one_2
;
int
nhc_nchain
;
bool
nhc_ready
;
double
nhc_temp
,
dtv
,
dtf
,
t_sys
;
double
**
nhc_eta
;
/* coordinates of NH chains for ring-polymer beads */
double
**
nhc_eta_dot
;
/* velocities of NH chains */
double
**
nhc_eta_dotdot
;
/* acceleration of NH chains */
double
**
nhc_eta_mass
;
/* mass of NH chains */
void
nhc_init
();
void
nhc_update_v
();
void
nhc_update_x
();
};
}
#endif
#endif
Event Timeline
Log In to Comment