Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F78796884
pair_smd_triangulated_surface.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
Fri, Aug 23, 01:11
Size
2 KB
Mime Type
text/x-c
Expires
Sun, Aug 25, 01:11 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
20078334
Attached To
rLAMMPS lammps
pair_smd_triangulated_surface.h
View Options
/* -*- c++ -*- ----------------------------------------------------------
*
* *** Smooth Mach Dynamics ***
*
* This file is part of the USER-SMD package for LAMMPS.
* Copyright (2014) Georg C. Ganzenmueller, georg.ganzenmueller@emi.fhg.de
* Fraunhofer Ernst-Mach Institute for High-Speed Dynamics, EMI,
* Eckerstrasse 4, D-79104 Freiburg i.Br, Germany.
*
* ----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
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 PAIR_CLASS
PairStyle
(
smd
/
tri_surface
,
PairTriSurf
)
#else
#ifndef LMP_SMD_TRI_SURFACE_H
#define LMP_SMD_TRI_SURFACE_H
#include "pair.h"
#include <Eigen/Eigen>
namespace
LAMMPS_NS
{
class
PairTriSurf
:
public
Pair
{
public:
PairTriSurf
(
class
LAMMPS
*
);
virtual
~
PairTriSurf
();
virtual
void
compute
(
int
,
int
);
void
settings
(
int
,
char
**
);
void
coeff
(
int
,
char
**
);
double
init_one
(
int
,
int
);
void
init_style
();
void
init_list
(
int
,
class
NeighList
*
);
virtual
double
memory_usage
();
void
PointTriangleDistance
(
const
Eigen
::
Vector3d
P
,
const
Eigen
::
Vector3d
TRI1
,
const
Eigen
::
Vector3d
TRI2
,
const
Eigen
::
Vector3d
TRI3
,
Eigen
::
Vector3d
&
CP
,
double
&
dist
);
double
clamp
(
const
double
a
,
const
double
min
,
const
double
max
);
void
*
extract
(
const
char
*
,
int
&
);
protected:
double
**
bulkmodulus
;
double
**
kn
;
double
*
onerad_dynamic
,
*
onerad_frozen
;
double
*
maxrad_dynamic
,
*
maxrad_frozen
;
double
scale
;
double
stable_time_increment
;
// stable time step size
void
allocate
();
};
}
#endif
#endif
Event Timeline
Log In to Comment