mirror of
https://github.com/ParticulateFlow/LIGGGHTS-PFM.git
synced 2025-12-08 06:47:43 +00:00
renamed mesh-movement class
This commit is contained in:
@ -42,7 +42,7 @@ style = {linear} or {linear/variable} or {wiggle} or {riggle} or {rotate} or {ro
|
||||
ax,ay,az = axis of rotation vector (distance units)
|
||||
period = obligatory keyword
|
||||
per = period of rotation (time units)
|
||||
{rotate/modified} args = origin Px Py Pz axis ax ay az period per
|
||||
{rotate/superposable} args = origin Px Py Pz axis ax ay az period per
|
||||
origin = obligatory keyword
|
||||
Px,Py,Pz = origin point of axis of rotation (distance units)
|
||||
ax,ay,az = axis of rotation vector (distance units)
|
||||
@ -138,7 +138,7 @@ around the rotation axis is consistent with the right-hand rule:
|
||||
if your right-hand's thumb points along {R}, then your fingers
|
||||
wrap around the axis in the direction of rotation.
|
||||
|
||||
The {rotate/modified} style is a copy of the {rotate} style. The input
|
||||
The {rotate/superposable} style is a copy of the {rotate} style. The input
|
||||
syntax is identical. The difference to the {rotate} style lies in the
|
||||
internal workings of this style. The axis of rotation is made a property
|
||||
of the mesh, i.e., when super-imposing rotations, the axis is rotated
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
{
|
||||
"runs": [
|
||||
{
|
||||
"name" : "rotationModified",
|
||||
"input_script" : "in.rotationModified",
|
||||
"type" : "serial"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -68,7 +68,7 @@ variable period1 equal 0.1
|
||||
|
||||
|
||||
# Rotation of the inner mesh
|
||||
fix moveInner00 all move/mesh mesh cad1 rotate/modified &
|
||||
fix moveInner00 all move/mesh mesh cad1 rotate/superposable &
|
||||
origin 0.0 0.0 0.0 &
|
||||
axis 0.0 0.0 1.0 &
|
||||
period ${period0}
|
||||
@ -79,12 +79,12 @@ fix moveInner00 all move/mesh mesh cad1 rotate/modified &
|
||||
# the outer mesh rotates around the local y-axis
|
||||
# hence, the rotation of the inner mesh must be applied first
|
||||
# then the rotation of the outer mesh relative to the inner mesh can be specified
|
||||
fix moveOuter00 all move/mesh mesh cad2 rotate/modified &
|
||||
fix moveOuter00 all move/mesh mesh cad2 rotate/superposable &
|
||||
origin 0.0 0.0 0.0 &
|
||||
axis 0.0 0.0 1.0 &
|
||||
period ${period0}
|
||||
|
||||
fix moveOuter01 all move/mesh mesh cad2 rotate/modified &
|
||||
fix moveOuter01 all move/mesh mesh cad2 rotate/superposable &
|
||||
origin 1.0 0.0 0.0 &
|
||||
axis 0.0 1.0 0.0 &
|
||||
period ${period1}
|
||||
@ -0,0 +1,9 @@
|
||||
{
|
||||
"runs": [
|
||||
{
|
||||
"name" : "rotationSuperposable",
|
||||
"input_script" : "in.rotationSuperposable",
|
||||
"type" : "serial"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -363,10 +363,10 @@ void MeshMoverRotate::initial_integrate(double dTAbs,double dTSetup,double dt)
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
MeshMoverRotateModified
|
||||
MeshMoverRotateSuperposable
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
MeshMoverRotateModified::MeshMoverRotateModified(LAMMPS *lmp,AbstractMesh *_mesh,
|
||||
MeshMoverRotateSuperposable::MeshMoverRotateSuperposable(LAMMPS *lmp,AbstractMesh *_mesh,
|
||||
FixMoveMesh *_fix_move_mesh,
|
||||
double px, double py, double pz,
|
||||
double axisX, double axisY, double axisZ,
|
||||
@ -388,24 +388,24 @@ MeshMoverRotateModified::MeshMoverRotateModified(LAMMPS *lmp,AbstractMesh *_mesh
|
||||
add_reference_point(point_);
|
||||
}
|
||||
|
||||
void MeshMoverRotateModified::post_create()
|
||||
void MeshMoverRotateSuperposable::post_create()
|
||||
{
|
||||
isFirst_ = mesh_->registerMove(false,true,true);
|
||||
}
|
||||
|
||||
void MeshMoverRotateModified::pre_delete()
|
||||
void MeshMoverRotateSuperposable::pre_delete()
|
||||
{
|
||||
mesh_->unregisterMove(false,true,true);
|
||||
}
|
||||
|
||||
MeshMoverRotateModified::~MeshMoverRotateModified()
|
||||
MeshMoverRotateSuperposable::~MeshMoverRotateSuperposable()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void MeshMoverRotateModified::initial_integrate(double dTAbs,double dTSetup,double dt)
|
||||
void MeshMoverRotateSuperposable::initial_integrate(double dTAbs,double dTSetup,double dt)
|
||||
{
|
||||
double omegaVec[3];
|
||||
double reference_point[3];
|
||||
|
||||
@ -193,15 +193,15 @@ namespace LAMMPS_NS
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class MeshMoverRotateModified : public MeshMover {
|
||||
class MeshMoverRotateSuperposable : public MeshMover {
|
||||
|
||||
public:
|
||||
|
||||
MeshMoverRotateModified(LAMMPS *lmp,AbstractMesh *_mesh,FixMoveMesh *_fix_move_mesh,
|
||||
MeshMoverRotateSuperposable(LAMMPS *lmp,AbstractMesh *_mesh,FixMoveMesh *_fix_move_mesh,
|
||||
double px, double py,double pz,
|
||||
double axisX, double axisY, double axisZ,
|
||||
double T);
|
||||
virtual ~MeshMoverRotateModified();
|
||||
virtual ~MeshMoverRotateSuperposable();
|
||||
|
||||
void initial_integrate(double dTAbs,double dTSetup,double dt);
|
||||
void final_integrate(double dTAbs,double dTSetup,double dt) {}
|
||||
@ -353,7 +353,7 @@ namespace LAMMPS_NS
|
||||
// period
|
||||
lmp->force->numeric(FLERR,arg[10]));
|
||||
}
|
||||
} else if(strcmp(name,"rotate/modified") == 0){
|
||||
} else if(strcmp(name,"rotate/superposable") == 0){
|
||||
if(narg < 11) return 0;
|
||||
else
|
||||
{
|
||||
@ -364,7 +364,7 @@ namespace LAMMPS_NS
|
||||
if(strcmp("period",arg[9]))
|
||||
return 0;
|
||||
|
||||
return new MeshMoverRotateModified(lmp,mesh,fix_mm,
|
||||
return new MeshMoverRotateSuperposable(lmp,mesh,fix_mm,
|
||||
// origin
|
||||
lmp->force->numeric(FLERR,arg[2]),
|
||||
lmp->force->numeric(FLERR,arg[3]),
|
||||
|
||||
Reference in New Issue
Block a user