Merge branch 'develop' into collected-small-changes
This commit is contained in:
@ -95,73 +95,76 @@ function(RegisterIntegrateStyle path)
|
||||
endfunction(RegisterIntegrateStyle)
|
||||
|
||||
function(RegisterStyles search_path)
|
||||
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
||||
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||
FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body
|
||||
FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force
|
||||
FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input
|
||||
FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify
|
||||
FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force
|
||||
FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump
|
||||
FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify
|
||||
FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force
|
||||
FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update
|
||||
FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force
|
||||
FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update
|
||||
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
|
||||
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor
|
||||
FindStyleHeaders(${search_path} NSTENCIL_CLASS nstencil_ NSTENCIL ) # nstencil ) # neighbor
|
||||
FindStyleHeaders(${search_path} NTOPO_CLASS ntopo_ NTOPO ) # ntopo ) # neighbor
|
||||
FindStyleHeaders(${search_path} PAIR_CLASS pair_ PAIR ) # pair ) # force
|
||||
FindStyleHeaders(${search_path} READER_CLASS reader_ READER ) # reader ) # read_dump
|
||||
FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain
|
||||
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
||||
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||
FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body
|
||||
FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force
|
||||
FindStyleHeaders(${search_path} COMMAND_CLASS "[^.]" COMMAND ) # command ) # input
|
||||
FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify
|
||||
FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force
|
||||
FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump
|
||||
FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify
|
||||
FindStyleHeaders(${search_path} GRAN_SUB_MOD_CLASS gran_sub_mod_ GRAN_SUB_MOD ) # gran_sub_mod ) # granular_model
|
||||
FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force
|
||||
FindStyleHeaders(${search_path} INTEGRATE_CLASS "[^.]" INTEGRATE ) # integrate ) # update
|
||||
FindStyleHeaders(${search_path} KSPACE_CLASS "[^.]" KSPACE ) # kspace ) # force
|
||||
FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update
|
||||
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
|
||||
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor
|
||||
FindStyleHeaders(${search_path} NSTENCIL_CLASS nstencil_ NSTENCIL ) # nstencil ) # neighbor
|
||||
FindStyleHeaders(${search_path} NTOPO_CLASS ntopo_ NTOPO ) # ntopo ) # neighbor
|
||||
FindStyleHeaders(${search_path} PAIR_CLASS pair_ PAIR ) # pair ) # force
|
||||
FindStyleHeaders(${search_path} READER_CLASS reader_ READER ) # reader ) # read_dump
|
||||
FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain
|
||||
endfunction(RegisterStyles)
|
||||
|
||||
function(RegisterStylesExt search_path extension sources)
|
||||
FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources})
|
||||
FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources})
|
||||
FindStyleHeadersExt(${search_path} BODY_CLASS ${extension} BODY ${sources})
|
||||
FindStyleHeadersExt(${search_path} BOND_CLASS ${extension} BOND ${sources})
|
||||
FindStyleHeadersExt(${search_path} COMMAND_CLASS ${extension} COMMAND ${sources})
|
||||
FindStyleHeadersExt(${search_path} COMPUTE_CLASS ${extension} COMPUTE ${sources})
|
||||
FindStyleHeadersExt(${search_path} DIHEDRAL_CLASS ${extension} DIHEDRAL ${sources})
|
||||
FindStyleHeadersExt(${search_path} DUMP_CLASS ${extension} DUMP ${sources})
|
||||
FindStyleHeadersExt(${search_path} FIX_CLASS ${extension} FIX ${sources})
|
||||
FindStyleHeadersExt(${search_path} IMPROPER_CLASS ${extension} IMPROPER ${sources})
|
||||
FindStyleHeadersExt(${search_path} INTEGRATE_CLASS ${extension} INTEGRATE ${sources})
|
||||
FindStyleHeadersExt(${search_path} KSPACE_CLASS ${extension} KSPACE ${sources})
|
||||
FindStyleHeadersExt(${search_path} MINIMIZE_CLASS ${extension} MINIMIZE ${sources})
|
||||
FindStyleHeadersExt(${search_path} NBIN_CLASS ${extension} NBIN ${sources})
|
||||
FindStyleHeadersExt(${search_path} NPAIR_CLASS ${extension} NPAIR ${sources})
|
||||
FindStyleHeadersExt(${search_path} NSTENCIL_CLASS ${extension} NSTENCIL ${sources})
|
||||
FindStyleHeadersExt(${search_path} NTOPO_CLASS ${extension} NTOPO ${sources})
|
||||
FindStyleHeadersExt(${search_path} PAIR_CLASS ${extension} PAIR ${sources})
|
||||
FindStyleHeadersExt(${search_path} READER_CLASS ${extension} READER ${sources})
|
||||
FindStyleHeadersExt(${search_path} REGION_CLASS ${extension} REGION ${sources})
|
||||
FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources})
|
||||
FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources})
|
||||
FindStyleHeadersExt(${search_path} BODY_CLASS ${extension} BODY ${sources})
|
||||
FindStyleHeadersExt(${search_path} BOND_CLASS ${extension} BOND ${sources})
|
||||
FindStyleHeadersExt(${search_path} COMMAND_CLASS ${extension} COMMAND ${sources})
|
||||
FindStyleHeadersExt(${search_path} COMPUTE_CLASS ${extension} COMPUTE ${sources})
|
||||
FindStyleHeadersExt(${search_path} DIHEDRAL_CLASS ${extension} DIHEDRAL ${sources})
|
||||
FindStyleHeadersExt(${search_path} DUMP_CLASS ${extension} DUMP ${sources})
|
||||
FindStyleHeadersExt(${search_path} FIX_CLASS ${extension} FIX ${sources})
|
||||
FindStyleHeadersExt(${search_path} GRAN_SUB_MOD_CLASS ${extension} GRAN_SUB_MOD ${sources})
|
||||
FindStyleHeadersExt(${search_path} IMPROPER_CLASS ${extension} IMPROPER ${sources})
|
||||
FindStyleHeadersExt(${search_path} INTEGRATE_CLASS ${extension} INTEGRATE ${sources})
|
||||
FindStyleHeadersExt(${search_path} KSPACE_CLASS ${extension} KSPACE ${sources})
|
||||
FindStyleHeadersExt(${search_path} MINIMIZE_CLASS ${extension} MINIMIZE ${sources})
|
||||
FindStyleHeadersExt(${search_path} NBIN_CLASS ${extension} NBIN ${sources})
|
||||
FindStyleHeadersExt(${search_path} NPAIR_CLASS ${extension} NPAIR ${sources})
|
||||
FindStyleHeadersExt(${search_path} NSTENCIL_CLASS ${extension} NSTENCIL ${sources})
|
||||
FindStyleHeadersExt(${search_path} NTOPO_CLASS ${extension} NTOPO ${sources})
|
||||
FindStyleHeadersExt(${search_path} PAIR_CLASS ${extension} PAIR ${sources})
|
||||
FindStyleHeadersExt(${search_path} READER_CLASS ${extension} READER ${sources})
|
||||
FindStyleHeadersExt(${search_path} REGION_CLASS ${extension} REGION ${sources})
|
||||
endfunction(RegisterStylesExt)
|
||||
|
||||
function(GenerateStyleHeaders output_path)
|
||||
message(STATUS "Generating style headers...")
|
||||
GenerateStyleHeader(${output_path} ANGLE angle ) # force
|
||||
GenerateStyleHeader(${output_path} ATOM_VEC atom ) # atom atom_vec_hybrid
|
||||
GenerateStyleHeader(${output_path} BODY body ) # atom_vec_body
|
||||
GenerateStyleHeader(${output_path} BOND bond ) # force
|
||||
GenerateStyleHeader(${output_path} COMMAND command ) # input
|
||||
GenerateStyleHeader(${output_path} COMPUTE compute ) # modify
|
||||
GenerateStyleHeader(${output_path} DIHEDRAL dihedral ) # force
|
||||
GenerateStyleHeader(${output_path} DUMP dump ) # output write_dump
|
||||
GenerateStyleHeader(${output_path} FIX fix ) # modify
|
||||
GenerateStyleHeader(${output_path} IMPROPER improper ) # force
|
||||
GenerateStyleHeader(${output_path} INTEGRATE integrate ) # update
|
||||
GenerateStyleHeader(${output_path} KSPACE kspace ) # force
|
||||
GenerateStyleHeader(${output_path} MINIMIZE minimize ) # update
|
||||
GenerateStyleHeader(${output_path} NBIN nbin ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NPAIR npair ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NSTENCIL nstencil ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NTOPO ntopo ) # neighbor
|
||||
GenerateStyleHeader(${output_path} PAIR pair ) # force
|
||||
GenerateStyleHeader(${output_path} READER reader ) # read_dump
|
||||
GenerateStyleHeader(${output_path} REGION region ) # domain
|
||||
GenerateStyleHeader(${output_path} ANGLE angle ) # force
|
||||
GenerateStyleHeader(${output_path} ATOM_VEC atom ) # atom atom_vec_hybrid
|
||||
GenerateStyleHeader(${output_path} BODY body ) # atom_vec_body
|
||||
GenerateStyleHeader(${output_path} BOND bond ) # force
|
||||
GenerateStyleHeader(${output_path} COMMAND command ) # input
|
||||
GenerateStyleHeader(${output_path} COMPUTE compute ) # modify
|
||||
GenerateStyleHeader(${output_path} DIHEDRAL dihedral ) # force
|
||||
GenerateStyleHeader(${output_path} DUMP dump ) # output write_dump
|
||||
GenerateStyleHeader(${output_path} FIX fix ) # modify
|
||||
GenerateStyleHeader(${output_path} GRAN_SUB_MOD gran_sub_mod ) # granular_model
|
||||
GenerateStyleHeader(${output_path} IMPROPER improper ) # force
|
||||
GenerateStyleHeader(${output_path} INTEGRATE integrate ) # update
|
||||
GenerateStyleHeader(${output_path} KSPACE kspace ) # force
|
||||
GenerateStyleHeader(${output_path} MINIMIZE minimize ) # update
|
||||
GenerateStyleHeader(${output_path} NBIN nbin ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NPAIR npair ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NSTENCIL nstencil ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NTOPO ntopo ) # neighbor
|
||||
GenerateStyleHeader(${output_path} PAIR pair ) # force
|
||||
GenerateStyleHeader(${output_path} READER reader ) # read_dump
|
||||
GenerateStyleHeader(${output_path} REGION region ) # domain
|
||||
endfunction(GenerateStyleHeaders)
|
||||
|
||||
function(DetectBuildSystemConflict lammps_src_dir)
|
||||
|
||||
@ -94,6 +94,7 @@ OPT.
|
||||
* :doc:`grem <fix_grem>`
|
||||
* :doc:`halt <fix_halt>`
|
||||
* :doc:`heat <fix_heat>`
|
||||
* :doc:`heat/flow <fix_heat_flow>`
|
||||
* :doc:`hyper/global <fix_hyper_global>`
|
||||
* :doc:`hyper/local <fix_hyper_local>`
|
||||
* :doc:`imd <fix_imd>`
|
||||
|
||||
@ -43,6 +43,15 @@ The fix style *freeze* zeroes both the force and torque of frozen
|
||||
atoms, and should be used for granular system instead of the fix style
|
||||
*setforce*\ .
|
||||
|
||||
To model heat conduction, one must add the temperature and heatflow
|
||||
atom variables with:
|
||||
* :doc:`fix property/atom <fix_property_atom>`
|
||||
a temperature integration fix
|
||||
* :doc:`fix heat/flow <fix_heat_flow>`
|
||||
and a heat conduction option defined in both
|
||||
* :doc:`pair_style granular <pair_granular>`
|
||||
* :doc:`fix wall/gran <fix_wall_gran>`
|
||||
|
||||
For computational efficiency, you can eliminate needless pairwise
|
||||
computations between frozen atoms by using this command:
|
||||
|
||||
@ -55,3 +64,6 @@ computations between frozen atoms by using this command:
|
||||
will be the same as in 3d. If you wish to model granular particles in
|
||||
2d as 2d discs, see the note on this topic on the :doc:`Howto 2d <Howto_2d>`
|
||||
doc page, where 2d simulations are discussed.
|
||||
|
||||
To add custom granular contact models, see the
|
||||
:doc:`modifying granular sub-models page <Modify_gran_sub_mod>`.
|
||||
|
||||
@ -34,5 +34,6 @@ style requirements and recommendations <Modify_style>`.
|
||||
Modify_min
|
||||
Modify_region
|
||||
Modify_body
|
||||
Modify_gran_sub_mod
|
||||
Modify_thermo
|
||||
Modify_variable
|
||||
|
||||
177
doc/src/Modify_gran_sub_mod.rst
Normal file
177
doc/src/Modify_gran_sub_mod.rst
Normal file
@ -0,0 +1,177 @@
|
||||
Granular Sub-Model styles
|
||||
===============================
|
||||
|
||||
In granular models, particles are spheres with a finite radius and rotational
|
||||
degrees of freedom as further described in the
|
||||
:doc:`Howto granular page <Howto_granular>`. Interactions between pair of
|
||||
particles or particles and walls may therefore depend on many different modes
|
||||
of motion as described in :doc:`pair granular <pair_granular>` and
|
||||
:doc:`fix wall/gran <fix_wall_gran>`. In both cases, the exchange of forces,
|
||||
torques, and heat flow between two types of bodies is defined using a
|
||||
GranularModel class. The GranularModel class organizes the details of an
|
||||
interaction using a series of granular sub-models each of which describe a
|
||||
particular interaction mode (e.g. normal forces or rolling friction). From a
|
||||
parent GranSubMod class, several types of sub-model classes are derived:
|
||||
|
||||
* GranSubModNormal: normal force sub-model
|
||||
* GranSubModDamping: normal damping sub-model
|
||||
* GranSubModTangential: tangential forces and sliding friction sub-model
|
||||
* GranSubModRolling: rolling friction sub-model
|
||||
* GranSubModTwisting: twisting friction sub-model
|
||||
* GranSubModHeat: heat conduction sub-model
|
||||
|
||||
For each type of sub-model, more classes are further derived, each describing
|
||||
a specific implementation. For instance, from the GranSubModNormal class the
|
||||
GranSubModNormalHooke, GranSubModNormalHertz, and GranSubModNormalJKR classes
|
||||
are derived which calculate Hookean, Hertzian, or JKR normal forces, respectively.
|
||||
This modular structure simplifies the addition of new granular contact models as
|
||||
as one onlyneeds to create a new GranSubMod class without having to modify the more
|
||||
complex PairGranular, FixGranWall, and GranularModel classes. Most GranSubMod methods
|
||||
are also already defined by the parent classes so new contact models typically only
|
||||
require edits to a few relevant methods (e.g. methods that define coefficients and
|
||||
calculate forces).
|
||||
|
||||
Each GranSubMod class has a pointer to both the LAMMPS class and the GranularModel
|
||||
class which owns it, ``lmp`` and ``gm``, respectively. The GranularModel class
|
||||
includes several public variables that describe the geometry/dynamics of the
|
||||
contact such as
|
||||
|
||||
.. list-table::
|
||||
|
||||
* - ``xi`` and ``xj``
|
||||
- Positions of the two contacting bodies
|
||||
* - ``vi`` and ``vj``
|
||||
- Velocities of the two contacting bodies
|
||||
* - ``omegai`` and ``omegaj``
|
||||
- Angular velocities of the two contacting bodies
|
||||
* - ``dx`` and ``nx``
|
||||
- The displacement and normalized displacement vectors
|
||||
* - ``r``, ``rsq``, and ``rinv``
|
||||
- The distance, distance squared, and inverse distance
|
||||
* - ``radsum``
|
||||
- The sum of particle radii
|
||||
* - ``vr``, ``vn``, and ``vt``
|
||||
- The relative velocity vector and its normal and tangential components
|
||||
* - ``wr``
|
||||
- The relative rotational velocity
|
||||
|
||||
These quantities, among others, are calculated in the ``GranularModel->check_contact()``
|
||||
and ``GranularModel->calculate_forces()`` methods which can be referred to for more
|
||||
details.
|
||||
|
||||
To create a new GranSubMod class, it is recommended that one first looks at similar
|
||||
GranSubMod classes. All GranSubMod classes share several general methods which may
|
||||
need to be defined
|
||||
|
||||
.. list-table::
|
||||
|
||||
* - ``GranSubMod->mix_coeff()``
|
||||
- Optional method to define how coefficients are mixed for different atom types. By default, coefficients are mixed using a geometric mean.
|
||||
* - ``GranSubMod->coeffs_to_local()``
|
||||
- Parses coefficients to define local variables. Run once at model construction.
|
||||
* - ``GranSubMod->init()``
|
||||
- Optional method to define local variables after other GranSubMod types were created. For instance, this method may be used by a tangential model that derives parameters from the normal model.
|
||||
|
||||
There are also several type-specific methods
|
||||
|
||||
.. list-table::
|
||||
|
||||
* - ``GranSubModNormal->touch()``
|
||||
- Optional method to test when particles are in contact. By default, this is when particles overlap.
|
||||
* - ``GranSubModNormal->pulloff_distance()``
|
||||
- Optional method to return the distance at which particles stop interacting. By default, this is when particles no longer overlap.
|
||||
* - ``GranSubModNormal->calculate_area()``
|
||||
- Optional method to return the surface area of the contact. By default, this returns the geometric cross section.
|
||||
* - ``GranSubModNormal->set_fncrit()``
|
||||
- Optional method that defines the critical force to break the contact used by some tangential, rolling, and twisting sub-models. By default, this is the current total normal force including damping.
|
||||
* - ``GranSubModNormal->calculate_forces()``
|
||||
- Required method that returns the normal contact force
|
||||
* - ``GranSubModDamping->calculate_forces()``
|
||||
- Required method that returns the normal damping force
|
||||
* - ``GranSubModTangential->calculate_forces()``
|
||||
- Required method that calculates tangential forces/torques
|
||||
* - ``GranSubModTwisting->calculate_forces()``
|
||||
- Required method that calculates twisting friction forces/torques
|
||||
* - ``GranSubModRolling->calculate_forces()``
|
||||
- Required method that calculates rolling friction forces/torques
|
||||
* - ``GranSubModHeat->calculate_heat()``
|
||||
- Required method that returns the rate of heat flow
|
||||
|
||||
As an example, say one wanted to create a new normal force option that consisted
|
||||
of a Hookean force with a piecewise stiffness. This could be done by adding a new
|
||||
set of files ``gran_sub_mod_custom.h``:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
#ifdef GranSubMod_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(hooke/piecewise,
|
||||
GranSubModNormalHookePiecewise,
|
||||
NORMAL);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_CUSTOM_H_
|
||||
#define GRAN_SUB_MOD_CUSTOM_H_
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
#include "gran_sub_mod_normal.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModNormalHookePiecewise : public GranSubModNormal {
|
||||
public:
|
||||
GranSubModNormalHookePiecewise(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
double calculate_forces();
|
||||
protected:
|
||||
double k1, k2, delta_switch;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_CUSTOM_H_ */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H_ */
|
||||
|
||||
|
||||
and ``gran_sub_mod_custom.cpp``
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
#include "gran_sub_mod_custom.h"
|
||||
#include "gran_sub_mod_normal.h"
|
||||
#include "granular_model.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
|
||||
GranSubModNormalHookePiecewise::GranSubModNormalHookePiecewise(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp)
|
||||
{
|
||||
num_coeffs = 4;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalHookePiecewise::coeffs_to_local()
|
||||
{
|
||||
k1 = coeffs[0];
|
||||
k2 = coeffs[1];
|
||||
damp = coeffs[2];
|
||||
delta_switch = coeffs[3];
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalHookePiecewise::calculate_forces()
|
||||
{
|
||||
double Fne;
|
||||
if (gm->delta >= delta_switch) {
|
||||
Fne = k1 * delta_switch + k2 * (gm->delta - delta_switch);
|
||||
} else {
|
||||
Fne = k1 * gm->delta;
|
||||
}
|
||||
return Fne;
|
||||
}
|
||||
|
||||
@ -161,15 +161,14 @@ and each stores a per-particle diameter and mass. If the diameter >
|
||||
0.0, the particle is a finite-size sphere. If the diameter = 0.0, it
|
||||
is a point particle. Note that by use of the *disc* keyword with the
|
||||
:doc:`fix nve/sphere <fix_nve_sphere>`, :doc:`fix nvt/sphere
|
||||
<fix_nvt_sphere>`, :doc:`fix nph/sphere <fix_nph_sphere>`, :doc:`fix
|
||||
npt/sphere <fix_npt_sphere>` commands for the *sphere* style, spheres
|
||||
can be effectively treated as 2d discs for a 2d simulation if desired.
|
||||
See also the :doc:`set density/disc <set>` command. The *sphere* and
|
||||
*bpm/sphere* styles take an optional 0 or 1 argument. A value of 0
|
||||
means the radius of each sphere is constant for the duration of the
|
||||
simulation. A value of 1 means the radii may vary dynamically during
|
||||
the simulation, e.g. due to use of the :doc:`fix adapt <fix_adapt>`
|
||||
command.
|
||||
<fix_nvt_sphere>`, :doc:`fix nph/sphere <fix_nph_sphere>`,
|
||||
:doc:`fix npt/sphere <fix_npt_sphere>` commands for the *sphere* style,
|
||||
spheres can be effectively treated as 2d discs for a 2d simulation if
|
||||
desired. See also the :doc:`set density/disc <set>` command. These
|
||||
styles take an optional 0 or 1 argument. A value of 0 means the
|
||||
radius of each sphere is constant for the duration of the simulation.
|
||||
A value of 1 means the radii may vary dynamically during the simulation,
|
||||
e.g. due to use of the :doc:`fix adapt <fix_adapt>` command.
|
||||
|
||||
For the *ellipsoid* style, the particles are ellipsoids and each
|
||||
stores a flag which indicates whether it is a finite-size ellipsoid or
|
||||
|
||||
@ -111,6 +111,7 @@ Syntax
|
||||
q, mux, muy, muz, mu,
|
||||
radius, diameter, omegax, omegay, omegaz,
|
||||
angmomx, angmomy, angmomz, tqx, tqy, tqz,
|
||||
heatflow, temperature,
|
||||
c_ID, c_ID[I], f_ID, f_ID[I], v_name,
|
||||
i_name, d_name, i2_name[I], d2_name[I]
|
||||
|
||||
@ -133,10 +134,12 @@ Syntax
|
||||
q = atom charge
|
||||
mux,muy,muz = orientation of dipole moment of atom
|
||||
mu = magnitude of dipole moment of atom
|
||||
radius,diameter = radius,diameter of spherical particle
|
||||
radius,diameter = radius, diameter of spherical particle
|
||||
omegax,omegay,omegaz = angular velocity of spherical particle
|
||||
angmomx,angmomy,angmomz = angular momentum of aspherical particle
|
||||
tqx,tqy,tqz = torque on finite-size particles
|
||||
heatflow = rate of heat flow into particle
|
||||
temperature = temperature of particle
|
||||
c_ID = per-atom vector calculated by a compute with ID
|
||||
c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below)
|
||||
f_ID = per-atom vector calculated by a fix with ID
|
||||
|
||||
@ -246,6 +246,7 @@ accelerated styles exist.
|
||||
* :doc:`grem <fix_grem>` - implements the generalized replica exchange method
|
||||
* :doc:`halt <fix_halt>` - terminate a dynamics run or minimization
|
||||
* :doc:`heat <fix_heat>` - add/subtract momentum-conserving heat
|
||||
* :doc:`heat/flow <fix_heat_flow>` - plain time integration of heat flow with per-atom temperature updates
|
||||
* :doc:`hyper/global <fix_hyper_global>` - global hyperdynamics
|
||||
* :doc:`hyper/local <fix_hyper_local>` - local hyperdynamics
|
||||
* :doc:`imd <fix_imd>` - implements the "Interactive MD" (IMD) protocol
|
||||
|
||||
70
doc/src/fix_heat_flow.rst
Normal file
70
doc/src/fix_heat_flow.rst
Normal file
@ -0,0 +1,70 @@
|
||||
.. index:: fix heat/flow
|
||||
|
||||
fix heat/flow command
|
||||
==========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID heat/flow style values ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* heat/flow = style name of this fix command
|
||||
* one style with corresponding value(s) needs to be listed
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
style = *constant* or *type*
|
||||
*constant* = cp
|
||||
cp = value of specifc heat (energy/(mass * temperature) units)
|
||||
*type* = cp1 ... cpN
|
||||
cpN = value of specifc heat for type N (energy/(mass * temperature) units)
|
||||
|
||||
*
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all heat/flow constant 1.0
|
||||
fix 1 all heat/flow type 1.0 0.5
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Perform plain time integration to update temperature for atoms in the
|
||||
group each timestep. The specific heat of atoms can be defined using either
|
||||
the *constant* or *type* keywords. For style *constant*, the specific heat
|
||||
is a constant value *cp* for all atoms. For style *type*, *N* different values
|
||||
of the specific heat are defined, one for each of the *N* types of atoms.
|
||||
|
||||
----------
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files <restart>`.
|
||||
None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix.
|
||||
No global or per-atom quantities are stored by this fix for access by various
|
||||
:doc:`output commands <Howto_output>`. No parameter of this fix can be used
|
||||
with the *start/stop* keywords of the :doc:`run <run>` command. This fix is
|
||||
not invoked during :doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix requires that atoms store temperature and heat flow
|
||||
as defined by the :doc:`fix property/atom <fix_property_atom>` command.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair granular <pair_granular>`, :doc:`fix property/atom <fix_property_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
@ -46,7 +46,7 @@ Syntax
|
||||
radius = cylinder radius (distance units)
|
||||
|
||||
* zero or more keyword/value pairs may be appended to args
|
||||
* keyword = *wiggle* or *shear* or *contacts*
|
||||
* keyword = *wiggle* or *shear* or *contacts* or *temperature*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -59,6 +59,8 @@ Syntax
|
||||
vshear = magnitude of shear velocity (velocity units)
|
||||
*contacts* value = none
|
||||
generate contact information for each particle
|
||||
*temperature* value = temperature
|
||||
specify temperature of wall
|
||||
|
||||
|
||||
Examples
|
||||
@ -71,7 +73,7 @@ Examples
|
||||
fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0
|
||||
fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox
|
||||
fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone
|
||||
fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone
|
||||
fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji heat 10 region myCone temperature 1.0
|
||||
fix 6 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 contacts
|
||||
|
||||
Description
|
||||
@ -177,6 +179,16 @@ the clockwise direction for *vshear* > 0 or counter-clockwise for
|
||||
*vshear* < 0. In this case, *vshear* is the tangential velocity of
|
||||
the wall at whatever *radius* has been defined.
|
||||
|
||||
The *temperature* keyword is used to assign a temperature to the wall.
|
||||
The following value can either be a numeric value or an equal-style
|
||||
:doc:`variable <variable>`. If the value is a variable, it should be
|
||||
specified as v_name, where name is the variable name. In this case, the
|
||||
variable will be evaluated each timestep, and its value used to determine
|
||||
the temperature. This option must be used in conjunction with a heat
|
||||
conduction model defined in :doc:`pair_style granular <pair_granular>`,
|
||||
:doc:`fix property/atom <fix_property_atom>` to store temperature and a
|
||||
heat flow, and :doc:`fix heat/flow <fix_heat_flow>` to integrate heat
|
||||
flow.
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
@ -36,12 +36,14 @@ Syntax
|
||||
|
||||
* wallstyle = region (see :doc:`fix wall/gran <fix_wall_gran>` for options for other kinds of walls)
|
||||
* region-ID = region whose boundary will act as wall
|
||||
* keyword = *contacts*
|
||||
* keyword = *contacts* or *temperature*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*contacts* value = none
|
||||
generate contact information for each particle
|
||||
*temperature* value = temperature
|
||||
specify temperature of wall
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -200,6 +202,17 @@ values for the 6 wall/particle coefficients than for particle/particle
|
||||
interactions. E.g. if you wish to model the wall as a different
|
||||
material.
|
||||
|
||||
The *temperature* keyword is used to assign a temperature to the wall.
|
||||
The following value can either be a numeric value or an equal-style
|
||||
:doc:`variable <variable>`. If the value is a variable, it should be
|
||||
specified as v_name, where name is the variable name. In this case, the
|
||||
variable will be evaluated each timestep, and its value used to determine
|
||||
the temperature. This option must be used in conjunction with a heat
|
||||
conduction model defined in :doc:`pair_style granular <pair_granular>`,
|
||||
:doc:`fix property/atom <fix_property_atom>` to store temperature and a
|
||||
heat flow, and :doc:`fix heat/flow <fix_heat_flow>` to integrate heat
|
||||
flow.
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
@ -279,6 +279,11 @@ statistically similar results. This is because the forces they
|
||||
compute depend on atom velocities. See the
|
||||
:doc:`read_restart <read_restart>` command for more details.
|
||||
|
||||
Accumulated values for individual contacts are saved to to restart
|
||||
files but are not saved to data files. Therefore, forces may
|
||||
differ significantly when a system is reloaded using A
|
||||
:doc:`read_data <read_data>` command.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -37,6 +37,9 @@ Examples
|
||||
pair_coeff 1 1 dmt 1000.0 50.0 0.3 0.0 tangential mindlin NULL 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||
pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin NULL 0.5 0.1 rolling sds 500.0 200.0 0.1 twisting marshall
|
||||
|
||||
pair_style granular
|
||||
pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 heat area 0.1
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
@ -223,16 +226,19 @@ for all models except *jkr*, for which it is given implicitly according
|
||||
to :math:`\delta = a^2/R - 2\sqrt{\pi \gamma a/E}`. For *damping viscoelastic*,
|
||||
:math:`\eta_{n0}` is in units of 1/(\ *time*\ \*\ *distance*\ ).
|
||||
|
||||
The *tsuji* model is based on the work of :ref:`(Tsuji et al) <Tsuji1992>`. Here, the damping coefficient specified as part of
|
||||
the normal model is interpreted as a restitution coefficient
|
||||
:math:`e`. The damping constant :math:`\eta_n` is given by:
|
||||
The *tsuji* model is based on the work of :ref:`(Tsuji et al) <Tsuji1992>`.
|
||||
Here, the damping coefficient specified as part of the normal model is interpreted
|
||||
as a restitution coefficient :math:`e`. The damping constant :math:`\eta_n` is
|
||||
given by:
|
||||
|
||||
.. math::
|
||||
|
||||
\eta_n = \alpha (m_{eff}k_n)^{1/2}
|
||||
|
||||
For normal contact models based on material parameters, :math:`k_n = 4/3Ea`. The parameter :math:`\alpha` is related to the restitution
|
||||
coefficient *e* according to:
|
||||
For normal contact models based on material parameters, :math:`k_n = 4/3Ea`. This
|
||||
damping model is not compatible with cohesive normal models such as *JKR* or *DMT*.
|
||||
The parameter :math:`\alpha` is related to the restitution coefficient *e*
|
||||
according to:
|
||||
|
||||
.. math::
|
||||
|
||||
@ -631,6 +637,34 @@ attractive force. This keyword cannot be used with the JKR or DMT models.
|
||||
|
||||
----------
|
||||
|
||||
The optional *heat* keyword enables heat conduction. The options currently
|
||||
supported are:
|
||||
|
||||
1. *none*
|
||||
2. *area* : :math:`k_{s}`
|
||||
|
||||
If the *heat* keyword is not specified, the model defaults to *none*.
|
||||
|
||||
For *heat* *area*, the heat
|
||||
:math:`Q` conducted between two particles is given by
|
||||
|
||||
.. math::
|
||||
|
||||
Q = k_{s} a \Delta T
|
||||
|
||||
|
||||
|
||||
where :math:`\Delta T` is the difference in the two particles' temperature,
|
||||
:math:`k_{s}` is a non-negative numeric value for the conductivity, and
|
||||
:math:`a` is the area of the contact and depends on the normal force model.
|
||||
|
||||
Note that the option *none* must either be used in all or none of of the
|
||||
*pair_coeff* calls. See :doc:`fix heat/flow <fix_heat_flow>` and
|
||||
:doc:`fix property/atom <fix_property_atom>` for more information on this
|
||||
option.
|
||||
|
||||
----------
|
||||
|
||||
The *granular* pair style can reproduce the behavior of the
|
||||
*pair gran/\** styles with the appropriate settings (some very
|
||||
minor differences can be expected due to corrections in
|
||||
@ -641,7 +675,7 @@ is equivalent to *pair gran/hooke 1000.0 NULL 50.0 50.0 0.4 1*\ .
|
||||
The second example is equivalent to
|
||||
*pair gran/hooke/history 1000.0 500.0 50.0 50.0 0.4 1*\ .
|
||||
The third example is equivalent to
|
||||
*pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1*\ .
|
||||
*pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1 limit_damping*\ .
|
||||
|
||||
----------
|
||||
|
||||
@ -733,22 +767,30 @@ These extra quantities can be accessed by the :doc:`compute pair/local <compute_
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
All the granular pair styles are part of the GRANULAR package. It is
|
||||
only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
This pair style is part of the GRANULAR package. It is
|
||||
only enabled if LAMMPS was built with that package.
|
||||
See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
These pair styles require that atoms store torque and angular velocity
|
||||
(omega) as defined by the :doc:`atom_style <atom_style>`. They also
|
||||
require a per-particle radius is stored. The *sphere* atom style does
|
||||
all of this.
|
||||
This pair style requires that atoms store per-particle radius,
|
||||
torque, and angular velocity (omega) as defined by the
|
||||
:doc:`atom_style sphere <atom_style>`.
|
||||
|
||||
This pair style requires you to use the :doc:`comm_modify vel yes <comm_modify>` command so that velocities are stored by ghost
|
||||
atoms.
|
||||
This pair style requires you to use the :doc:`comm_modify vel yes <comm_modify>`
|
||||
command so that velocities are stored by ghost atoms.
|
||||
|
||||
These pair styles will not restart exactly when using the
|
||||
:doc:`read_restart <read_restart>` command, though they should provide
|
||||
statistically similar results. This is because the forces they
|
||||
compute depend on atom velocities. See the
|
||||
:doc:`read_restart <read_restart>` command for more details.
|
||||
This pair style will not restart exactly when using the
|
||||
:doc:`read_restart <read_restart>` command, though it should provide
|
||||
statistically similar results. This is because the forces it
|
||||
computes depend on atom velocities and the atom velocities have
|
||||
been propagated half a timestep between the force computation and
|
||||
when the restart is written, due to using Velocity Verlet time
|
||||
integration. See the :doc:`read_restart <read_restart>` command
|
||||
for more details.
|
||||
|
||||
Accumulated values for individual contacts are saved to restart
|
||||
files but are not saved to data files. Therefore, forces may
|
||||
differ significantly when a system is reloaded using the
|
||||
:doc:`read_data <read_data>` command.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -19,7 +19,7 @@ Syntax
|
||||
*spin/electron* or *radius/electron* or
|
||||
*quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or
|
||||
*theta* or *theta/random* or *angmom* or *omega* or
|
||||
*mass* or *density* or *density/disc* or
|
||||
*mass* or *density* or *density/disc* or *temperature* or
|
||||
*volume* or *image* or *bond* or *angle* or *dihedral* or
|
||||
*improper* or *sph/e* or *sph/cv* or *sph/rho* or
|
||||
*smd/contact/radius* or *smd/mass/density* or *dpd/theta* or
|
||||
@ -100,6 +100,8 @@ Syntax
|
||||
value can be an atom-style variable (see below)
|
||||
*density/disc* value = particle density for a 2d disc or ellipse (mass/distance\^2 units)
|
||||
value can be an atom-style variable (see below)
|
||||
*temperature* value = temperature for finite-size particles (temperature units)
|
||||
value can be an atom-style variable (see below)
|
||||
*volume* value = particle volume for Peridynamic particle (distance\^3 units)
|
||||
value can be an atom-style variable (see below)
|
||||
*image* nx ny nz
|
||||
@ -429,6 +431,12 @@ assumed to be in mass/distance\^2 units).
|
||||
If none of these cases are valid, then the mass is set to the density
|
||||
value directly (the input density is assumed to be in mass units).
|
||||
|
||||
Keyword *temperature* sets the temperature of a finite-size particle.
|
||||
Currently, only the GRANULAR package supports this attribute. The
|
||||
temperature must be added using an instance of
|
||||
:doc:`fix property/atom <fix_property_atom>` The values for the
|
||||
temperature must be positive.
|
||||
|
||||
Keyword *volume* sets the volume of all selected particles. Currently,
|
||||
only the :doc:`atom_style peri <atom_style>` command defines particles
|
||||
with a volume attribute. Note that this command does not adjust the
|
||||
|
||||
@ -1372,6 +1372,7 @@ hdnnp
|
||||
HDNNP
|
||||
Hearn
|
||||
heatconduction
|
||||
heatflow
|
||||
Hebbeker
|
||||
Hebenstreit
|
||||
Hecht
|
||||
|
||||
493
examples/granregion/log.15Sep22.granregion.box.g++.1
Normal file
493
examples/granregion/log.15Sep22.granregion.box.g++.1
Normal file
@ -0,0 +1,493 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pouring spheres into container box
|
||||
|
||||
units lj
|
||||
atom_style sphere
|
||||
boundary f f f
|
||||
dimension 3
|
||||
comm_modify vel yes
|
||||
|
||||
region box block -10 10 -10 10 -10 10 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1
|
||||
pair_coeff * * gran/hooke
|
||||
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 2 all nve/sphere
|
||||
fix 3 all gravity 1.0 vector 0 0 -1
|
||||
|
||||
region slab block -2 2 -2 2 -2 2 units box
|
||||
fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore
|
||||
Particle insertion: 48 every 566 steps, 100 by step 1133
|
||||
|
||||
timestep 0.005
|
||||
|
||||
compute 1 all temp
|
||||
compute_modify 1 dynamic/dof yes
|
||||
|
||||
compute 2 all temp/sphere
|
||||
compute_modify 2 dynamic/dof yes
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step atoms temp c_1 c_2 press
|
||||
thermo_modify lost ignore
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 31 31 31
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hooke, perpetual
|
||||
attributes: half, newton on, size
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.5861 | 0.5861 | 0.5861 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
0 0 0 0 0 0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
100 30 0.803783 0.803783 0.39507978 0.0029137134
|
||||
200 30 1.1967995 1.1967995 0.5882574 0.0043383984
|
||||
300 30 1.2814686 1.2814686 0.62987441 0.0046453238
|
||||
400 30 0.82331082 0.82331082 0.41173176 0.0029845017
|
||||
500 30 0.7708462 0.7708462 0.38777784 0.0043831147
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
600 64 0.51564897 0.51564897 0.26631577 0.0040059368
|
||||
700 64 0.57239348 0.57239348 0.29566901 0.0045075987
|
||||
800 64 0.61837087 0.61837087 0.32195387 0.0048123564
|
||||
900 64 0.53061888 0.53061888 0.28564763 0.0055906552
|
||||
1000 64 0.496299 0.496299 0.26801572 0.0061169128
|
||||
1100 64 0.46068308 0.46068308 0.24699057 0.0055717699
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
1200 99 0.39206225 0.39206225 0.21356546 0.0066294211
|
||||
1300 99 0.38624966 0.38624966 0.21345854 0.0049051051
|
||||
1400 99 0.35615284 0.35615284 0.19785725 0.0046170772
|
||||
1500 99 0.31486693 0.31486693 0.17429055 0.0064903432
|
||||
1600 99 0.26369001 0.26369001 0.15095266 0.0045226847
|
||||
1700 100 0.1925923 0.1925923 0.11308104 0.007362313
|
||||
1800 100 0.13724978 0.13724978 0.083276845 0.0058136373
|
||||
1900 100 0.077212636 0.077212636 0.053159386 0.0016509598
|
||||
2000 100 0.065294031 0.065294031 0.04372752 0.0020346467
|
||||
2100 100 0.057431398 0.057431398 0.037977068 0.0012681098
|
||||
2200 100 0.059093045 0.059093045 0.037435193 0.00096610799
|
||||
2300 100 0.03422338 0.03422338 0.025491304 0.00069886052
|
||||
2400 100 0.020558284 0.020558284 0.016163009 0.0017260663
|
||||
2500 100 0.015339709 0.015339709 0.012329236 0.00041308031
|
||||
2600 100 0.012891354 0.012891354 0.009766054 0.00030356722
|
||||
2700 100 0.0092634449 0.0092634449 0.0073580108 0.00077723051
|
||||
2800 100 0.0073925841 0.0073925841 0.0059932218 0.00016466767
|
||||
2900 100 0.0081228267 0.0081228267 0.006281761 0.00013828388
|
||||
3000 100 0.0041833223 0.0041833223 0.0035147096 0.00013160599
|
||||
3100 100 0.0035930775 0.0035930775 0.0030039922 0.00060639771
|
||||
3200 100 0.0030824465 0.0030824465 0.0026541293 0.00047391014
|
||||
3300 100 0.0035087522 0.0035087522 0.0027664508 0.00014080317
|
||||
3400 100 0.0018537868 0.0018537868 0.0017099705 6.3326674e-05
|
||||
3500 100 0.0015371228 0.0015371228 0.0014155433 0.00021612522
|
||||
3600 100 0.001708556 0.001708556 0.0014369892 8.1034202e-05
|
||||
3700 100 0.00095948652 0.00095948652 0.0009788528 3.4694023e-05
|
||||
3800 100 0.00091875668 0.00091875668 0.00086805146 3.9373686e-05
|
||||
3900 100 0.001557068 0.001557068 0.001159526 2.5178607e-05
|
||||
4000 100 0.00062012451 0.00062012451 0.00066806922 5.6680551e-06
|
||||
4100 100 0.00060940771 0.00060940771 0.00065614741 1.0137901e-05
|
||||
4200 100 0.00059538437 0.00059538437 0.00064501521 7.3679744e-06
|
||||
4300 100 0.00052946048 0.00052946048 0.00059353641 5.9225081e-06
|
||||
4400 100 0.00051202281 0.00051202281 0.00057524772 3.6198435e-05
|
||||
4500 100 0.00049986632 0.00049986632 0.00055754521 2.2275519e-05
|
||||
4600 100 0.00048187334 0.00048187334 0.00053988815 2.2015243e-05
|
||||
4700 100 0.00045261491 0.00045261491 0.00050298355 8.9681339e-05
|
||||
4800 100 0.00034965427 0.00034965427 0.0004278781 1.0983535e-05
|
||||
4900 100 0.00033555621 0.00033555621 0.00041435167 2.9266598e-05
|
||||
5000 100 0.00031387148 0.00031387148 0.00039605781 2.5628425e-05
|
||||
Loop time of 0.078687 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 27450544.413 tau/day, 63542.927 timesteps/s, 6.354 Matom-step/s
|
||||
80.5% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0084151 | 0.0084151 | 0.0084151 | 0.0 | 10.69
|
||||
Neigh | 0.012728 | 0.012728 | 0.012728 | 0.0 | 16.18
|
||||
Comm | 0.0056143 | 0.0056143 | 0.0056143 | 0.0 | 7.14
|
||||
Output | 0.00051411 | 0.00051411 | 0.00051411 | 0.0 | 0.65
|
||||
Modify | 0.041412 | 0.041412 | 0.041412 | 0.0 | 52.63
|
||||
Other | | 0.01 | | | 12.71
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 164 ave 164 max 164 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 164
|
||||
Ave neighs/atom = 1.64
|
||||
Neighbor list builds = 281
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-5000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 31 31 31
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hooke, perpetual
|
||||
attributes: half, newton on, size
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
5000 100 0.00031387148 0.00031387148 0.00039605781 2.6174978e-05
|
||||
5100 100 0.54537023 0.54537023 0.30042175 0.0087427352
|
||||
5200 100 0.57210852 0.57210852 0.3192468 0.0098134067
|
||||
5300 100 0.7168108 0.7168108 0.38577893 0.011004584
|
||||
5400 100 0.78895524 0.78895524 0.41889428 0.013555713
|
||||
5500 100 0.87797874 0.87797874 0.45689223 0.01565356
|
||||
5600 100 0.95424379 0.95424379 0.48830429 0.014707858
|
||||
5700 100 1.0046012 1.0046012 0.51054927 0.01469179
|
||||
5800 100 1.0371453 1.0371453 0.5262568 0.015576788
|
||||
5900 100 1.0545743 1.0545743 0.5361173 0.01589889
|
||||
6000 100 1.0932949 1.0932949 0.55402214 0.017484573
|
||||
6100 100 1.1148364 1.1148364 0.56241126 0.01721788
|
||||
6200 100 1.1315267 1.1315267 0.57050887 0.017961246
|
||||
6300 100 1.1506124 1.1506124 0.58009471 0.017159062
|
||||
6400 100 1.1663328 1.1663328 0.5876586 0.017935311
|
||||
6500 100 1.1821086 1.1821086 0.59595162 0.018005316
|
||||
6600 100 1.2039397 1.2039397 0.60567524 0.021604669
|
||||
6700 100 1.2269911 1.2269911 0.61770224 0.018907995
|
||||
6800 100 1.2447035 1.2447035 0.6257652 0.02053766
|
||||
6900 100 1.2625323 1.2625323 0.63486698 0.020106134
|
||||
7000 100 1.2617127 1.2617127 0.63318163 0.019670429
|
||||
7100 100 1.260715 1.260715 0.63311254 0.019810631
|
||||
7200 100 1.2790404 1.2790404 0.64079001 0.020218903
|
||||
7300 100 1.2760228 1.2760228 0.6395331 0.021749906
|
||||
7400 100 1.2799658 1.2799658 0.64139084 0.020472922
|
||||
7500 100 1.2846473 1.2846473 0.64343085 0.020610025
|
||||
7600 100 1.2883965 1.2883965 0.64491873 0.02074884
|
||||
7700 100 1.2926891 1.2926891 0.64684545 0.020599654
|
||||
7800 100 1.3032201 1.3032201 0.65119455 0.02183405
|
||||
7900 100 1.3025628 1.3025628 0.65068661 0.021248589
|
||||
8000 100 1.3052302 1.3052302 0.65208602 0.021399549
|
||||
8100 100 1.3069867 1.3069867 0.65304849 0.021254794
|
||||
8200 100 1.3092024 1.3092024 0.6543837 0.021220909
|
||||
8300 100 1.3101468 1.3101468 0.65519741 0.021328361
|
||||
8400 100 1.3116005 1.3116005 0.65545253 0.021493555
|
||||
8500 100 1.3153616 1.3153616 0.65731542 0.021433279
|
||||
8600 100 1.3164556 1.3164556 0.65791227 0.021531213
|
||||
8700 100 1.3187245 1.3187245 0.65915974 0.02170181
|
||||
8800 100 1.3215981 1.3215981 0.66036644 0.022358849
|
||||
8900 100 1.3206845 1.3206845 0.65984651 0.021901337
|
||||
9000 100 1.3213046 1.3213046 0.66020378 0.021876353
|
||||
9100 100 1.3225084 1.3225084 0.66088847 0.021811098
|
||||
9200 100 1.3240309 1.3240309 0.66180646 0.021768929
|
||||
9300 100 1.325458 1.325458 0.66280401 0.02165852
|
||||
9400 100 1.3322968 1.3322968 0.66615126 0.022139018
|
||||
9500 100 1.3416035 1.3416035 0.67030794 0.022243129
|
||||
9600 100 1.3353326 1.3353326 0.66692811 0.022622122
|
||||
9700 100 1.336265 1.336265 0.66727395 0.022171165
|
||||
9800 100 1.3344531 1.3344531 0.66634538 0.022025131
|
||||
9900 100 1.3337098 1.3337098 0.66601721 0.022111706
|
||||
10000 100 1.3335539 1.3335539 0.66597627 0.022133817
|
||||
Loop time of 0.235008 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 9191156.994 tau/day, 21275.826 timesteps/s, 2.128 Matom-step/s
|
||||
94.1% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.029846 | 0.029846 | 0.029846 | 0.0 | 12.70
|
||||
Neigh | 0.030211 | 0.030211 | 0.030211 | 0.0 | 12.86
|
||||
Comm | 0.005731 | 0.005731 | 0.005731 | 0.0 | 2.44
|
||||
Output | 0.00051873 | 0.00051873 | 0.00051873 | 0.0 | 0.22
|
||||
Modify | 0.1583 | 0.1583 | 0.1583 | 0.0 | 67.36
|
||||
Other | | 0.01041 | | | 4.43
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 186 ave 186 max 186 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 186
|
||||
Ave neighs/atom = 1.86
|
||||
Neighbor list builds = 626
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
10000 100 1.3335539 1.3335539 0.66597627 0.022207076
|
||||
10100 100 0.29976134 0.29976134 0.1752962 0.0091355801
|
||||
10200 100 0.1548002 0.1548002 0.1005356 0.0062509071
|
||||
10300 100 0.082468613 0.082468613 0.066729575 0.0017315098
|
||||
10400 100 0.06731284 0.06731284 0.056685383 0.0011965765
|
||||
10500 100 0.050167538 0.050167538 0.042388389 0.0010830279
|
||||
10600 100 0.041091371 0.041091371 0.034743534 0.00092984522
|
||||
10700 100 0.033199041 0.033199041 0.027954031 0.0018451338
|
||||
10800 100 0.027880411 0.027880411 0.024437224 0.0013039536
|
||||
10900 100 0.024634597 0.024634597 0.021815184 0.00030935286
|
||||
11000 100 0.020741105 0.020741105 0.018754221 0.0006306901
|
||||
11100 100 0.017210914 0.017210914 0.015842306 0.00075930229
|
||||
11200 100 0.01254319 0.01254319 0.012145795 0.00047388541
|
||||
11300 100 0.010032468 0.010032468 0.0095918697 0.0014677116
|
||||
11400 100 0.0081538458 0.0081538458 0.0080985914 0.00032485316
|
||||
11500 100 0.0072918155 0.0072918155 0.0070156789 0.00023642827
|
||||
11600 100 0.0070136586 0.0070136586 0.0067263114 7.8490444e-05
|
||||
11700 100 0.0061722946 0.0061722946 0.0058832419 0.00013450793
|
||||
11800 100 0.0052444487 0.0052444487 0.0049294304 8.6973121e-05
|
||||
11900 100 0.0048212279 0.0048212279 0.0045261412 0.00010458031
|
||||
12000 100 0.0046782797 0.0046782797 0.0044011937 0.00018881094
|
||||
12100 100 0.0042066617 0.0042066617 0.0040330976 0.00015507521
|
||||
12200 100 0.0038529032 0.0038529032 0.003664712 1.1476621e-05
|
||||
12300 100 0.0033203238 0.0033203238 0.0032404054 0.00027622191
|
||||
12400 100 0.003113731 0.003113731 0.0030491123 3.8532421e-05
|
||||
12500 100 0.0029925149 0.0029925149 0.0029415075 4.2673261e-05
|
||||
12600 100 0.0028383323 0.0028383323 0.0027902992 9.328552e-05
|
||||
12700 100 0.0026386104 0.0026386104 0.0026095714 7.7740986e-05
|
||||
12800 100 0.0023509873 0.0023509873 0.0023518594 3.1944764e-05
|
||||
12900 100 0.0022296104 0.0022296104 0.0022030693 4.5393502e-05
|
||||
13000 100 0.0021991358 0.0021991358 0.0021560478 0.0001221212
|
||||
13100 100 0.0021011001 0.0021011001 0.0020752855 2.4605107e-05
|
||||
13200 100 0.002004495 0.002004495 0.0020040212 2.4805625e-05
|
||||
13300 100 0.0018394135 0.0018394135 0.0018288384 6.2227066e-05
|
||||
13400 100 0.0016314086 0.0016314086 0.0016058102 0.00010372886
|
||||
13500 100 0.0015042857 0.0015042857 0.0014660263 0.00020805178
|
||||
13600 100 0.0013584764 0.0013584764 0.0013177418 5.1603333e-05
|
||||
13700 100 0.0012407449 0.0012407449 0.0011902637 8.87401e-05
|
||||
13800 100 0.0011673364 0.0011673364 0.0011324247 2.3668551e-05
|
||||
13900 100 0.0011429204 0.0011429204 0.0011072347 1.414364e-05
|
||||
14000 100 0.001087543 0.001087543 0.0010616439 3.0874865e-05
|
||||
14100 100 0.00098839393 0.00098839393 0.00096445684 6.5331515e-05
|
||||
14200 100 0.00095139076 0.00095139076 0.00093658993 2.5649208e-05
|
||||
14300 100 0.00089532494 0.00089532494 0.00082626435 2.6200482e-05
|
||||
14400 100 0.00077973015 0.00077973015 0.00070733785 2.29298e-05
|
||||
14500 100 0.00068559117 0.00068559117 0.00062297009 8.4841907e-06
|
||||
14600 100 0.00059199698 0.00059199698 0.00052453148 1.2737231e-05
|
||||
14700 100 0.00055052378 0.00055052378 0.00048459372 1.3028328e-05
|
||||
14800 100 0.00049397913 0.00049397913 0.00044094284 6.1129918e-06
|
||||
14900 100 0.00048082746 0.00048082746 0.00043128724 3.7301936e-06
|
||||
15000 100 0.00046847825 0.00046847825 0.00041484245 5.7974184e-06
|
||||
Loop time of 0.0802044 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 26931180.398 tau/day, 62340.695 timesteps/s, 6.234 Matom-step/s
|
||||
82.1% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0080809 | 0.0080809 | 0.0080809 | 0.0 | 10.08
|
||||
Neigh | 0.0048815 | 0.0048815 | 0.0048815 | 0.0 | 6.09
|
||||
Comm | 0.0055605 | 0.0055605 | 0.0055605 | 0.0 | 6.93
|
||||
Output | 0.00050386 | 0.00050386 | 0.00050386 | 0.0 | 0.63
|
||||
Modify | 0.051104 | 0.051104 | 0.051104 | 0.0 | 63.72
|
||||
Other | | 0.01007 | | | 12.56
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 157 ave 157 max 157 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 157
|
||||
Ave neighs/atom = 1.57
|
||||
Neighbor list builds = 100
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-15000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
15000 100 0.00046847825 0.00046847825 0.00041484245 5.7974184e-06
|
||||
15100 100 0.96677694 0.96677694 0.64420785 0.01431184
|
||||
15200 100 1.0659255 1.0659255 0.69293741 0.013240486
|
||||
15300 100 1.1647631 1.1647631 0.75191941 0.014622673
|
||||
15400 100 1.3411593 1.3411593 0.85696383 0.02561549
|
||||
15500 100 1.6033758 1.6033758 0.99094919 0.026221789
|
||||
15600 100 1.7889645 1.7889645 1.075315 0.024116301
|
||||
15700 100 1.8077023 1.8077023 1.0842652 0.031781756
|
||||
15800 100 2.0252655 2.0252655 1.1517407 0.037201818
|
||||
15900 100 2.1479427 2.1479427 1.2061238 0.027668435
|
||||
16000 100 2.1788838 2.1788838 1.2205599 0.029114273
|
||||
16100 100 2.3257431 2.3257431 1.2921157 0.035663063
|
||||
16200 100 2.3885449 2.3885449 1.3282237 0.032255517
|
||||
16300 100 2.3670966 2.3670966 1.3091694 0.029579008
|
||||
16400 100 2.5097781 2.5097781 1.3712036 0.034579196
|
||||
16500 100 2.6440883 2.6440883 1.4440043 0.03347813
|
||||
16600 100 2.7230084 2.7230084 1.481565 0.036660339
|
||||
16700 100 2.8246108 2.8246108 1.5298387 0.035623641
|
||||
16800 100 3.0338694 3.0338694 1.6333504 0.038818594
|
||||
16900 100 3.1219584 3.1219584 1.6790766 0.043444123
|
||||
17000 100 3.4103817 3.4103817 1.8222668 0.044524654
|
||||
17100 100 3.3869069 3.3869069 1.8170743 0.050670801
|
||||
17200 100 3.4220314 3.4220314 1.8312364 0.045956123
|
||||
17300 100 3.396894 3.396894 1.8158291 0.050420297
|
||||
17400 100 3.4508224 3.4508224 1.8429996 0.049923733
|
||||
17500 100 3.5039601 3.5039601 1.8822352 0.051047713
|
||||
17600 100 3.3743905 3.3743905 1.8380347 0.047922214
|
||||
17700 100 3.3729709 3.3729709 1.8224123 0.04758126
|
||||
17800 100 3.3237798 3.3237798 1.7962316 0.045427975
|
||||
17900 100 3.2441052 3.2441052 1.7782748 0.044651231
|
||||
18000 100 3.1169205 3.1169205 1.704639 0.047440495
|
||||
18100 100 3.1704608 3.1704608 1.7326375 0.045656546
|
||||
18200 100 3.1113438 3.1113438 1.7002232 0.041619255
|
||||
18300 100 3.2506111 3.2506111 1.7693075 0.048028527
|
||||
18400 100 3.3840681 3.3840681 1.8370672 0.04443243
|
||||
18500 100 3.4822823 3.4822823 1.9125273 0.043687118
|
||||
18600 100 3.5214372 3.5214372 1.9364829 0.049798605
|
||||
18700 100 3.5439229 3.5439229 1.9441301 0.046240266
|
||||
18800 100 3.6046761 3.6046761 1.9791448 0.054369382
|
||||
18900 100 3.8598403 3.8598403 2.0999449 0.049863074
|
||||
19000 100 3.8606461 3.8606461 2.0885493 0.050269245
|
||||
19100 100 4.076627 4.076627 2.2025766 0.058050893
|
||||
19200 100 3.8280814 3.8280814 2.0749884 0.05730905
|
||||
19300 100 3.8211633 3.8211633 2.0759453 0.05145071
|
||||
19400 100 3.7726284 3.7726284 2.0466555 0.053566404
|
||||
19500 100 3.7468403 3.7468403 2.03218 0.048422025
|
||||
19600 100 3.6408955 3.6408955 1.9873843 0.046565134
|
||||
19700 100 3.6454187 3.6454187 2.0042204 0.049299897
|
||||
19800 100 3.5165071 3.5165071 1.937379 0.046319859
|
||||
19900 100 3.4670702 3.4670702 1.9140316 0.045650114
|
||||
20000 100 3.6114294 3.6114294 1.9798674 0.05431148
|
||||
Loop time of 0.203164 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 10631806.993 tau/day, 24610.664 timesteps/s, 2.461 Matom-step/s
|
||||
92.3% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.01242 | 0.01242 | 0.01242 | 0.0 | 6.11
|
||||
Neigh | 0.044478 | 0.044478 | 0.044478 | 0.0 | 21.89
|
||||
Comm | 0.0057766 | 0.0057766 | 0.0057766 | 0.0 | 2.84
|
||||
Output | 0.00051702 | 0.00051702 | 0.00051702 | 0.0 | 0.25
|
||||
Modify | 0.12923 | 0.12923 | 0.12923 | 0.0 | 63.61
|
||||
Other | | 0.01074 | | | 5.29
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 142 ave 142 max 142 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 142
|
||||
Ave neighs/atom = 1.42
|
||||
Neighbor list builds = 909
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.837 | 5.837 | 5.837 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
20000 100 3.6114294 3.6114294 1.9798674 0.053887263
|
||||
20100 100 1.0907336 1.0907336 0.69799767 0.013925984
|
||||
20200 100 0.92304387 0.92304387 0.59520318 0.012377709
|
||||
20300 100 0.84004201 0.84004201 0.55081472 0.012108246
|
||||
20400 100 0.89491209 0.89491209 0.56269969 0.01221427
|
||||
20500 100 0.92011482 0.92011482 0.56971815 0.011353588
|
||||
20600 100 0.95722998 0.95722998 0.58038747 0.01185569
|
||||
20700 100 0.92635786 0.92635786 0.55373959 0.011953734
|
||||
20800 100 0.93088162 0.93088162 0.55094813 0.012887472
|
||||
20900 100 0.97288373 0.97288373 0.56309599 0.013731021
|
||||
21000 100 0.63378762 0.63378762 0.3779177 0.010114787
|
||||
21100 100 0.34618473 0.34618473 0.21652381 0.0070717708
|
||||
21200 100 0.18660008 0.18660008 0.1302051 0.006504227
|
||||
21300 100 0.13917709 0.13917709 0.09667499 0.0032593765
|
||||
21400 100 0.11627047 0.11627047 0.080272858 0.0028891045
|
||||
21500 100 0.086269781 0.086269781 0.064184981 0.0019374959
|
||||
21600 100 0.08052393 0.08052393 0.059561101 0.001214522
|
||||
21700 100 0.036026032 0.036026032 0.030243348 0.001199233
|
||||
21800 100 0.02392645 0.02392645 0.022284244 0.00060060634
|
||||
21900 100 0.016991266 0.016991266 0.017366625 0.00065672411
|
||||
22000 100 0.016974877 0.016974877 0.016399245 0.0005903103
|
||||
22100 100 0.015491818 0.015491818 0.014806105 0.00051181051
|
||||
22200 100 0.011908698 0.011908698 0.011206673 0.00099478656
|
||||
22300 100 0.010002714 0.010002714 0.0093749794 0.00028214624
|
||||
22400 100 0.0081652616 0.0081652616 0.0079594664 0.00026841276
|
||||
22500 100 0.0067602843 0.0067602843 0.0067498831 0.00019472612
|
||||
22600 100 0.0061024058 0.0061024058 0.0062958451 0.00016615781
|
||||
22700 100 0.005331422 0.005331422 0.0056152366 0.00021543475
|
||||
22800 100 0.0040796708 0.0040796708 0.004140932 0.00024397062
|
||||
22900 100 0.0042042089 0.0042042089 0.0040406804 0.00015880055
|
||||
23000 100 0.0056083872 0.0056083872 0.0046056699 0.00029203396
|
||||
23100 100 0.0035006398 0.0035006398 0.003343101 0.00010571574
|
||||
23200 100 0.0032402473 0.0032402473 0.003122476 0.00012784403
|
||||
23300 100 0.0030100724 0.0030100724 0.0029649423 8.5613724e-05
|
||||
23400 100 0.002746305 0.002746305 0.0027519317 9.6521844e-05
|
||||
23500 100 0.0028543876 0.0028543876 0.002842845 0.00012566665
|
||||
23600 100 0.0036979234 0.0036979234 0.0032448309 8.6321879e-05
|
||||
23700 100 0.0030503565 0.0030503565 0.0027392305 5.9716835e-05
|
||||
23800 100 0.0021564041 0.0021564041 0.0022097768 0.00028317769
|
||||
23900 100 0.0018905956 0.0018905956 0.0020002233 4.5205733e-05
|
||||
24000 100 0.0015705513 0.0015705513 0.0017262538 0.00026550225
|
||||
24100 100 0.0013341334 0.0013341334 0.0015663921 4.8307183e-05
|
||||
24200 100 0.0012426828 0.0012426828 0.0014960127 5.5195907e-05
|
||||
24300 100 0.0011933799 0.0011933799 0.0014508697 5.2781568e-05
|
||||
24400 100 0.0010126015 0.0010126015 0.0012821281 0.00011096457
|
||||
24500 100 0.00094102576 0.00094102576 0.0012265703 3.3454252e-05
|
||||
24600 100 0.00092243997 0.00092243997 0.0011970533 3.7288789e-05
|
||||
24700 100 0.00080565605 0.00080565605 0.0010864406 0.00015797228
|
||||
24800 100 0.00075303124 0.00075303124 0.0010103671 5.4727635e-05
|
||||
24900 100 0.00074808599 0.00074808599 0.0010053951 8.6607732e-05
|
||||
25000 100 0.00071720457 0.00071720457 0.00096622937 0.00015861964
|
||||
Loop time of 0.0845534 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 25545994.179 tau/day, 59134.246 timesteps/s, 5.913 Matom-step/s
|
||||
90.2% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0091411 | 0.0091411 | 0.0091411 | 0.0 | 10.81
|
||||
Neigh | 0.013557 | 0.013557 | 0.013557 | 0.0 | 16.03
|
||||
Comm | 0.0056205 | 0.0056205 | 0.0056205 | 0.0 | 6.65
|
||||
Output | 0.0005087 | 0.0005087 | 0.0005087 | 0.0 | 0.60
|
||||
Modify | 0.045578 | 0.045578 | 0.045578 | 0.0 | 53.90
|
||||
Other | | 0.01015 | | | 12.00
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 151 ave 151 max 151 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 151
|
||||
Ave neighs/atom = 1.51
|
||||
Neighbor list builds = 286
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
493
examples/granregion/log.15Sep22.granregion.box.g++.4
Normal file
493
examples/granregion/log.15Sep22.granregion.box.g++.4
Normal file
@ -0,0 +1,493 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pouring spheres into container box
|
||||
|
||||
units lj
|
||||
atom_style sphere
|
||||
boundary f f f
|
||||
dimension 3
|
||||
comm_modify vel yes
|
||||
|
||||
region box block -10 10 -10 10 -10 10 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
|
||||
pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1
|
||||
pair_coeff * * gran/hooke
|
||||
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 2 all nve/sphere
|
||||
fix 3 all gravity 1.0 vector 0 0 -1
|
||||
|
||||
region slab block -2 2 -2 2 -2 2 units box
|
||||
fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore
|
||||
Particle insertion: 48 every 566 steps, 100 by step 1133
|
||||
|
||||
timestep 0.005
|
||||
|
||||
compute 1 all temp
|
||||
compute_modify 1 dynamic/dof yes
|
||||
|
||||
compute 2 all temp/sphere
|
||||
compute_modify 2 dynamic/dof yes
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step atoms temp c_1 c_2 press
|
||||
thermo_modify lost ignore
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 31 31 31
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hooke, perpetual
|
||||
attributes: half, newton on, size
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.4843 | 0.4843 | 0.4843 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
0 0 0 0 0 0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
100 30 0.803783 0.803783 0.39507978 0.0029137134
|
||||
200 30 1.1967995 1.1967995 0.5882574 0.0043383984
|
||||
300 30 1.2814686 1.2814686 0.62987441 0.0046453238
|
||||
400 30 0.82331082 0.82331082 0.41173176 0.0029845017
|
||||
500 30 0.7708462 0.7708462 0.38777784 0.0043831147
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
600 64 0.51564897 0.51564897 0.26631577 0.0040059368
|
||||
700 64 0.57239348 0.57239348 0.29566901 0.0045075987
|
||||
800 64 0.61837087 0.61837087 0.32195387 0.0048123564
|
||||
900 64 0.53061888 0.53061888 0.28564763 0.0055906552
|
||||
1000 64 0.496299 0.496299 0.26801572 0.0061169128
|
||||
1100 64 0.46068308 0.46068308 0.24699057 0.0055717699
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
1200 99 0.39206225 0.39206225 0.21356546 0.0066294211
|
||||
1300 99 0.38624966 0.38624966 0.21345854 0.0049051051
|
||||
1400 99 0.35615284 0.35615284 0.19785725 0.0046170774
|
||||
1500 99 0.31486691 0.31486691 0.17429054 0.0064903404
|
||||
1600 99 0.26369 0.26369 0.15095263 0.0045226821
|
||||
1700 100 0.19259352 0.19259352 0.11308184 0.0073603886
|
||||
1800 100 0.1372448 0.1372448 0.083273652 0.0058163062
|
||||
1900 100 0.077253038 0.077253038 0.053166156 0.0017440856
|
||||
2000 100 0.065472093 0.065472093 0.04375349 0.0018416047
|
||||
2100 100 0.057213469 0.057213469 0.037773954 0.001226231
|
||||
2200 100 0.058857437 0.058857437 0.0372655 0.00090812381
|
||||
2300 100 0.035066108 0.035066108 0.025934054 0.00072114554
|
||||
2400 100 0.021272125 0.021272125 0.016635107 0.0018506654
|
||||
2500 100 0.015530432 0.015530432 0.012533546 0.0013883971
|
||||
2600 100 0.012603946 0.012603946 0.0096981459 0.00038648118
|
||||
2700 100 0.0097347475 0.0097347475 0.0076016624 0.00057313888
|
||||
2800 100 0.0067081771 0.0067081771 0.0056944431 0.00085080075
|
||||
2900 100 0.0089177981 0.0089177981 0.0065036822 0.00028986539
|
||||
3000 100 0.0057840287 0.0057840287 0.0044989265 0.00016111737
|
||||
3100 100 0.0038909621 0.0038909621 0.0031511938 0.0001708892
|
||||
3200 100 0.0029043214 0.0029043214 0.0025807767 9.2473673e-05
|
||||
3300 100 0.0022769336 0.0022769336 0.0021487157 0.00022312666
|
||||
3400 100 0.0015571397 0.0015571397 0.0016669068 0.0003381372
|
||||
3500 100 0.0015978184 0.0015978184 0.001707772 4.9930818e-05
|
||||
3600 100 0.0023358916 0.0023358916 0.0020709426 9.7687609e-05
|
||||
3700 100 0.0011186736 0.0011186736 0.0012146914 9.3338234e-05
|
||||
3800 100 0.0011657036 0.0011657036 0.0012313764 3.1931251e-05
|
||||
3900 100 0.0014998387 0.0014998387 0.0014015491 2.4226798e-05
|
||||
4000 100 0.0010858335 0.0010858335 0.0010623286 1.6359241e-05
|
||||
4100 100 0.0010464314 0.0010464314 0.0010123557 1.2949588e-05
|
||||
4200 100 0.0010022428 0.0010022428 0.00097338971 1.2402332e-05
|
||||
4300 100 0.00080622372 0.00080622372 0.00084329652 0.00033857037
|
||||
4400 100 0.00073613921 0.00073613921 0.00078373608 1.0103949e-05
|
||||
4500 100 0.00071402196 0.00071402196 0.00076658004 8.8360218e-06
|
||||
4600 100 0.00064851765 0.00064851765 0.00071533461 1.0736438e-05
|
||||
4700 100 0.00061146699 0.00061146699 0.00068274687 4.1341755e-06
|
||||
4800 100 0.00059511472 0.00059511472 0.0006625527 7.3645447e-06
|
||||
4900 100 0.00057700347 0.00057700347 0.0006468562 1.5411897e-05
|
||||
5000 100 0.00056205001 0.00056205001 0.00063592505 7.8813845e-06
|
||||
Loop time of 0.0856033 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 25232672.400 tau/day, 58408.964 timesteps/s, 5.841 Matom-step/s
|
||||
88.4% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0034695 | 0.0050634 | 0.0068805 | 2.2 | 5.91
|
||||
Neigh | 0.0016916 | 0.0024175 | 0.0032212 | 1.5 | 2.82
|
||||
Comm | 0.020003 | 0.026482 | 0.033796 | 3.5 | 30.94
|
||||
Output | 0.0010864 | 0.001327 | 0.0014374 | 0.4 | 1.55
|
||||
Modify | 0.0067352 | 0.015857 | 0.025751 | 7.2 | 18.52
|
||||
Other | | 0.03446 | | | 40.25
|
||||
|
||||
Nlocal: 25 ave 53 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Nghost: 4 ave 8 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 40.5 ave 92 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 162
|
||||
Ave neighs/atom = 1.62
|
||||
Neighbor list builds = 288
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-5000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 31 31 31
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hooke, perpetual
|
||||
attributes: half, newton on, size
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.734 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
5000 100 0.00056205001 0.00056205001 0.00063592505 7.871665e-06
|
||||
5100 100 0.59585977 0.59585977 0.32464933 0.0141718
|
||||
5200 100 0.67306764 0.67306764 0.35872096 0.013373672
|
||||
5300 100 0.76065187 0.76065187 0.39925025 0.011460301
|
||||
5400 100 0.87984446 0.87984446 0.45261417 0.013937042
|
||||
5500 100 0.95548319 0.95548319 0.48706892 0.013601658
|
||||
5600 100 0.9993278 0.9993278 0.50830306 0.015663766
|
||||
5700 100 1.0449415 1.0449415 0.52967249 0.016797841
|
||||
5800 100 1.0767598 1.0767598 0.54508699 0.016128855
|
||||
5900 100 1.118688 1.118688 0.56530849 0.016830117
|
||||
6000 100 1.1535698 1.1535698 0.58290663 0.01715335
|
||||
6100 100 1.1753828 1.1753828 0.59419088 0.019273207
|
||||
6200 100 1.1994171 1.1994171 0.60433264 0.018391566
|
||||
6300 100 1.2244707 1.2244707 0.61626199 0.018842556
|
||||
6400 100 1.2507994 1.2507994 0.62829386 0.019538413
|
||||
6500 100 1.2684644 1.2684644 0.63747702 0.020794729
|
||||
6600 100 1.2704726 1.2704726 0.63929889 0.020253985
|
||||
6700 100 1.2737302 1.2737302 0.63970688 0.020858602
|
||||
6800 100 1.287922 1.287922 0.64460894 0.021589773
|
||||
6900 100 1.3028782 1.3028782 0.65197802 0.02135295
|
||||
7000 100 1.306633 1.306633 0.65371741 0.021291182
|
||||
7100 100 1.3161393 1.3161393 0.65785404 0.022554896
|
||||
7200 100 1.3228158 1.3228158 0.6609031 0.021811977
|
||||
7300 100 1.3245632 1.3245632 0.66161966 0.02206776
|
||||
7400 100 1.3266822 1.3266822 0.662738 0.022070761
|
||||
7500 100 1.3265138 1.3265138 0.6624472 0.021944768
|
||||
7600 100 1.3286802 1.3286802 0.66338775 0.0219393
|
||||
7700 100 1.332829 1.332829 0.66547051 0.022142398
|
||||
7800 100 1.3323535 1.3323535 0.66534513 0.022787777
|
||||
7900 100 1.3372424 1.3372424 0.66777556 0.02192759
|
||||
8000 100 1.3396201 1.3396201 0.66910123 0.022439596
|
||||
8100 100 1.3422271 1.3422271 0.67060566 0.023784952
|
||||
8200 100 1.3468062 1.3468062 0.6728991 0.02243345
|
||||
8300 100 1.3439408 1.3439408 0.6717529 0.022312339
|
||||
8400 100 1.3484134 1.3484134 0.67346027 0.022770922
|
||||
8500 100 1.3490032 1.3490032 0.67378177 0.022427863
|
||||
8600 100 1.349789 1.349789 0.67398897 0.022494049
|
||||
8700 100 1.3513512 1.3513512 0.67475613 0.022413559
|
||||
8800 100 1.3535168 1.3535168 0.67589784 0.022356566
|
||||
8900 100 1.3505765 1.3505765 0.67442168 0.022240615
|
||||
9000 100 1.3499918 1.3499918 0.67419831 0.02226049
|
||||
9100 100 1.3518103 1.3518103 0.67489482 0.022399038
|
||||
9200 100 1.3526275 1.3526275 0.67529852 0.022395079
|
||||
9300 100 1.353741 1.353741 0.67585205 0.022471008
|
||||
9400 100 1.3538758 1.3538758 0.67589523 0.022461734
|
||||
9500 100 1.3537199 1.3537199 0.67586527 0.022370169
|
||||
9600 100 1.3539788 1.3539788 0.67602899 0.022400771
|
||||
9700 100 1.3544874 1.3544874 0.67619552 0.022648464
|
||||
9800 100 1.3555422 1.3555422 0.67666186 0.022367319
|
||||
9900 100 1.3560106 1.3560106 0.6768751 0.02236585
|
||||
10000 100 1.3563578 1.3563578 0.6770434 0.022359307
|
||||
Loop time of 0.139615 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 15471121.710 tau/day, 35812.782 timesteps/s, 3.581 Matom-step/s
|
||||
89.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0034672 | 0.011349 | 0.019511 | 7.2 | 8.13
|
||||
Neigh | 0.0032972 | 0.0053674 | 0.0074946 | 2.8 | 3.84
|
||||
Comm | 0.011049 | 0.018572 | 0.027876 | 5.6 | 13.30
|
||||
Output | 0.0010807 | 0.0015593 | 0.0018738 | 0.8 | 1.12
|
||||
Modify | 0.013556 | 0.040435 | 0.066715 | 13.0 | 28.96
|
||||
Other | | 0.06233 | | | 44.65
|
||||
|
||||
Nlocal: 25 ave 52 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 3 ave 6 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 48.25 ave 109 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 193
|
||||
Ave neighs/atom = 1.93
|
||||
Neighbor list builds = 626
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
10000 100 1.3563578 1.3563578 0.6770434 0.022433108
|
||||
10100 100 0.32881547 0.32881547 0.18968913 0.0063460187
|
||||
10200 100 0.19880113 0.19880113 0.12812646 0.0074601538
|
||||
10300 100 0.12614062 0.12614062 0.090121373 0.0028337336
|
||||
10400 100 0.088358363 0.088358363 0.067236815 0.0020269846
|
||||
10500 100 0.071199344 0.071199344 0.055567135 0.0016191769
|
||||
10600 100 0.053909616 0.053909616 0.042301996 0.00098643468
|
||||
10700 100 0.039560745 0.039560745 0.032482256 0.00089240864
|
||||
10800 100 0.032130432 0.032130432 0.02705329 0.00058669881
|
||||
10900 100 0.02462494 0.02462494 0.021121496 0.0017376127
|
||||
11000 100 0.020941068 0.020941068 0.017866781 0.00031112553
|
||||
11100 100 0.016775675 0.016775675 0.014620214 0.00026856842
|
||||
11200 100 0.015005732 0.015005732 0.012803923 0.00067036626
|
||||
11300 100 0.012099209 0.012099209 0.010308221 0.00032666902
|
||||
11400 100 0.010559421 0.010559421 0.0090243729 0.00013645685
|
||||
11500 100 0.0093738615 0.0093738615 0.0080176514 0.00098541099
|
||||
11600 100 0.0081900702 0.0081900702 0.0070256953 0.00025935992
|
||||
11700 100 0.0068100165 0.0068100165 0.0058703223 0.00014866816
|
||||
11800 100 0.0060475708 0.0060475708 0.0052518105 0.00017895168
|
||||
11900 100 0.0055607485 0.0055607485 0.0047184164 0.00011358846
|
||||
12000 100 0.0053149064 0.0053149064 0.0045168418 0.00015222428
|
||||
12100 100 0.0050909525 0.0050909525 0.0043196952 6.3000537e-05
|
||||
12200 100 0.0041810842 0.0041810842 0.0036835522 4.6423956e-05
|
||||
12300 100 0.0034305227 0.0034305227 0.0031222649 0.00020251115
|
||||
12400 100 0.0031763077 0.0031763077 0.0028956456 0.00030307787
|
||||
12500 100 0.0027440829 0.0027440829 0.0025087304 0.00010418607
|
||||
12600 100 0.0024581964 0.0024581964 0.0022200229 3.042018e-05
|
||||
12700 100 0.002259527 0.002259527 0.0020708869 4.192368e-05
|
||||
12800 100 0.0019143448 0.0019143448 0.0018088032 4.6200439e-05
|
||||
12900 100 0.0017935964 0.0017935964 0.0017028317 2.2195756e-05
|
||||
13000 100 0.0017286429 0.0017286429 0.0016396753 2.3108871e-05
|
||||
13100 100 0.0017055291 0.0017055291 0.0016122058 2.2444611e-05
|
||||
13200 100 0.0016539275 0.0016539275 0.0015570166 2.0467353e-05
|
||||
13300 100 0.0015777788 0.0015777788 0.0014852505 1.9525012e-05
|
||||
13400 100 0.0015372199 0.0015372199 0.0014497102 2.3203566e-05
|
||||
13500 100 0.0015066638 0.0015066638 0.0014097203 1.8644964e-05
|
||||
13600 100 0.0012290618 0.0012290618 0.0012056216 1.3235643e-05
|
||||
13700 100 0.0011781948 0.0011781948 0.0011685226 3.4312262e-05
|
||||
13800 100 0.0011530136 0.0011530136 0.0011433171 2.8832126e-05
|
||||
13900 100 0.0011085224 0.0011085224 0.0011052764 1.444139e-05
|
||||
14000 100 0.0010656788 0.0010656788 0.0010702461 1.3187775e-05
|
||||
14100 100 0.001029277 0.001029277 0.0010469537 1.2837267e-05
|
||||
14200 100 0.0009750904 0.0009750904 0.0009915384 1.209089e-05
|
||||
14300 100 0.00094893337 0.00094893337 0.00096909301 1.1743051e-05
|
||||
14400 100 0.00087708427 0.00087708427 0.00087575318 1.9027338e-05
|
||||
14500 100 0.00086229913 0.00086229913 0.0008643568 1.0670952e-05
|
||||
14600 100 0.00084206808 0.00084206808 0.0008268172 3.2391722e-05
|
||||
14700 100 0.00077682873 0.00077682873 0.00077186085 9.6132555e-06
|
||||
14800 100 0.00074736908 0.00074736908 0.00074958372 9.2486924e-06
|
||||
14900 100 0.00074456847 0.00074456847 0.00074779946 9.2140349e-06
|
||||
15000 100 0.00073830282 0.00073830282 0.0007426924 9.1364974e-06
|
||||
Loop time of 0.0808149 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 26727738.394 tau/day, 61869.765 timesteps/s, 6.187 Matom-step/s
|
||||
86.6% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0034354 | 0.0050332 | 0.0069329 | 2.2 | 6.23
|
||||
Neigh | 0.00051999 | 0.00084906 | 0.0012075 | 0.0 | 1.05
|
||||
Comm | 0.0063631 | 0.014527 | 0.023754 | 6.8 | 17.98
|
||||
Output | 0.0010373 | 0.001342 | 0.001464 | 0.5 | 1.66
|
||||
Modify | 0.0051837 | 0.017338 | 0.031605 | 9.3 | 21.45
|
||||
Other | | 0.04173 | | | 51.63
|
||||
|
||||
Nlocal: 25 ave 53 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Nghost: 3.75 ave 8 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Neighs: 39.25 ave 82 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 157
|
||||
Ave neighs/atom = 1.57
|
||||
Neighbor list builds = 100
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-15000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.609 | 5.672 | 5.735 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
15000 100 0.00073830282 0.00073830282 0.0007426924 9.1364974e-06
|
||||
15100 100 1.1048281 1.1048281 0.7023727 0.018379275
|
||||
15200 100 1.2022249 1.2022249 0.77748962 0.015662439
|
||||
15300 100 1.2561351 1.2561351 0.82563065 0.01835048
|
||||
15400 100 1.4372446 1.4372446 0.92907923 0.02087065
|
||||
15500 100 1.6414713 1.6414713 1.0284489 0.025654324
|
||||
15600 100 1.7844655 1.7844655 1.0861866 0.025170346
|
||||
15700 100 2.034248 2.034248 1.2017171 0.040341642
|
||||
15800 100 2.1253699 2.1253699 1.2228657 0.029297194
|
||||
15900 100 2.1940232 2.1940232 1.2470589 0.033866758
|
||||
16000 100 2.2624419 2.2624419 1.2828225 0.030063645
|
||||
16100 100 2.3208536 2.3208536 1.3118956 0.0323489
|
||||
16200 100 2.3564971 2.3564971 1.3261173 0.032882494
|
||||
16300 100 2.3956066 2.3956066 1.3260307 0.03292972
|
||||
16400 100 2.5025831 2.5025831 1.3817693 0.031132988
|
||||
16500 100 2.5947914 2.5947914 1.4152657 0.036126782
|
||||
16600 100 2.7688769 2.7688769 1.4975686 0.037497127
|
||||
16700 100 2.812503 2.812503 1.5216659 0.039316167
|
||||
16800 100 2.8977424 2.8977424 1.5599254 0.039996029
|
||||
16900 100 3.045802 3.045802 1.6332888 0.041406156
|
||||
17000 100 3.2195366 3.2195366 1.7247171 0.040023634
|
||||
17100 100 3.2597294 3.2597294 1.7527958 0.04828292
|
||||
17200 100 3.293587 3.293587 1.7693254 0.044001441
|
||||
17300 100 3.1861836 3.1861836 1.7142076 0.049158822
|
||||
17400 100 3.4593561 3.4593561 1.8426619 0.053469673
|
||||
17500 100 3.3813767 3.3813767 1.8079958 0.058776299
|
||||
17600 100 3.5834203 3.5834203 1.9094759 0.053256842
|
||||
17700 100 3.2243306 3.2243306 1.7425111 0.064354789
|
||||
17800 100 3.358228 3.358228 1.8202932 0.046798524
|
||||
17900 100 3.2257908 3.2257908 1.7678964 0.043655204
|
||||
18000 100 3.237732 3.237732 1.7598181 0.050850672
|
||||
18100 100 3.2042441 3.2042441 1.751979 0.045582006
|
||||
18200 100 3.1562775 3.1562775 1.7336068 0.042210739
|
||||
18300 100 3.2630507 3.2630507 1.7925333 0.046412778
|
||||
18400 100 3.4150588 3.4150588 1.8668408 0.044386435
|
||||
18500 100 3.4913198 3.4913198 1.9125495 0.043329829
|
||||
18600 100 3.5290036 3.5290036 1.9184098 0.048302721
|
||||
18700 100 3.4852698 3.4852698 1.8865833 0.059566124
|
||||
18800 100 3.7157551 3.7157551 2.0082235 0.051356305
|
||||
18900 100 3.9504619 3.9504619 2.1377018 0.051553987
|
||||
19000 100 3.9711274 3.9711274 2.1549121 0.051555312
|
||||
19100 100 3.90954 3.90954 2.1135174 0.0548311
|
||||
19200 100 4.0672819 4.0672819 2.1837089 0.064431553
|
||||
19300 100 3.998355 3.998355 2.1572884 0.056830399
|
||||
19400 100 3.9172127 3.9172127 2.1130164 0.051264041
|
||||
19500 100 3.9120291 3.9120291 2.1088399 0.052545115
|
||||
19600 100 3.8613614 3.8613614 2.0752883 0.055466569
|
||||
19700 100 3.8428824 3.8428824 2.0787804 0.05129261
|
||||
19800 100 3.5686751 3.5686751 1.9356553 0.059177256
|
||||
19900 100 3.5573788 3.5573788 1.9430183 0.054618794
|
||||
20000 100 3.5453022 3.5453022 1.9413343 0.047640543
|
||||
Loop time of 0.13841 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 15605800.739 tau/day, 36124.539 timesteps/s, 3.612 Matom-step/s
|
||||
89.0% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0047469 | 0.0062771 | 0.0080644 | 1.5 | 4.54
|
||||
Neigh | 0.0062517 | 0.0079248 | 0.0094271 | 1.3 | 5.73
|
||||
Comm | 0.047109 | 0.048595 | 0.050543 | 0.6 | 35.11
|
||||
Output | 0.0011807 | 0.0013428 | 0.0015517 | 0.4 | 0.97
|
||||
Modify | 0.022766 | 0.033256 | 0.039993 | 3.5 | 24.03
|
||||
Other | | 0.04101 | | | 29.63
|
||||
|
||||
Nlocal: 25 ave 36 max 13 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
Nghost: 5 ave 9 max 2 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Neighs: 37.5 ave 53 max 15 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
|
||||
Total # of neighbors = 150
|
||||
Ave neighs/atom = 1.5
|
||||
Neighbor list builds = 913
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.734 | 5.735 | 5.735 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
20000 100 3.5453022 3.5453022 1.9413343 0.047178052
|
||||
20100 100 1.0878587 1.0878587 0.68666704 0.016139979
|
||||
20200 100 1.0230655 1.0230655 0.63593494 0.014642345
|
||||
20300 100 0.94958824 0.94958824 0.59306601 0.011745659
|
||||
20400 100 0.93038108 0.93038108 0.57232527 0.01154829
|
||||
20500 100 0.92183816 0.92183816 0.55466942 0.01212559
|
||||
20600 100 1.0175846 1.0175846 0.59940035 0.013815361
|
||||
20700 100 1.0564615 1.0564615 0.60726745 0.013073711
|
||||
20800 100 0.99967869 0.99967869 0.57665019 0.012450813
|
||||
20900 100 0.97051084 0.97051084 0.5574217 0.015686955
|
||||
21000 100 0.639185 0.639185 0.37441942 0.017594616
|
||||
21100 100 0.24979014 0.24979014 0.17121567 0.0084027295
|
||||
21200 100 0.15147941 0.15147941 0.11124349 0.0030435746
|
||||
21300 100 0.13117502 0.13117502 0.091432638 0.0029110318
|
||||
21400 100 0.11158272 0.11158272 0.076264692 0.0021951204
|
||||
21500 100 0.056660993 0.056660993 0.043503807 0.0010993096
|
||||
21600 100 0.028640836 0.028640836 0.026000267 0.0010440792
|
||||
21700 100 0.025816483 0.025816483 0.021922896 0.00081674646
|
||||
21800 100 0.023929555 0.023929555 0.019936972 0.0010383614
|
||||
21900 100 0.022271339 0.022271339 0.017947505 0.0014630387
|
||||
22000 100 0.019277834 0.019277834 0.015483116 0.00058751407
|
||||
22100 100 0.019997809 0.019997809 0.015919504 0.00064176101
|
||||
22200 100 0.015870543 0.015870543 0.01244838 0.0004205505
|
||||
22300 100 0.011797587 0.011797587 0.0096491363 0.00034907063
|
||||
22400 100 0.010745212 0.010745212 0.008874218 0.00035427537
|
||||
22500 100 0.0082372399 0.0082372399 0.0071217811 0.00028179943
|
||||
22600 100 0.007942576 0.007942576 0.0067248822 0.001507115
|
||||
22700 100 0.0061733667 0.0061733667 0.0053092324 0.00056018554
|
||||
22800 100 0.0058287651 0.0058287651 0.004972189 0.00023807695
|
||||
22900 100 0.0051352339 0.0051352339 0.004324157 0.00020849263
|
||||
23000 100 0.0040107769 0.0040107769 0.0035769703 0.00022626101
|
||||
23100 100 0.0040288854 0.0040288854 0.0034355474 0.00019107621
|
||||
23200 100 0.003277858 0.003277858 0.0030013165 0.00016119888
|
||||
23300 100 0.0033633749 0.0033633749 0.0030188927 0.00014459404
|
||||
23400 100 0.003468042 0.003468042 0.0030079205 0.00013778427
|
||||
23500 100 0.0027616702 0.0027616702 0.0024994596 0.00011834915
|
||||
23600 100 0.0022531303 0.0022531303 0.0021182802 0.0002279623
|
||||
23700 100 0.002067768 0.002067768 0.0019631752 0.00014341503
|
||||
23800 100 0.0020069255 0.0020069255 0.0019209587 0.00010673435
|
||||
23900 100 0.0019630617 0.0019630617 0.0018748221 0.00011856923
|
||||
24000 100 0.0018800646 0.0018800646 0.0018190347 0.00010707562
|
||||
24100 100 0.0018028137 0.0018028137 0.0017067233 0.00010884117
|
||||
24200 100 0.0017278932 0.0017278932 0.0016251004 0.00013664683
|
||||
24300 100 0.0016373288 0.0016373288 0.0015529481 0.00010025414
|
||||
24400 100 0.0019876848 0.0019876848 0.0016912033 0.00011235942
|
||||
24500 100 0.0013677345 0.0013677345 0.0012839488 7.8669645e-05
|
||||
24600 100 0.0012852614 0.0012852614 0.0012065052 0.00010172361
|
||||
24700 100 0.0011145002 0.0011145002 0.0010748344 7.5021689e-05
|
||||
24800 100 0.0012860792 0.0012860792 0.0011429675 5.7939624e-05
|
||||
24900 100 0.00097198499 0.00097198499 0.00096175911 5.443837e-05
|
||||
25000 100 0.00096224466 0.00096224466 0.00095159089 5.4245409e-05
|
||||
Loop time of 0.0846408 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 25519602.289 tau/day, 59073.153 timesteps/s, 5.907 Matom-step/s
|
||||
82.3% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0035473 | 0.0055294 | 0.0082454 | 2.7 | 6.53
|
||||
Neigh | 0.0016391 | 0.0022521 | 0.0028115 | 1.1 | 2.66
|
||||
Comm | 0.014697 | 0.021565 | 0.029045 | 4.1 | 25.48
|
||||
Output | 0.0010785 | 0.00132 | 0.0014171 | 0.4 | 1.56
|
||||
Modify | 0.0059648 | 0.01618 | 0.027615 | 7.9 | 19.12
|
||||
Other | | 0.03779 | | | 44.65
|
||||
|
||||
Nlocal: 25 ave 56 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Nghost: 5.5 ave 12 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Neighs: 40 ave 101 max 0 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 160
|
||||
Ave neighs/atom = 1.6
|
||||
Neighbor list builds = 275
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
633
examples/granregion/log.15Sep22.granregion.funnel.g++.1
Normal file
633
examples/granregion/log.15Sep22.granregion.funnel.g++.1
Normal file
@ -0,0 +1,633 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pour particles into cone-shaped funnel, settle them, let them run out bottom
|
||||
|
||||
variable name string funnel_pour
|
||||
|
||||
thermo_modify flush yes
|
||||
units si
|
||||
variable PI equal 3.141592653589
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable xlo equal 10
|
||||
variable xhi equal 40
|
||||
variable ylo equal 10
|
||||
variable yhi equal 40
|
||||
variable zlo equal -20
|
||||
variable zhi equal 50
|
||||
|
||||
variable xc equal 25
|
||||
variable yc equal 25
|
||||
|
||||
variable zconehi equal 50
|
||||
variable zconelo equal 10
|
||||
variable zcyllo equal 0
|
||||
variable radconelo equal 2
|
||||
variable radconehi equal 20
|
||||
|
||||
################################################
|
||||
# Particle sizes
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.5
|
||||
|
||||
###############################################
|
||||
# Granular contact parameters
|
||||
###############################################
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable density equal 1.0
|
||||
variable EYoung equal 10^5
|
||||
variable Poisson equal 2.0/7.0
|
||||
variable GShear equal ${EYoung}/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+0.285714285714286))
|
||||
|
||||
variable gravity equal 1.0
|
||||
|
||||
variable reff equal 0.5*(${rhi}+${rlo})
|
||||
variable reff equal 0.5*(0.5+${rlo})
|
||||
variable reff equal 0.5*(0.5+0.25)
|
||||
variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*0.375^3
|
||||
variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25
|
||||
variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5
|
||||
|
||||
## Typical way to set kn, kt, etc.:
|
||||
variable kn equal 4.0*${GShear}/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286))
|
||||
variable kt equal 4.0*${GShear}/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-0.285714285714286)
|
||||
|
||||
variable a equal (-2.0*log(${coeffRes})/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/3.141592653589)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 903.503751814138*0.5
|
||||
|
||||
variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.05
|
||||
variable dt equal 0.00210943016014969*0.05
|
||||
timestep ${dt}
|
||||
timestep 0.000105471508007485
|
||||
|
||||
###############################################
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton off
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 50
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (10 10 -20) to (40 40 50)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} multi
|
||||
neighbor 0.5 multi
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Balancing ...
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 30, bins = 1 1 3
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton off, size, history
|
||||
pair build: half/size/multi/newtoff
|
||||
stencil: full/multi/3d
|
||||
bin: multi
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
# insertion region for fix/pour
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 25 10 30 50 side in units box
|
||||
|
||||
# define cone and cylinder regions - see lammps doc on region command
|
||||
# note new open options
|
||||
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 2
|
||||
|
||||
region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open
|
||||
region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 conereg cylreg
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 3000 every 59965 steps, 2000 by step 1
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
# Initial run to fill up the cone
|
||||
|
||||
run 20000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.648 | 6.648 | 6.648 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
0 0 0 -0
|
||||
1000 0.39961733 2000 -0
|
||||
2000 0.61811961 2000 -0
|
||||
3000 0.83512725 2000 -0
|
||||
4000 1.0492881 2000 -0
|
||||
5000 1.2650657 2000 -0
|
||||
6000 1.479921 2000 -0
|
||||
7000 1.6970993 2000 -0
|
||||
8000 1.9107924 2000 -0
|
||||
9000 2.1251713 2000 -0
|
||||
10000 2.3403682 2000 -0
|
||||
11000 2.549912 2000 -0
|
||||
12000 2.7584788 2000 -0
|
||||
13000 2.9712482 2000 -0
|
||||
14000 3.1877015 2000 -0
|
||||
15000 3.4017175 2000 -0
|
||||
16000 3.6127477 2000 -0
|
||||
17000 3.8250134 2000 -0
|
||||
18000 4.0320643 2000 -0
|
||||
19000 4.2371057 2000 -0
|
||||
20000 4.4450882 2000 -0
|
||||
Loop time of 4.44512 on 1 procs for 20000 steps with 2000 atoms
|
||||
|
||||
98.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.40438 | 0.40438 | 0.40438 | 0.0 | 9.10
|
||||
Neigh | 0.078634 | 0.078634 | 0.078634 | 0.0 | 1.77
|
||||
Comm | 0.01999 | 0.01999 | 0.01999 | 0.0 | 0.45
|
||||
Output | 0.00069031 | 0.00069031 | 0.00069031 | 0.0 | 0.02
|
||||
Modify | 3.795 | 3.795 | 3.795 | 0.0 | 85.38
|
||||
Other | | 0.1464 | | | 3.29
|
||||
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1607 ave 1607 max 1607 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1607
|
||||
Ave neighs/atom = 0.8035
|
||||
Neighbor list builds = 71
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 150000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
20000 0 2000 6652.2957
|
||||
21000 0.2135317 2000 6807.2201
|
||||
22000 0.4235523 2000 6973.9359
|
||||
23000 0.63502794 2000 7142.3648
|
||||
24000 0.84593615 2000 7276.9717
|
||||
25000 1.0580291 2000 7369.4191
|
||||
26000 1.2719892 2000 7497.6526
|
||||
27000 1.4843056 2000 7638.946
|
||||
28000 1.9685336 2000 7780.0339
|
||||
29000 2.1850097 2000 7881.8177
|
||||
30000 2.4033006 2000 7967.2641
|
||||
31000 2.6219694 2000 7994.9273
|
||||
32000 2.8455468 2000 7937.0671
|
||||
33000 3.0720066 2000 7774.0508
|
||||
34000 3.3070513 2000 7591.1491
|
||||
35000 3.5468777 2000 7357.5176
|
||||
36000 3.7908265 2000 7147.2024
|
||||
37000 4.0388657 2000 6979.1604
|
||||
38000 4.2873223 2000 6813.2152
|
||||
39000 4.5424244 2000 6660.2701
|
||||
40000 4.8055367 2000 6502.8957
|
||||
41000 5.0754561 2000 6324.3951
|
||||
42000 5.3564118 2000 6132.7516
|
||||
43000 5.6357256 2000 5913.1841
|
||||
44000 5.9130645 2000 5732.2095
|
||||
45000 6.1943539 2000 5508.8322
|
||||
46000 6.4862302 2000 5306.8932
|
||||
47000 6.7796417 2000 5152.0521
|
||||
48000 7.0750069 2000 5028.2274
|
||||
49000 7.3705252 2000 4896.102
|
||||
50000 7.6693894 2000 4723.5189
|
||||
51000 7.9685182 2000 4583.7526
|
||||
52000 8.2774033 2000 4447.0187
|
||||
53000 8.591482 2000 4303.2307
|
||||
54000 8.9156439 2000 4168.5251
|
||||
55000 9.2437364 2000 4036.9704
|
||||
56000 9.5745684 2000 3901.1183
|
||||
57000 9.9173689 2000 3716.7071
|
||||
58000 10.270229 2000 3473.5422
|
||||
59000 10.629101 2000 3245.1223
|
||||
60000 10.989479 2000 3039.7845
|
||||
61000 11.349843 2000 2780.0187
|
||||
62000 11.716916 2000 2577.3345
|
||||
63000 12.093666 2000 2346.2488
|
||||
64000 12.474788 2000 2116.7298
|
||||
65000 12.861438 2000 1903.7828
|
||||
66000 13.25464 2000 1631.1676
|
||||
67000 13.658382 2000 1431.0198
|
||||
68000 14.067584 2000 1212.875
|
||||
69000 14.480877 2000 995.45046
|
||||
70000 14.894765 2000 811.54766
|
||||
71000 15.309158 2000 624.08622
|
||||
72000 15.732937 2000 471.00862
|
||||
73000 16.158388 2000 358.33486
|
||||
74000 16.583847 2000 284.39416
|
||||
75000 17.008335 2000 234.26671
|
||||
76000 17.429582 2000 185.61836
|
||||
77000 17.852799 2000 152.95918
|
||||
78000 18.276783 2000 122.49023
|
||||
79000 18.697016 2000 102.29396
|
||||
80000 19.12318 2000 86.284684
|
||||
81000 19.54992 2000 73.984781
|
||||
82000 19.986149 2000 63.042918
|
||||
83000 20.430305 2000 53.338428
|
||||
84000 20.876061 2000 45.89585
|
||||
85000 21.32714 2000 40.412826
|
||||
86000 21.781352 2000 34.183381
|
||||
87000 22.238656 2000 29.671524
|
||||
88000 22.698093 2000 26.90414
|
||||
89000 23.160614 2000 24.362631
|
||||
90000 23.630639 2000 21.887341
|
||||
91000 24.095463 2000 19.985662
|
||||
92000 24.570659 2000 18.728162
|
||||
93000 25.047431 2000 16.99941
|
||||
94000 25.549041 2000 15.71941
|
||||
95000 26.03281 2000 14.744057
|
||||
96000 26.513659 2000 14.214918
|
||||
97000 26.998918 2000 13.450182
|
||||
98000 27.486584 2000 12.79222
|
||||
99000 27.986785 2000 12.10595
|
||||
100000 28.48799 2000 11.281863
|
||||
101000 28.986622 2000 10.025419
|
||||
102000 29.491312 2000 9.9574468
|
||||
103000 29.999421 2000 9.4078117
|
||||
104000 30.507211 2000 8.9079161
|
||||
105000 31.016484 2000 8.6269302
|
||||
106000 31.527511 2000 8.5512649
|
||||
107000 32.042612 2000 8.4703948
|
||||
108000 32.555041 2000 8.2747542
|
||||
109000 33.07064 2000 8.2895118
|
||||
110000 33.593773 2000 8.1785613
|
||||
111000 34.107129 2000 7.8443234
|
||||
112000 34.619185 2000 7.7436124
|
||||
113000 35.13418 2000 7.8118604
|
||||
114000 35.653352 2000 7.3806177
|
||||
115000 36.179577 2000 7.0857235
|
||||
116000 36.69882 2000 7.1346752
|
||||
117000 37.224612 2000 7.0653751
|
||||
118000 37.756738 2000 6.6314104
|
||||
119000 38.283151 2000 6.2169614
|
||||
120000 38.808288 2000 5.8988829
|
||||
121000 39.334913 2000 5.4197277
|
||||
122000 39.862081 2000 4.6381303
|
||||
123000 40.390252 2000 4.4949206
|
||||
124000 40.920744 2000 4.4261118
|
||||
125000 41.4469 2000 4.4223703
|
||||
126000 41.977937 2000 4.4858898
|
||||
127000 42.51483 2000 4.3312536
|
||||
128000 43.046324 2000 3.7124973
|
||||
129000 43.573687 2000 3.5467396
|
||||
130000 44.103102 2000 3.5104139
|
||||
131000 44.629869 2000 3.5725612
|
||||
132000 45.156621 2000 3.669455
|
||||
133000 45.69364 2000 3.6168912
|
||||
134000 46.23133 2000 3.3598517
|
||||
135000 46.765487 2000 3.3743407
|
||||
136000 47.323693 2000 3.1109764
|
||||
137000 47.881617 2000 3.0720146
|
||||
138000 48.439179 2000 3.1303776
|
||||
139000 49.001417 2000 3.2052806
|
||||
140000 49.558061 2000 2.8958882
|
||||
141000 50.097789 2000 2.9931572
|
||||
142000 50.636089 2000 3.0967832
|
||||
143000 51.175873 2000 3.0576365
|
||||
144000 51.706799 2000 3.2016943
|
||||
145000 52.239356 2000 3.3817709
|
||||
146000 52.769944 2000 3.4527239
|
||||
147000 53.30872 2000 3.5928733
|
||||
148000 53.847762 2000 3.7784682
|
||||
149000 54.387455 2000 3.6587944
|
||||
150000 54.931594 2000 3.7945669
|
||||
151000 55.470076 2000 3.5551557
|
||||
152000 56.01448 2000 3.6248848
|
||||
153000 56.552259 2000 3.7361463
|
||||
154000 57.092655 2000 3.8534319
|
||||
155000 57.635767 2000 4.0101408
|
||||
156000 58.180249 2000 3.7670652
|
||||
157000 58.724032 2000 3.1487676
|
||||
158000 59.262015 2000 2.980076
|
||||
159000 59.794312 2000 3.0350592
|
||||
160000 60.331617 2000 3.125389
|
||||
161000 60.861827 2000 2.7516115
|
||||
162000 61.396691 2000 2.413911
|
||||
163000 61.930145 2000 2.297713
|
||||
164000 62.466983 2000 2.3190806
|
||||
165000 63.00535 2000 2.2868879
|
||||
166000 63.546881 2000 2.1658547
|
||||
167000 64.091461 2000 1.7511071
|
||||
168000 64.63141 2000 1.4112478
|
||||
169000 65.17459 2000 1.3623558
|
||||
170000 65.719571 2000 1.3701579
|
||||
Loop time of 65.7196 on 1 procs for 150000 steps with 2000 atoms
|
||||
|
||||
98.9% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 32.424 | 32.424 | 32.424 | 0.0 | 49.34
|
||||
Neigh | 0.65326 | 0.65326 | 0.65326 | 0.0 | 0.99
|
||||
Comm | 0.14207 | 0.14207 | 0.14207 | 0.0 | 0.22
|
||||
Output | 0.26326 | 0.26326 | 0.26326 | 0.0 | 0.40
|
||||
Modify | 31.109 | 31.109 | 31.109 | 0.0 | 47.34
|
||||
Other | | 1.128 | | | 1.72
|
||||
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 15308 ave 15308 max 15308 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 15308
|
||||
Ave neighs/atom = 7.654
|
||||
Neighbor list builds = 367
|
||||
Dangerous builds = 0
|
||||
|
||||
# remove "plug" - need to redefine cylinder region & union
|
||||
|
||||
region cylreg delete
|
||||
region hopreg delete
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 cylreg conereg
|
||||
|
||||
unfix hopper3
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
run 100000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.69 | 12.69 | 12.69 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
170000 0 2000 1.3701579
|
||||
171000 0.54961146 2000 2.3724823
|
||||
172000 1.0905775 2000 3.5881441
|
||||
173000 1.6190656 2000 5.3771633
|
||||
174000 2.1428619 2000 7.5896471
|
||||
175000 2.6623327 2000 10.77251
|
||||
176000 3.1738773 2000 14.806868
|
||||
177000 3.6751053 2000 19.607624
|
||||
178000 4.17465 2000 25.426227
|
||||
179000 4.6736143 2000 32.23584
|
||||
180000 5.1769137 2000 39.930468
|
||||
181000 5.6766809 2000 47.686304
|
||||
182000 6.1722504 2000 56.506806
|
||||
183000 6.6603586 2000 66.514326
|
||||
184000 7.1473381 2000 77.554644
|
||||
185000 7.6343824 2000 89.224002
|
||||
186000 8.1170225 2000 102.07846
|
||||
187000 8.598305 2000 116.08141
|
||||
188000 9.0708108 2000 130.97964
|
||||
189000 9.5435695 2000 146.77806
|
||||
190000 10.015069 2000 162.79858
|
||||
191000 10.480992 2000 179.02052
|
||||
192000 10.941896 2000 196.26683
|
||||
193000 11.398748 2000 214.38928
|
||||
194000 11.856098 2000 232.32068
|
||||
195000 12.314324 2000 251.74644
|
||||
196000 12.765746 2000 272.25231
|
||||
197000 13.216453 2000 294.64075
|
||||
198000 13.663698 2000 318.32895
|
||||
199000 14.109901 2000 342.44005
|
||||
200000 14.560399 2000 368.35469
|
||||
201000 15.008158 2000 395.2465
|
||||
202000 15.460487 2000 422.63599
|
||||
203000 15.913115 2000 450.45248
|
||||
204000 16.363656 2000 479.60812
|
||||
205000 16.816929 2000 510.44155
|
||||
206000 17.265488 2000 543.25751
|
||||
207000 17.707782 2000 577.35928
|
||||
208000 18.151051 2000 612.29718
|
||||
209000 18.588363 2000 647.8951
|
||||
210000 19.027167 2000 683.79409
|
||||
211000 19.463213 2000 720.36556
|
||||
212000 19.901783 2000 759.27331
|
||||
213000 20.340436 2000 798.27302
|
||||
214000 20.775782 2000 837.93849
|
||||
215000 21.207465 2000 877.92945
|
||||
216000 21.641572 2000 919.62532
|
||||
217000 22.077351 2000 962.83509
|
||||
218000 22.517089 2000 1008.5243
|
||||
219000 22.948683 2000 1054.5769
|
||||
220000 23.381029 2000 1103.1843
|
||||
221000 23.809214 2000 1153.0349
|
||||
222000 24.246127 2000 1204.5599
|
||||
223000 24.677676 2000 1257.1367
|
||||
224000 25.113989 2000 1308.6735
|
||||
WARNING: Lost atoms: original 2000 current 1999 (../thermo.cpp:486)
|
||||
225000 25.549621 1999 1360.1205
|
||||
226000 25.977155 1998 1404.8405
|
||||
227000 26.406475 1996 1448.4869
|
||||
228000 26.832152 1992 1491.8112
|
||||
229000 27.25327 1985 1518.7013
|
||||
230000 27.672907 1971 1507.6699
|
||||
231000 28.086761 1965 1533.5096
|
||||
232000 28.500134 1948 1489.4128
|
||||
233000 28.912212 1933 1477.4536
|
||||
234000 29.320197 1915 1425.8398
|
||||
235000 29.723669 1904 1410.1451
|
||||
236000 30.124339 1892 1401.7595
|
||||
237000 30.523539 1880 1368.893
|
||||
238000 30.919483 1868 1341.8885
|
||||
239000 31.313194 1850 1286.7968
|
||||
240000 31.711659 1833 1219.5123
|
||||
241000 32.106468 1820 1173.3608
|
||||
242000 32.505486 1806 1106.0727
|
||||
243000 32.905579 1788 1035.912
|
||||
244000 33.303155 1779 1021.6147
|
||||
245000 33.696614 1767 969.40032
|
||||
246000 34.083545 1757 939.12022
|
||||
247000 34.472486 1739 840.9396
|
||||
248000 34.858907 1730 822.06575
|
||||
249000 35.248061 1719 762.11057
|
||||
250000 35.639608 1707 708.50308
|
||||
251000 36.029812 1700 692.12647
|
||||
252000 36.428881 1697 694.5812
|
||||
253000 36.821304 1686 652.36951
|
||||
254000 37.203008 1682 662.95256
|
||||
255000 37.576678 1677 637.34619
|
||||
256000 37.952398 1672 630.71277
|
||||
257000 38.336834 1669 641.87365
|
||||
258000 38.719421 1665 635.862
|
||||
259000 39.104236 1664 658.5339
|
||||
260000 39.484223 1662 669.95468
|
||||
261000 39.861203 1660 676.93495
|
||||
262000 40.240183 1657 681.72646
|
||||
263000 40.614974 1655 687.4078
|
||||
264000 40.99447 1651 681.61352
|
||||
265000 41.368018 1647 673.20622
|
||||
266000 41.740288 1644 677.30073
|
||||
267000 42.111704 1641 671.05897
|
||||
268000 42.479868 1639 689.55776
|
||||
269000 42.851008 1637 711.98809
|
||||
270000 43.22438 1633 705.29974
|
||||
Loop time of 43.2244 on 1 procs for 100000 steps with 1633 atoms
|
||||
|
||||
99.2% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 22.312 | 22.312 | 22.312 | 0.0 | 51.62
|
||||
Neigh | 0.47451 | 0.47451 | 0.47451 | 0.0 | 1.10
|
||||
Comm | 0.093822 | 0.093822 | 0.093822 | 0.0 | 0.22
|
||||
Output | 0.0028326 | 0.0028326 | 0.0028326 | 0.0 | 0.01
|
||||
Modify | 19.626 | 19.626 | 19.626 | 0.0 | 45.40
|
||||
Other | | 0.7152 | | | 1.65
|
||||
|
||||
Nlocal: 1633 ave 1633 max 1633 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 11358 ave 11358 max 11358 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 11358
|
||||
Ave neighs/atom = 6.955297
|
||||
Neighbor list builds = 244
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:53
|
||||
633
examples/granregion/log.15Sep22.granregion.funnel.g++.4
Normal file
633
examples/granregion/log.15Sep22.granregion.funnel.g++.4
Normal file
@ -0,0 +1,633 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pour particles into cone-shaped funnel, settle them, let them run out bottom
|
||||
|
||||
variable name string funnel_pour
|
||||
|
||||
thermo_modify flush yes
|
||||
units si
|
||||
variable PI equal 3.141592653589
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable xlo equal 10
|
||||
variable xhi equal 40
|
||||
variable ylo equal 10
|
||||
variable yhi equal 40
|
||||
variable zlo equal -20
|
||||
variable zhi equal 50
|
||||
|
||||
variable xc equal 25
|
||||
variable yc equal 25
|
||||
|
||||
variable zconehi equal 50
|
||||
variable zconelo equal 10
|
||||
variable zcyllo equal 0
|
||||
variable radconelo equal 2
|
||||
variable radconehi equal 20
|
||||
|
||||
################################################
|
||||
# Particle sizes
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.5
|
||||
|
||||
###############################################
|
||||
# Granular contact parameters
|
||||
###############################################
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable density equal 1.0
|
||||
variable EYoung equal 10^5
|
||||
variable Poisson equal 2.0/7.0
|
||||
variable GShear equal ${EYoung}/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+0.285714285714286))
|
||||
|
||||
variable gravity equal 1.0
|
||||
|
||||
variable reff equal 0.5*(${rhi}+${rlo})
|
||||
variable reff equal 0.5*(0.5+${rlo})
|
||||
variable reff equal 0.5*(0.5+0.25)
|
||||
variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*0.375^3
|
||||
variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25
|
||||
variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5
|
||||
|
||||
## Typical way to set kn, kt, etc.:
|
||||
variable kn equal 4.0*${GShear}/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286))
|
||||
variable kt equal 4.0*${GShear}/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-0.285714285714286)
|
||||
|
||||
variable a equal (-2.0*log(${coeffRes})/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/3.141592653589)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 903.503751814138*0.5
|
||||
|
||||
variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.05
|
||||
variable dt equal 0.00210943016014969*0.05
|
||||
timestep ${dt}
|
||||
timestep 0.000105471508007485
|
||||
|
||||
###############################################
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton off
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 50
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (10 10 -20) to (40 40 50)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} multi
|
||||
neighbor 0.5 multi
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Balancing ...
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 30, bins = 1 1 3
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton off, size, history
|
||||
pair build: half/size/multi/newtoff
|
||||
stencil: full/multi/3d
|
||||
bin: multi
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
# insertion region for fix/pour
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 25 10 30 50 side in units box
|
||||
|
||||
# define cone and cylinder regions - see lammps doc on region command
|
||||
# note new open options
|
||||
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 2
|
||||
|
||||
region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open
|
||||
region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 conereg cylreg
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 3000 every 59965 steps, 2000 by step 1
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
# Initial run to fill up the cone
|
||||
|
||||
run 20000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.049 | 6.049 | 6.049 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
0 0 0 -0
|
||||
1000 0.4194951 2000 -0
|
||||
2000 0.61516729 2000 -0
|
||||
3000 0.80702516 2000 -0
|
||||
4000 0.99253349 2000 -0
|
||||
5000 1.172741 2000 -0
|
||||
6000 1.3484682 2000 -0
|
||||
7000 1.5206253 2000 -0
|
||||
8000 1.6875025 2000 -0
|
||||
9000 1.8503087 2000 -0
|
||||
10000 2.0125622 2000 -0
|
||||
11000 2.0890872 2000 -0
|
||||
12000 2.1663582 2000 -0
|
||||
13000 2.2430386 2000 -0
|
||||
14000 2.320045 2000 -0
|
||||
15000 2.3989769 2000 -0
|
||||
16000 2.4824747 2000 -0
|
||||
17000 2.5693391 2000 -0
|
||||
18000 2.6595183 2000 -0
|
||||
19000 2.752627 2000 -0
|
||||
20000 2.8503071 2000 -0
|
||||
Loop time of 2.85034 on 4 procs for 20000 steps with 2000 atoms
|
||||
|
||||
98.0% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.04057 | 0.088166 | 0.18377 | 18.9 | 3.09
|
||||
Neigh | 0.0072649 | 0.014273 | 0.025073 | 5.5 | 0.50
|
||||
Comm | 0.097843 | 0.19506 | 0.29871 | 19.9 | 6.84
|
||||
Output | 0.00099986 | 0.0018246 | 0.0023299 | 1.2 | 0.06
|
||||
Modify | 0.68567 | 1.1174 | 1.9527 | 46.8 | 39.20
|
||||
Other | | 1.434 | | | 50.30
|
||||
|
||||
Nlocal: 500 ave 510 max 493 min
|
||||
Histogram: 1 1 0 0 0 1 0 0 0 1
|
||||
Nghost: 154 ave 227 max 79 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
Neighs: 415.5 ave 610 max 258 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 1662
|
||||
Ave neighs/atom = 0.831
|
||||
Neighbor list builds = 71
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 150000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.33 | 12.5 | 12.68 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
20000 0 2000 6652.2957
|
||||
21000 0.069761009 2000 6807.2201
|
||||
22000 0.14277925 2000 6973.9359
|
||||
23000 0.21755553 2000 7142.3648
|
||||
24000 0.29656838 2000 7276.9717
|
||||
25000 0.3791331 2000 7369.4191
|
||||
26000 0.46663378 2000 7497.6526
|
||||
27000 0.55670237 2000 7638.946
|
||||
28000 0.65212555 2000 7780.0339
|
||||
29000 0.75032507 2000 7881.8177
|
||||
30000 0.85580942 2000 7967.2641
|
||||
31000 0.93204785 2000 7994.9273
|
||||
32000 1.0168325 2000 7937.0672
|
||||
33000 1.1081585 2000 7774.0508
|
||||
34000 1.2084122 2000 7591.1511
|
||||
35000 1.3164174 2000 7357.5032
|
||||
36000 1.4326847 2000 7147.3776
|
||||
37000 1.5548919 2000 6980.0719
|
||||
38000 1.6806183 2000 6813.0872
|
||||
39000 1.8171138 2000 6657.0693
|
||||
40000 1.9655069 2000 6505.1155
|
||||
41000 2.0788398 2000 6330.2864
|
||||
42000 2.1972941 2000 6147.8022
|
||||
43000 2.3180177 2000 5932.9244
|
||||
44000 2.4424194 2000 5755.296
|
||||
45000 2.5679759 2000 5511.622
|
||||
46000 2.7042099 2000 5332.3171
|
||||
47000 2.8436403 2000 5162.4926
|
||||
48000 2.983017 2000 5044.5764
|
||||
49000 3.1228322 2000 4901.1141
|
||||
50000 3.2614172 2000 4731.1949
|
||||
51000 3.3835559 2000 4575.418
|
||||
52000 3.5097034 2000 4428.9425
|
||||
53000 3.6438561 2000 4291.7282
|
||||
54000 3.7823058 2000 4154.1885
|
||||
55000 3.9269393 2000 3994.9402
|
||||
56000 4.0761939 2000 3855.5977
|
||||
57000 4.2262191 2000 3672.9504
|
||||
58000 4.3809045 2000 3435.3395
|
||||
59000 4.5439971 2000 3200.7379
|
||||
60000 4.7111867 2000 2986.5411
|
||||
61000 4.8700167 2000 2747.3628
|
||||
62000 5.030656 2000 2542.0805
|
||||
63000 5.1932098 2000 2336.7687
|
||||
64000 5.3585095 2000 2151.6388
|
||||
65000 5.5278279 2000 1933.6773
|
||||
66000 5.7032072 2000 1699.0747
|
||||
67000 5.8804545 2000 1467.7209
|
||||
68000 6.0598984 2000 1227.3577
|
||||
69000 6.2471961 2000 1016.2766
|
||||
70000 6.4413532 2000 812.90843
|
||||
71000 6.615215 2000 632.88108
|
||||
72000 6.7897335 2000 470.67731
|
||||
73000 6.964705 2000 360.47748
|
||||
74000 7.1361808 2000 286.10584
|
||||
75000 7.3068097 2000 229.70386
|
||||
76000 7.4771974 2000 179.62654
|
||||
77000 7.6485358 2000 142.40417
|
||||
78000 7.8200771 2000 113.55745
|
||||
79000 7.9923688 2000 93.787669
|
||||
80000 8.164219 2000 80.646319
|
||||
81000 8.3372059 2000 70.944319
|
||||
82000 8.5130035 2000 59.2275
|
||||
83000 8.6877383 2000 49.633808
|
||||
84000 8.8675712 2000 42.882698
|
||||
85000 9.0509682 2000 36.841824
|
||||
86000 9.2393665 2000 31.776681
|
||||
87000 9.4296116 2000 28.25076
|
||||
88000 9.622196 2000 25.228966
|
||||
89000 9.8176023 2000 22.593627
|
||||
90000 10.01325 2000 21.15796
|
||||
91000 10.204474 2000 19.941629
|
||||
92000 10.399553 2000 18.375654
|
||||
93000 10.596683 2000 17.056701
|
||||
94000 10.796988 2000 16.192511
|
||||
95000 10.998545 2000 15.572922
|
||||
96000 11.200614 2000 14.827788
|
||||
97000 11.402484 2000 13.919613
|
||||
98000 11.606219 2000 13.19525
|
||||
99000 11.81042 2000 11.993376
|
||||
100000 12.018294 2000 11.258787
|
||||
101000 12.223702 2000 10.641688
|
||||
102000 12.432026 2000 10.430435
|
||||
103000 12.640962 2000 9.518069
|
||||
104000 12.849109 2000 9.1332086
|
||||
105000 13.05872 2000 9.2151611
|
||||
106000 13.269956 2000 9.0035132
|
||||
107000 13.481882 2000 8.7835861
|
||||
108000 13.693895 2000 8.5124479
|
||||
109000 13.906381 2000 8.2975453
|
||||
110000 14.120217 2000 8.3483043
|
||||
111000 14.332078 2000 8.4658572
|
||||
112000 14.54349 2000 8.4771784
|
||||
113000 14.755719 2000 7.8937975
|
||||
114000 14.968619 2000 7.2472953
|
||||
115000 15.180485 2000 6.5812074
|
||||
116000 15.394405 2000 5.5651566
|
||||
117000 15.607523 2000 5.3015807
|
||||
118000 15.821873 2000 5.0133941
|
||||
119000 16.035675 2000 4.8746036
|
||||
120000 16.24964 2000 4.9133073
|
||||
121000 16.462102 2000 4.3337392
|
||||
122000 16.676371 2000 4.3374836
|
||||
123000 16.890252 2000 4.3721818
|
||||
124000 17.106594 2000 4.3894508
|
||||
125000 17.321433 2000 4.1811774
|
||||
126000 17.536692 2000 4.3011002
|
||||
127000 17.748238 2000 4.442228
|
||||
128000 17.962609 2000 4.6170394
|
||||
129000 18.175315 2000 4.8184318
|
||||
130000 18.389056 2000 4.8442096
|
||||
131000 18.600872 2000 4.9668117
|
||||
132000 18.81412 2000 4.8364562
|
||||
133000 19.027514 2000 4.6658645
|
||||
134000 19.23975 2000 4.5758487
|
||||
135000 19.451085 2000 4.7251949
|
||||
136000 19.663874 2000 4.5846492
|
||||
137000 19.87624 2000 4.7565986
|
||||
138000 20.088654 2000 4.8186623
|
||||
139000 20.29935 2000 4.6571647
|
||||
140000 20.510911 2000 4.0730143
|
||||
141000 20.722072 2000 4.0605542
|
||||
142000 20.933113 2000 4.1457179
|
||||
143000 21.143916 2000 4.3418042
|
||||
144000 21.353873 2000 4.0323813
|
||||
145000 21.567015 2000 3.8064958
|
||||
146000 21.781334 2000 3.1802044
|
||||
147000 21.996799 2000 2.7947641
|
||||
148000 22.209808 2000 2.7384164
|
||||
149000 22.423177 2000 2.7428829
|
||||
150000 22.638044 2000 2.7802186
|
||||
151000 22.851676 2000 2.6703451
|
||||
152000 23.065354 2000 2.3357647
|
||||
153000 23.278882 2000 1.9855305
|
||||
154000 23.494254 2000 1.9442713
|
||||
155000 23.708192 2000 1.7348027
|
||||
156000 23.923005 2000 1.5699942
|
||||
157000 24.13827 2000 1.5224944
|
||||
158000 24.352068 2000 1.4850914
|
||||
159000 24.565616 2000 1.4461048
|
||||
160000 24.779118 2000 1.3759525
|
||||
161000 24.99111 2000 0.83754463
|
||||
162000 25.205935 2000 0.7952922
|
||||
163000 25.420817 2000 0.69670143
|
||||
164000 25.632672 2000 0.66253723
|
||||
165000 25.846901 2000 0.64602969
|
||||
166000 26.060074 2000 0.60229858
|
||||
167000 26.273714 2000 0.5757589
|
||||
168000 26.484855 2000 0.5996023
|
||||
169000 26.698151 2000 0.62130448
|
||||
170000 26.911208 2000 0.63888277
|
||||
Loop time of 26.9112 on 4 procs for 150000 steps with 2000 atoms
|
||||
|
||||
95.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 4.5517 | 8.6135 | 10.872 | 82.7 | 32.01
|
||||
Neigh | 0.092491 | 0.15402 | 0.19598 | 9.7 | 0.57
|
||||
Comm | 2.0054 | 3.8686 | 4.6494 | 55.0 | 14.38
|
||||
Output | 0.0047033 | 0.0096766 | 0.016452 | 4.6 | 0.04
|
||||
Modify | 5.6498 | 7.9588 | 9.4012 | 49.7 | 29.57
|
||||
Other | | 6.307 | | | 23.43
|
||||
|
||||
Nlocal: 500 ave 538 max 419 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 0 2
|
||||
Nghost: 445.5 ave 688 max 200 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
Neighs: 4500.25 ave 5610 max 3443 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 18001
|
||||
Ave neighs/atom = 9.0005
|
||||
Neighbor list builds = 362
|
||||
Dangerous builds = 0
|
||||
|
||||
# remove "plug" - need to redefine cylinder region & union
|
||||
|
||||
region cylreg delete
|
||||
region hopreg delete
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 cylreg conereg
|
||||
|
||||
unfix hopper3
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
run 100000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.34 | 12.53 | 12.68 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
170000 0 2000 0.63888277
|
||||
171000 0.21419748 2000 1.4139245
|
||||
172000 0.42844271 2000 2.2400138
|
||||
173000 0.64333145 2000 3.8034979
|
||||
174000 0.85456696 2000 6.116727
|
||||
175000 1.0672981 2000 8.9536458
|
||||
176000 1.2790911 2000 12.74348
|
||||
177000 1.491721 2000 17.410816
|
||||
178000 1.7033452 2000 22.879174
|
||||
179000 1.9168047 2000 28.966022
|
||||
180000 2.1329071 2000 35.449239
|
||||
181000 2.3490841 2000 42.694882
|
||||
182000 2.565508 2000 50.913279
|
||||
183000 2.780369 2000 60.098465
|
||||
184000 2.9967771 2000 70.133474
|
||||
185000 3.2116891 2000 80.950013
|
||||
186000 3.4248923 2000 92.495525
|
||||
187000 3.6394206 2000 104.83034
|
||||
188000 3.8527533 2000 118.04659
|
||||
189000 4.0650838 2000 132.7403
|
||||
190000 4.2781031 2000 148.31955
|
||||
191000 4.476226 2000 164.26321
|
||||
192000 4.6750263 2000 180.6933
|
||||
193000 4.8710737 2000 197.72012
|
||||
194000 5.0677642 2000 215.43637
|
||||
195000 5.2639974 2000 234.29738
|
||||
196000 5.4599746 2000 254.03407
|
||||
197000 5.6534894 2000 274.58626
|
||||
198000 5.8462402 2000 296.88915
|
||||
199000 6.0400194 2000 320.45001
|
||||
200000 6.2329415 2000 344.75891
|
||||
201000 6.4235068 2000 370.14016
|
||||
202000 6.6142055 2000 395.72827
|
||||
203000 6.8048206 2000 420.42026
|
||||
204000 6.9987454 2000 446.08079
|
||||
205000 7.1925778 2000 473.62963
|
||||
206000 7.3846227 2000 501.05693
|
||||
207000 7.5775122 2000 530.40427
|
||||
208000 7.77052 2000 560.62015
|
||||
209000 7.964984 2000 593.00113
|
||||
210000 8.1601405 2000 626.36661
|
||||
211000 8.3504978 2000 661.34861
|
||||
212000 8.5425141 2000 697.41001
|
||||
213000 8.736112 2000 735.12299
|
||||
214000 8.9267615 2000 773.89126
|
||||
215000 9.1154738 2000 813.83268
|
||||
216000 9.3019826 2000 854.63669
|
||||
217000 9.4878433 2000 896.59089
|
||||
218000 9.6739682 2000 938.70251
|
||||
219000 9.8566518 2000 982.10773
|
||||
220000 10.042289 2000 1025.2953
|
||||
221000 10.227275 2000 1069.8382
|
||||
222000 10.412363 2000 1115.4449
|
||||
223000 10.602757 2000 1161.6742
|
||||
224000 10.789101 2000 1211.289
|
||||
225000 10.974854 2000 1262.8074
|
||||
226000 11.157089 2000 1316.6353
|
||||
227000 11.337044 2000 1370.7434
|
||||
WARNING: Lost atoms: original 2000 current 1991 (../thermo.cpp:486)
|
||||
228000 11.518718 1991 1382.0924
|
||||
229000 11.700488 1986 1407.1543
|
||||
230000 11.883057 1975 1415.708
|
||||
231000 12.063962 1968 1430.6498
|
||||
232000 12.246917 1957 1421.0352
|
||||
233000 12.429345 1939 1376.0322
|
||||
234000 12.6113 1925 1350.1292
|
||||
235000 12.791233 1912 1337.0529
|
||||
236000 12.968444 1893 1273.2219
|
||||
237000 13.146668 1879 1207.0473
|
||||
238000 13.327542 1861 1132.0109
|
||||
239000 13.50936 1846 1083.1042
|
||||
240000 13.693504 1826 1004.3265
|
||||
241000 13.863443 1819 989.36186
|
||||
242000 14.03294 1812 983.26132
|
||||
243000 14.20032 1805 985.79932
|
||||
244000 14.366236 1794 936.34844
|
||||
245000 14.532759 1784 889.17423
|
||||
246000 14.703029 1770 846.65018
|
||||
247000 14.873941 1753 751.16306
|
||||
248000 15.045272 1740 709.23095
|
||||
249000 15.217896 1732 687.61586
|
||||
250000 15.388727 1721 638.82967
|
||||
251000 15.558032 1714 618.71543
|
||||
252000 15.725309 1709 611.25444
|
||||
253000 15.888727 1705 606.6846
|
||||
254000 16.050605 1702 601.7236
|
||||
255000 16.212982 1697 575.97244
|
||||
256000 16.378352 1695 577.1712
|
||||
257000 16.547488 1691 576.93668
|
||||
258000 16.718964 1688 586.63687
|
||||
259000 16.892601 1686 581.52487
|
||||
260000 17.066036 1682 566.49544
|
||||
261000 17.22488 1681 586.18628
|
||||
262000 17.379249 1678 582.11927
|
||||
263000 17.534079 1675 589.96041
|
||||
264000 17.690288 1672 577.55581
|
||||
265000 17.847805 1669 570.45998
|
||||
266000 18.006261 1666 574.0576
|
||||
267000 18.1674 1662 578.07385
|
||||
268000 18.326753 1660 587.65705
|
||||
269000 18.488052 1657 584.43358
|
||||
270000 18.647474 1654 591.22601
|
||||
Loop time of 18.6475 on 4 procs for 100000 steps with 1654 atoms
|
||||
|
||||
94.4% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.7714 | 6.1879 | 8.8765 | 88.8 | 33.18
|
||||
Neigh | 0.094692 | 0.11244 | 0.13298 | 4.6 | 0.60
|
||||
Comm | 1.2471 | 2.918 | 3.5873 | 57.0 | 15.65
|
||||
Output | 0.0013438 | 0.0067176 | 0.014709 | 6.0 | 0.04
|
||||
Modify | 4.4355 | 5.0416 | 5.5692 | 21.9 | 27.04
|
||||
Other | | 4.381 | | | 23.49
|
||||
|
||||
Nlocal: 413.5 ave 429 max 408 min
|
||||
Histogram: 3 0 0 0 0 0 0 0 0 1
|
||||
Nghost: 408.25 ave 653 max 182 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
Neighs: 3486.25 ave 4367 max 2213 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 1 1
|
||||
|
||||
Total # of neighbors = 13945
|
||||
Ave neighs/atom = 8.4310762
|
||||
Neighbor list builds = 227
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:48
|
||||
632
examples/granregion/log.15Sep22.granregion.mixer.g++.1
Normal file
632
examples/granregion/log.15Sep22.granregion.mixer.g++.1
Normal file
@ -0,0 +1,632 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
variable name string mixer
|
||||
|
||||
thermo_modify flush yes
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Particle parameters
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.3
|
||||
variable rhi equal 0.6
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.3
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.6
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.6
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable kn equal 10^5
|
||||
variable kt equal 0.2*${kn}
|
||||
variable kt equal 0.2*100000
|
||||
|
||||
variable gravity equal 1.0
|
||||
variable density equal 1.0
|
||||
|
||||
variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3
|
||||
variable a equal (-2.0*log(${coeffRes})/PI)^2
|
||||
variable a equal (-2.0*log(0.1)/PI)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 806.699778405191*0.5
|
||||
|
||||
variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.02
|
||||
variable dt equal 0.00236257621510454*0.02
|
||||
timestep ${dt}
|
||||
timestep 4.72515243020908e-05
|
||||
|
||||
###############################################
|
||||
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton on
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block 0 20 0 20 0 20
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (0 0 0) to (20 20 20)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} multi
|
||||
neighbor 0.6 multi
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Balancing ...
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 20, bins = 1 1 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/multi/newton
|
||||
stencil: half/multi/3d
|
||||
bin: multi
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
region insreg cylinder z 10 10 8 10 18 side in units box
|
||||
region cylreg cylinder z 10 10 10 0 20 side in units box
|
||||
|
||||
variable theta equal (step/400000)*2*PI
|
||||
|
||||
region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
|
||||
region mixer intersect 3 cylreg b1 b2 side in
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer
|
||||
|
||||
fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1
|
||||
Particle insertion: 444 every 84653 steps, 1000 by step 169307
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke v_theta
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
run 200000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.861 | 5.861 | 5.861 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
0 0 0 -0 0
|
||||
1000 0.10672296 444 -0 0.015707963
|
||||
2000 0.2090638 444 -0 0.031415927
|
||||
3000 0.31029663 444 -0 0.04712389
|
||||
4000 0.41047624 444 -0 0.062831853
|
||||
5000 0.51132361 444 -0 0.078539816
|
||||
6000 0.61279172 444 -0 0.09424778
|
||||
7000 0.71396622 444 -0 0.10995574
|
||||
8000 0.81644319 444 -0 0.12566371
|
||||
9000 0.91730959 444 -0 0.14137167
|
||||
10000 1.0181635 444 -0 0.15707963
|
||||
11000 1.1182214 444 -0 0.1727876
|
||||
12000 1.2190013 444 -0 0.18849556
|
||||
13000 1.3196138 444 -0 0.20420352
|
||||
14000 1.4183593 444 -0 0.21991149
|
||||
15000 1.5178458 444 -0 0.23561945
|
||||
16000 1.6169535 444 -0 0.25132741
|
||||
17000 1.7219188 444 -0 0.26703538
|
||||
18000 1.8266303 444 -0 0.28274334
|
||||
19000 1.9331589 444 -0 0.2984513
|
||||
20000 2.0392693 444 -0 0.31415927
|
||||
21000 2.1457521 444 -0 0.32986723
|
||||
22000 2.2507526 444 -0 0.34557519
|
||||
23000 2.3548243 444 -0 0.36128316
|
||||
24000 2.4606335 444 -0 0.37699112
|
||||
25000 2.5657643 444 -0 0.39269908
|
||||
26000 2.6698254 444 -0 0.40840704
|
||||
27000 2.7732221 444 -0 0.42411501
|
||||
28000 2.8766441 444 -0 0.43982297
|
||||
29000 2.9801547 444 -0 0.45553093
|
||||
30000 3.0839748 444 -0 0.4712389
|
||||
31000 3.1880063 444 -0 0.48694686
|
||||
32000 3.2923439 444 -0 0.50265482
|
||||
33000 3.3969501 444 -0 0.51836279
|
||||
34000 3.5012646 444 -0 0.53407075
|
||||
35000 3.6057831 444 -0 0.54977871
|
||||
36000 3.7098273 444 -0 0.56548668
|
||||
37000 3.8146061 444 -0 0.58119464
|
||||
38000 3.9215588 444 -0 0.5969026
|
||||
39000 4.0474026 444 -0 0.61261057
|
||||
40000 4.1544945 444 -0 0.62831853
|
||||
41000 4.2605761 444 -0 0.64402649
|
||||
42000 4.3665287 444 -0 0.65973446
|
||||
43000 4.4728216 444 -0 0.67544242
|
||||
44000 4.5782483 444 -0 0.69115038
|
||||
45000 4.6833043 444 -0 0.70685835
|
||||
46000 4.7902207 444 -0 0.72256631
|
||||
47000 4.8968527 444 -0 0.73827427
|
||||
48000 5.0035027 444 -0 0.75398224
|
||||
49000 5.1117191 444 -0 0.7696902
|
||||
50000 5.2186233 444 -0 0.78539816
|
||||
51000 5.3244005 444 -0 0.80110613
|
||||
52000 5.4316153 444 -0 0.81681409
|
||||
53000 5.5381785 444 -0 0.83252205
|
||||
54000 5.6458179 444 -0 0.84823002
|
||||
55000 5.759203 444 -0 0.86393798
|
||||
56000 5.8779849 444 -0 0.87964594
|
||||
57000 5.9953108 444 -0 0.89535391
|
||||
58000 6.1115532 444 -0 0.91106187
|
||||
59000 6.2298342 444 -0 0.92676983
|
||||
60000 6.3474382 444 -0 0.9424778
|
||||
61000 6.4642217 444 -0 0.95818576
|
||||
62000 6.5815141 444 -0 0.97389372
|
||||
63000 6.6999766 444 -0 0.98960169
|
||||
64000 6.8181369 444 -0 1.0053096
|
||||
65000 6.9368124 444 -0 1.0210176
|
||||
66000 7.0560733 444 -0 1.0367256
|
||||
67000 7.1761749 444 -0 1.0524335
|
||||
68000 7.2942246 444 -0 1.0681415
|
||||
69000 7.4146786 444 -0 1.0838495
|
||||
70000 7.5364025 444 -0 1.0995574
|
||||
71000 7.6565177 444 -0 1.1152654
|
||||
72000 7.7776652 444 -0 1.1309734
|
||||
73000 7.8972494 444 -0 1.1466813
|
||||
74000 8.0183599 444 -0 1.1623893
|
||||
75000 8.1423045 444 -0 1.1780972
|
||||
76000 8.2667013 444 -0 1.1938052
|
||||
77000 8.3876604 444 -0 1.2095132
|
||||
78000 8.5095993 444 -0 1.2252211
|
||||
79000 8.6317663 444 -0 1.2409291
|
||||
80000 8.7562108 444 -0 1.2566371
|
||||
81000 8.8812625 444 -0 1.272345
|
||||
82000 9.006825 444 -0 1.288053
|
||||
83000 9.1310939 444 -0 1.303761
|
||||
84000 9.2540049 444 -0 1.3194689
|
||||
85000 9.4210019 888 -0 1.3351769
|
||||
86000 9.6509014 888 -0 1.3508848
|
||||
87000 9.8827304 888 -0 1.3665928
|
||||
88000 10.113857 888 -0 1.3823008
|
||||
89000 10.34324 888 -0 1.3980087
|
||||
90000 10.574203 888 -0 1.4137167
|
||||
91000 10.806069 888 -0 1.4294247
|
||||
92000 11.037044 888 -0 1.4451326
|
||||
93000 11.262596 888 -0 1.4608406
|
||||
94000 11.490532 888 -0 1.4765485
|
||||
95000 11.716452 888 -0 1.4922565
|
||||
96000 11.943883 888 -0 1.5079645
|
||||
97000 12.171353 888 -0 1.5236724
|
||||
98000 12.396787 888 -0 1.5393804
|
||||
99000 12.623788 888 -0 1.5550884
|
||||
100000 12.849633 888 -0 1.5707963
|
||||
101000 13.082904 888 -0 1.5865043
|
||||
102000 13.316986 888 -0 1.6022123
|
||||
103000 13.54777 888 -0 1.6179202
|
||||
104000 13.77928 888 -0 1.6336282
|
||||
105000 14.014818 888 -0 1.6493361
|
||||
106000 14.250986 888 -0 1.6650441
|
||||
107000 14.485754 888 -0 1.6807521
|
||||
108000 14.720106 888 -0 1.69646
|
||||
109000 14.970869 888 -0 1.712168
|
||||
110000 15.219203 888 -0 1.727876
|
||||
111000 15.469876 888 -0 1.7435839
|
||||
112000 15.721351 888 -0 1.7592919
|
||||
113000 15.972099 888 -0 1.7749998
|
||||
114000 16.222357 888 -0 1.7907078
|
||||
115000 16.474863 888 -0 1.8064158
|
||||
116000 16.725352 888 -0 1.8221237
|
||||
117000 16.979634 888 -0 1.8378317
|
||||
118000 17.231379 888 -0 1.8535397
|
||||
119000 17.483691 888 -0 1.8692476
|
||||
120000 17.737897 888 -0 1.8849556
|
||||
121000 17.991241 888 -0 1.9006636
|
||||
122000 18.245626 888 -0 1.9163715
|
||||
123000 18.499984 888 -0 1.9320795
|
||||
124000 18.754367 888 -0 1.9477874
|
||||
125000 19.006448 888 -0 1.9634954
|
||||
126000 19.260545 888 -0 1.9792034
|
||||
127000 19.513633 888 -0 1.9949113
|
||||
128000 19.769389 888 -0 2.0106193
|
||||
129000 20.025088 888 -0 2.0263273
|
||||
130000 20.277534 888 -0 2.0420352
|
||||
131000 20.529284 888 -0 2.0577432
|
||||
132000 20.785132 888 -0 2.0734512
|
||||
133000 21.038442 888 -0 2.0891591
|
||||
134000 21.293932 888 -0 2.1048671
|
||||
135000 21.545354 888 -0 2.120575
|
||||
136000 21.799547 888 -0 2.136283
|
||||
137000 22.053639 888 -0 2.151991
|
||||
138000 22.310106 888 -0 2.1676989
|
||||
139000 22.569362 888 -0 2.1834069
|
||||
140000 22.829416 888 -0 2.1991149
|
||||
141000 23.089132 888 -0 2.2148228
|
||||
142000 23.345737 888 -0 2.2305308
|
||||
143000 23.60621 888 -0 2.2462387
|
||||
144000 23.867414 888 -0 2.2619467
|
||||
145000 24.132954 888 -0 2.2776547
|
||||
146000 24.39395 888 -0 2.2933626
|
||||
147000 24.657881 888 -0 2.3090706
|
||||
148000 24.918563 888 -0 2.3247786
|
||||
149000 25.177446 888 -0 2.3404865
|
||||
150000 25.446598 888 -0 2.3561945
|
||||
151000 25.715494 888 -0 2.3719025
|
||||
152000 25.985991 888 -0 2.3876104
|
||||
153000 26.256676 888 -0 2.4033184
|
||||
154000 26.525639 888 -0 2.4190263
|
||||
155000 26.82656 888 -0 2.4347343
|
||||
156000 27.157272 888 -0 2.4504423
|
||||
157000 27.481755 888 -0 2.4661502
|
||||
158000 27.80198 888 -0 2.4818582
|
||||
159000 28.123258 888 -0 2.4975662
|
||||
160000 28.437502 888 -0 2.5132741
|
||||
161000 28.756496 888 -0 2.5289821
|
||||
162000 29.080609 888 -0 2.54469
|
||||
163000 29.399252 888 -0 2.560398
|
||||
164000 29.718986 888 -0 2.576106
|
||||
165000 30.045206 888 -0 2.5918139
|
||||
166000 30.365168 888 -0 2.6075219
|
||||
167000 30.684007 888 -0 2.6232299
|
||||
168000 31.006154 888 -0 2.6389378
|
||||
169000 31.330336 888 -0 2.6546458
|
||||
170000 31.681761 1000 -0 2.6703538
|
||||
171000 32.049778 1000 -0 2.6860617
|
||||
172000 32.421067 1000 -0 2.7017697
|
||||
173000 32.79935 1000 -0 2.7174776
|
||||
174000 33.178002 1000 -0 2.7331856
|
||||
175000 33.54236 1000 -0 2.7488936
|
||||
176000 33.904734 1000 -0 2.7646015
|
||||
177000 34.269671 1000 -0 2.7803095
|
||||
178000 34.633106 1000 -0 2.7960175
|
||||
179000 35.001441 1000 -0 2.8117254
|
||||
180000 35.374769 1000 -0 2.8274334
|
||||
181000 35.742362 1000 -0 2.8431414
|
||||
182000 36.115908 1000 -0 2.8588493
|
||||
183000 36.490149 1000 -0 2.8745573
|
||||
184000 36.866289 1000 -0 2.8902652
|
||||
185000 37.252911 1000 -0 2.9059732
|
||||
186000 37.644586 1000 -0 2.9216812
|
||||
187000 38.028002 1000 -0 2.9373891
|
||||
188000 38.40724 1000 -0 2.9530971
|
||||
189000 38.77431 1000 -0 2.9688051
|
||||
190000 39.14138 1000 -0 2.984513
|
||||
191000 39.519083 1000 -0 3.000221
|
||||
192000 39.895243 1000 -0 3.0159289
|
||||
193000 40.237532 1000 -0 3.0316369
|
||||
194000 40.587663 1000 -0 3.0473449
|
||||
195000 40.939032 1000 -0 3.0630528
|
||||
196000 41.290257 1000 -0 3.0787608
|
||||
197000 41.643778 1000 -0 3.0944688
|
||||
198000 41.992818 1000 -0 3.1101767
|
||||
199000 42.335934 1000 -0 3.1258847
|
||||
200000 42.681071 1000 -0 3.1415927
|
||||
Loop time of 42.6811 on 1 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 19130.397 tau/day, 4685.915 timesteps/s, 4.686 Matom-step/s
|
||||
98.5% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.6365 | 2.6365 | 2.6365 | 0.0 | 6.18
|
||||
Neigh | 0.051681 | 0.051681 | 0.051681 | 0.0 | 0.12
|
||||
Comm | 0.52007 | 0.52007 | 0.52007 | 0.0 | 1.22
|
||||
Output | 0.02209 | 0.02209 | 0.02209 | 0.0 | 0.05
|
||||
Modify | 38.71 | 38.71 | 38.71 | 0.0 | 90.70
|
||||
Other | | 0.7407 | | | 1.74
|
||||
|
||||
Nlocal: 1000 ave 1000 max 1000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 183 ave 183 max 183 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 3757 ave 3757 max 3757 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 3757
|
||||
Ave neighs/atom = 3.757
|
||||
Neighbor list builds = 200
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 200000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.89 | 11.89 | 11.89 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
200000 0 1000 1.0515941 3.1415927
|
||||
201000 0.35477257 1000 1.0348185 3.1573006
|
||||
202000 0.71436123 1000 1.0220859 3.1730086
|
||||
203000 1.0642832 1000 1.0225785 3.1887165
|
||||
204000 1.4165213 1000 1.0206121 3.2044245
|
||||
205000 1.7728133 1000 1.009961 3.2201325
|
||||
206000 2.1279101 1000 0.9993323 3.2358404
|
||||
207000 2.480623 1000 0.99602628 3.2515484
|
||||
208000 2.8321106 1000 0.98341818 3.2672564
|
||||
209000 3.2138945 1000 0.96700718 3.2829643
|
||||
210000 3.5921146 1000 0.95226699 3.2986723
|
||||
211000 3.9643569 1000 0.93911691 3.3143802
|
||||
212000 4.3368151 1000 0.92920029 3.3300882
|
||||
213000 4.7130192 1000 0.91893472 3.3457962
|
||||
214000 5.0881313 1000 0.90873324 3.3615041
|
||||
215000 5.4660106 1000 0.88925817 3.3772121
|
||||
216000 5.8455926 1000 0.89108236 3.3929201
|
||||
217000 6.2204827 1000 0.90176711 3.408628
|
||||
218000 6.6046736 1000 0.90149435 3.424336
|
||||
219000 6.9931145 1000 0.89629307 3.440044
|
||||
220000 7.3771565 1000 0.90390589 3.4557519
|
||||
221000 7.7635603 1000 0.87858148 3.4714599
|
||||
222000 8.1502771 1000 0.88862314 3.4871678
|
||||
223000 8.5393557 1000 0.90394098 3.5028758
|
||||
224000 8.9327212 1000 0.91005462 3.5185838
|
||||
225000 9.315331 1000 0.91753865 3.5342917
|
||||
226000 9.6930994 1000 0.91741233 3.5499997
|
||||
227000 10.077148 1000 0.9041879 3.5657077
|
||||
228000 10.463223 1000 0.9085712 3.5814156
|
||||
229000 10.850271 1000 0.8937854 3.5971236
|
||||
230000 11.230235 1000 0.88740571 3.6128316
|
||||
231000 11.61003 1000 0.88350028 3.6285395
|
||||
232000 11.988134 1000 0.88344474 3.6442475
|
||||
233000 12.365856 1000 0.88003311 3.6599554
|
||||
234000 12.745397 1000 0.87416727 3.6756634
|
||||
235000 13.120344 1000 0.86154585 3.6913714
|
||||
236000 13.489521 1000 0.85705071 3.7070793
|
||||
237000 13.858736 1000 0.85297378 3.7227873
|
||||
238000 14.230242 1000 0.84879486 3.7384953
|
||||
239000 14.609692 1000 0.86978407 3.7542032
|
||||
240000 14.998899 1000 0.86758733 3.7699112
|
||||
241000 15.40773 1000 0.86123097 3.7856191
|
||||
242000 15.81537 1000 0.86088136 3.8013271
|
||||
243000 16.221448 1000 0.85270311 3.8170351
|
||||
244000 16.619008 1000 0.8524395 3.832743
|
||||
245000 17.003986 1000 0.84054009 3.848451
|
||||
246000 17.380362 1000 0.82623612 3.864159
|
||||
247000 17.756477 1000 0.82787746 3.8798669
|
||||
248000 18.136456 1000 0.83027177 3.8955749
|
||||
249000 18.521277 1000 0.83307565 3.9112829
|
||||
250000 18.906407 1000 0.82612362 3.9269908
|
||||
251000 19.28348 1000 0.8404639 3.9426988
|
||||
252000 19.66549 1000 0.83550946 3.9584067
|
||||
253000 20.053842 1000 0.81516472 3.9741147
|
||||
254000 20.451357 1000 0.79127421 3.9898227
|
||||
255000 20.844416 1000 0.78373024 4.0055306
|
||||
256000 21.228637 1000 0.79885661 4.0212386
|
||||
257000 21.613641 1000 0.80322118 4.0369466
|
||||
258000 21.99162 1000 0.79861523 4.0526545
|
||||
259000 22.367158 1000 0.79216962 4.0683625
|
||||
260000 22.746158 1000 0.79543097 4.0840704
|
||||
261000 23.125626 1000 0.79394211 4.0997784
|
||||
262000 23.504282 1000 0.79269346 4.1154864
|
||||
263000 23.883609 1000 0.80022854 4.1311943
|
||||
264000 24.261864 1000 0.79885184 4.1469023
|
||||
265000 24.639269 1000 0.79595018 4.1626103
|
||||
266000 25.016335 1000 0.78191184 4.1783182
|
||||
267000 25.389754 1000 0.76329279 4.1940262
|
||||
268000 25.762053 1000 0.7342663 4.2097342
|
||||
269000 26.133966 1000 0.72303366 4.2254421
|
||||
270000 26.511157 1000 0.70016481 4.2411501
|
||||
271000 26.888842 1000 0.68891731 4.256858
|
||||
272000 27.26804 1000 0.68545775 4.272566
|
||||
273000 27.644067 1000 0.68712156 4.288274
|
||||
274000 28.024704 1000 0.69249813 4.3039819
|
||||
275000 28.404842 1000 0.70187847 4.3196899
|
||||
276000 28.785799 1000 0.70679419 4.3353979
|
||||
277000 29.165857 1000 0.70955357 4.3511058
|
||||
278000 29.545291 1000 0.70183408 4.3668138
|
||||
279000 29.926113 1000 0.69979273 4.3825218
|
||||
280000 30.302095 1000 0.70822139 4.3982297
|
||||
281000 30.684406 1000 0.71629209 4.4139377
|
||||
282000 31.065873 1000 0.73094905 4.4296456
|
||||
283000 31.445972 1000 0.74554115 4.4453536
|
||||
284000 31.828184 1000 0.74390104 4.4610616
|
||||
285000 32.207807 1000 0.74675359 4.4767695
|
||||
286000 32.58802 1000 0.75330713 4.4924775
|
||||
287000 32.964457 1000 0.75525926 4.5081855
|
||||
288000 33.343222 1000 0.75174884 4.5238934
|
||||
289000 33.717663 1000 0.74062375 4.5396014
|
||||
290000 34.094722 1000 0.72784613 4.5553093
|
||||
291000 34.46982 1000 0.72151574 4.5710173
|
||||
292000 34.843777 1000 0.71712409 4.5867253
|
||||
293000 35.208307 1000 0.71803758 4.6024332
|
||||
294000 35.576207 1000 0.71002715 4.6181412
|
||||
295000 35.942972 1000 0.7070911 4.6338492
|
||||
296000 36.3107 1000 0.71082175 4.6495571
|
||||
297000 36.682044 1000 0.70438977 4.6652651
|
||||
298000 37.054664 1000 0.70240345 4.6809731
|
||||
299000 37.424717 1000 0.70525357 4.696681
|
||||
300000 37.796148 1000 0.70636846 4.712389
|
||||
301000 38.166828 1000 0.70443346 4.7280969
|
||||
302000 38.538428 1000 0.71187973 4.7438049
|
||||
303000 38.907221 1000 0.71047139 4.7595129
|
||||
304000 39.280263 1000 0.71405925 4.7752208
|
||||
305000 39.652902 1000 0.71277063 4.7909288
|
||||
306000 40.02752 1000 0.72005331 4.8066368
|
||||
307000 40.402955 1000 0.72466112 4.8223447
|
||||
308000 40.784177 1000 0.72001329 4.8380527
|
||||
309000 41.173226 1000 0.70611982 4.8537606
|
||||
310000 41.559195 1000 0.70810918 4.8694686
|
||||
311000 41.946697 1000 0.70377166 4.8851766
|
||||
312000 42.337059 1000 0.70434458 4.9008845
|
||||
313000 42.728304 1000 0.70707385 4.9165925
|
||||
314000 43.120803 1000 0.71412995 4.9323005
|
||||
315000 43.510705 1000 0.72228946 4.9480084
|
||||
316000 43.901867 1000 0.72715835 4.9637164
|
||||
317000 44.295667 1000 0.73833476 4.9794244
|
||||
318000 44.687503 1000 0.75953014 4.9951323
|
||||
319000 45.077121 1000 0.76413836 5.0108403
|
||||
320000 45.465317 1000 0.76745045 5.0265482
|
||||
321000 45.86931 1000 0.75813288 5.0422562
|
||||
322000 46.277029 1000 0.75324661 5.0579642
|
||||
323000 46.680799 1000 0.75004276 5.0736721
|
||||
324000 47.082361 1000 0.74316264 5.0893801
|
||||
325000 47.481252 1000 0.74087383 5.1050881
|
||||
326000 47.87511 1000 0.73244882 5.120796
|
||||
327000 48.274582 1000 0.73096631 5.136504
|
||||
328000 48.671718 1000 0.72955403 5.152212
|
||||
329000 49.066335 1000 0.73464916 5.1679199
|
||||
330000 49.459765 1000 0.73130257 5.1836279
|
||||
331000 49.850698 1000 0.73008711 5.1993358
|
||||
332000 50.241012 1000 0.72561074 5.2150438
|
||||
333000 50.643245 1000 0.7214495 5.2307518
|
||||
334000 51.039153 1000 0.71274232 5.2464597
|
||||
335000 51.430328 1000 0.71335777 5.2621677
|
||||
336000 51.819148 1000 0.71317423 5.2778757
|
||||
337000 52.202763 1000 0.70965743 5.2935836
|
||||
338000 52.585061 1000 0.69648518 5.3092916
|
||||
339000 52.967678 1000 0.68985842 5.3249995
|
||||
340000 53.351472 1000 0.6846783 5.3407075
|
||||
341000 53.737731 1000 0.69031602 5.3564155
|
||||
342000 54.131413 1000 0.69035259 5.3721234
|
||||
343000 54.526384 1000 0.69843983 5.3878314
|
||||
344000 54.921609 1000 0.69566088 5.4035394
|
||||
345000 55.314258 1000 0.68309182 5.4192473
|
||||
346000 55.701119 1000 0.68360919 5.4349553
|
||||
347000 56.088194 1000 0.68034628 5.4506633
|
||||
348000 56.467878 1000 0.67155093 5.4663712
|
||||
349000 56.857709 1000 0.66504603 5.4820792
|
||||
350000 57.250758 1000 0.66533658 5.4977871
|
||||
351000 57.643438 1000 0.67726804 5.5134951
|
||||
352000 58.04256 1000 0.68880987 5.5292031
|
||||
353000 58.437369 1000 0.71377276 5.544911
|
||||
354000 58.832421 1000 0.71715625 5.560619
|
||||
355000 59.222221 1000 0.71729576 5.576327
|
||||
356000 59.621431 1000 0.71088872 5.5920349
|
||||
357000 60.013262 1000 0.70564615 5.6077429
|
||||
358000 60.406494 1000 0.69291739 5.6234508
|
||||
359000 60.800632 1000 0.68237469 5.6391588
|
||||
360000 61.195364 1000 0.69105856 5.6548668
|
||||
361000 61.588291 1000 0.69563351 5.6705747
|
||||
362000 61.984821 1000 0.69762747 5.6862827
|
||||
363000 62.377158 1000 0.69717346 5.7019907
|
||||
364000 62.77604 1000 0.69413964 5.7176986
|
||||
365000 63.165863 1000 0.68584257 5.7334066
|
||||
366000 63.5503 1000 0.67653762 5.7491146
|
||||
367000 63.930717 1000 0.66880284 5.7648225
|
||||
368000 64.313698 1000 0.66024732 5.7805305
|
||||
369000 64.708193 1000 0.65451701 5.7962384
|
||||
370000 65.10142 1000 0.64352268 5.8119464
|
||||
371000 65.49169 1000 0.63715296 5.8276544
|
||||
372000 65.879115 1000 0.63840106 5.8433623
|
||||
373000 66.268258 1000 0.64537192 5.8590703
|
||||
374000 66.661807 1000 0.64498753 5.8747783
|
||||
375000 67.052521 1000 0.64666103 5.8904862
|
||||
376000 67.443168 1000 0.65957055 5.9061942
|
||||
377000 67.835892 1000 0.65964257 5.9219022
|
||||
378000 68.229282 1000 0.65720396 5.9376101
|
||||
379000 68.623557 1000 0.66304265 5.9533181
|
||||
380000 69.015967 1000 0.67465814 5.969026
|
||||
381000 69.408981 1000 0.68582945 5.984734
|
||||
382000 69.796561 1000 0.69516677 6.000442
|
||||
383000 70.186403 1000 0.69835516 6.0161499
|
||||
384000 70.5765 1000 0.70403284 6.0318579
|
||||
385000 70.966205 1000 0.6955862 6.0475659
|
||||
386000 71.360054 1000 0.704932 6.0632738
|
||||
387000 71.757912 1000 0.71954173 6.0789818
|
||||
388000 72.147544 1000 0.72347529 6.0946897
|
||||
389000 72.535029 1000 0.72738907 6.1103977
|
||||
390000 72.925842 1000 0.74783091 6.1261057
|
||||
391000 73.306871 1000 0.76739039 6.1418136
|
||||
392000 73.692746 1000 0.77184224 6.1575216
|
||||
393000 74.053385 1000 0.76813357 6.1732296
|
||||
394000 74.416323 1000 0.75994091 6.1889375
|
||||
395000 74.777021 1000 0.74970188 6.2046455
|
||||
396000 75.139847 1000 0.7523174 6.2203535
|
||||
397000 75.502888 1000 0.74652931 6.2360614
|
||||
398000 75.865442 1000 0.74418096 6.2517694
|
||||
399000 76.225245 1000 0.75110038 6.2674773
|
||||
400000 76.590032 1000 0.7609274 6.2831853
|
||||
Loop time of 76.5901 on 1 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 10660.735 tau/day, 2611.305 timesteps/s, 2.611 Matom-step/s
|
||||
99.0% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 8.693 | 8.693 | 8.693 | 0.0 | 11.35
|
||||
Neigh | 0.082655 | 0.082655 | 0.082655 | 0.0 | 0.11
|
||||
Comm | 1.1618 | 1.1618 | 1.1618 | 0.0 | 1.52
|
||||
Output | 0.0052644 | 0.0052644 | 0.0052644 | 0.0 | 0.01
|
||||
Modify | 65.713 | 65.713 | 65.713 | 0.0 | 85.80
|
||||
Other | | 0.934 | | | 1.22
|
||||
|
||||
Nlocal: 1000 ave 1000 max 1000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 268 ave 268 max 268 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 5015 ave 5015 max 5015 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 5015
|
||||
Ave neighs/atom = 5.015
|
||||
Neighbor list builds = 163
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:59
|
||||
632
examples/granregion/log.15Sep22.granregion.mixer.g++.4
Normal file
632
examples/granregion/log.15Sep22.granregion.mixer.g++.4
Normal file
@ -0,0 +1,632 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
variable name string mixer
|
||||
|
||||
thermo_modify flush yes
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Particle parameters
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.3
|
||||
variable rhi equal 0.6
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.3
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.6
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.6
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable kn equal 10^5
|
||||
variable kt equal 0.2*${kn}
|
||||
variable kt equal 0.2*100000
|
||||
|
||||
variable gravity equal 1.0
|
||||
variable density equal 1.0
|
||||
|
||||
variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3
|
||||
variable a equal (-2.0*log(${coeffRes})/PI)^2
|
||||
variable a equal (-2.0*log(0.1)/PI)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 806.699778405191*0.5
|
||||
|
||||
variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.02
|
||||
variable dt equal 0.00236257621510454*0.02
|
||||
timestep ${dt}
|
||||
timestep 4.72515243020908e-05
|
||||
|
||||
###############################################
|
||||
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton on
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block 0 20 0 20 0 20
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (0 0 0) to (20 20 20)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} multi
|
||||
neighbor 0.6 multi
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Balancing ...
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 20, bins = 1 1 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/multi/newton
|
||||
stencil: half/multi/3d
|
||||
bin: multi
|
||||
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
region insreg cylinder z 10 10 8 10 18 side in units box
|
||||
region cylreg cylinder z 10 10 10 0 20 side in units box
|
||||
|
||||
variable theta equal (step/400000)*2*PI
|
||||
|
||||
region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
|
||||
region mixer intersect 3 cylreg b1 b2 side in
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer
|
||||
|
||||
fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1
|
||||
Particle insertion: 444 every 84653 steps, 1000 by step 169307
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke v_theta
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:896)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
run 200000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.816 | 5.816 | 5.816 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
0 0 0 -0 0
|
||||
1000 0.089993907 444 -0 0.015707963
|
||||
2000 0.14885989 444 -0 0.031415927
|
||||
3000 0.20954563 444 -0 0.04712389
|
||||
4000 0.27002257 444 -0 0.062831853
|
||||
5000 0.33034347 444 -0 0.078539816
|
||||
6000 0.39049526 444 -0 0.09424778
|
||||
7000 0.45002664 444 -0 0.10995574
|
||||
8000 0.50911338 444 -0 0.12566371
|
||||
9000 0.56771745 444 -0 0.14137167
|
||||
10000 0.62699472 444 -0 0.15707963
|
||||
11000 0.67300351 444 -0 0.1727876
|
||||
12000 0.71981356 444 -0 0.18849556
|
||||
13000 0.76697682 444 -0 0.20420352
|
||||
14000 0.81412229 444 -0 0.21991149
|
||||
15000 0.86284749 444 -0 0.23561945
|
||||
16000 0.91199522 444 -0 0.25132741
|
||||
17000 0.96230663 444 -0 0.26703538
|
||||
18000 1.0118327 444 -0 0.28274334
|
||||
19000 1.0617397 444 -0 0.2984513
|
||||
20000 1.111586 444 -0 0.31415927
|
||||
21000 1.1556637 444 -0 0.32986723
|
||||
22000 1.2005913 444 -0 0.34557519
|
||||
23000 1.2455061 444 -0 0.36128316
|
||||
24000 1.2910181 444 -0 0.37699112
|
||||
25000 1.3370577 444 -0 0.39269908
|
||||
26000 1.383595 444 -0 0.40840704
|
||||
27000 1.430922 444 -0 0.42411501
|
||||
28000 1.478627 444 -0 0.43982297
|
||||
29000 1.5278607 444 -0 0.45553093
|
||||
30000 1.576597 444 -0 0.4712389
|
||||
31000 1.6202694 444 -0 0.48694686
|
||||
32000 1.6646667 444 -0 0.50265482
|
||||
33000 1.7092726 444 -0 0.51836279
|
||||
34000 1.7535573 444 -0 0.53407075
|
||||
35000 1.7985995 444 -0 0.54977871
|
||||
36000 1.8440346 444 -0 0.56548668
|
||||
37000 1.8900841 444 -0 0.58119464
|
||||
38000 1.9368772 444 -0 0.5969026
|
||||
39000 1.9842867 444 -0 0.61261057
|
||||
40000 2.0318482 444 -0 0.62831853
|
||||
41000 2.0753049 444 -0 0.64402649
|
||||
42000 2.1196274 444 -0 0.65973446
|
||||
43000 2.1647071 444 -0 0.67544242
|
||||
44000 2.2101195 444 -0 0.69115038
|
||||
45000 2.2564642 444 -0 0.70685835
|
||||
46000 2.3033573 444 -0 0.72256631
|
||||
47000 2.3500515 444 -0 0.73827427
|
||||
48000 2.3972268 444 -0 0.75398224
|
||||
49000 2.4444727 444 -0 0.7696902
|
||||
50000 2.4921003 444 -0 0.78539816
|
||||
51000 2.535088 444 -0 0.80110613
|
||||
52000 2.5785564 444 -0 0.81681409
|
||||
53000 2.6221392 444 -0 0.83252205
|
||||
54000 2.6664169 444 -0 0.84823002
|
||||
55000 2.7108951 444 -0 0.86393798
|
||||
56000 2.7560522 444 -0 0.87964594
|
||||
57000 2.8010254 444 -0 0.89535391
|
||||
58000 2.8484456 444 -0 0.91106187
|
||||
59000 2.8951674 444 -0 0.92676983
|
||||
60000 2.9424205 444 -0 0.9424778
|
||||
61000 2.9885999 444 -0 0.95818576
|
||||
62000 3.0338676 444 -0 0.97389372
|
||||
63000 3.0793674 444 -0 0.98960169
|
||||
64000 3.1253557 444 -0 1.0053096
|
||||
65000 3.1723823 444 -0 1.0210176
|
||||
66000 3.2203846 444 -0 1.0367256
|
||||
67000 3.2690443 444 -0 1.0524335
|
||||
68000 3.317707 444 -0 1.0681415
|
||||
69000 3.3670196 444 -0 1.0838495
|
||||
70000 3.4160505 444 -0 1.0995574
|
||||
71000 3.4621197 444 -0 1.1152654
|
||||
72000 3.5086434 444 -0 1.1309734
|
||||
73000 3.555691 444 -0 1.1466813
|
||||
74000 3.6032072 444 -0 1.1623893
|
||||
75000 3.6514849 444 -0 1.1780972
|
||||
76000 3.7002713 444 -0 1.1938052
|
||||
77000 3.7497321 444 -0 1.2095132
|
||||
78000 3.7997711 444 -0 1.2252211
|
||||
79000 3.8504338 444 -0 1.2409291
|
||||
80000 3.9020416 444 -0 1.2566371
|
||||
81000 3.9496762 444 -0 1.272345
|
||||
82000 3.9968215 444 -0 1.288053
|
||||
83000 4.04496 444 -0 1.303761
|
||||
84000 4.0936477 444 -0 1.3194689
|
||||
85000 4.1618384 888 -0 1.3351769
|
||||
86000 4.2472086 888 -0 1.3508848
|
||||
87000 4.3322855 888 -0 1.3665928
|
||||
88000 4.4169835 888 -0 1.3823008
|
||||
89000 4.5014588 888 -0 1.3980087
|
||||
90000 4.5861842 888 -0 1.4137167
|
||||
91000 4.653654 888 -0 1.4294247
|
||||
92000 4.7217642 888 -0 1.4451326
|
||||
93000 4.791842 888 -0 1.4608406
|
||||
94000 4.8601789 888 -0 1.4765485
|
||||
95000 4.92849 888 -0 1.4922565
|
||||
96000 4.9976811 888 -0 1.5079645
|
||||
97000 5.0687073 888 -0 1.5236724
|
||||
98000 5.1387234 888 -0 1.5393804
|
||||
99000 5.2086037 888 -0 1.5550884
|
||||
100000 5.2786924 888 -0 1.5707963
|
||||
101000 5.3466895 888 -0 1.5865043
|
||||
102000 5.417132 888 -0 1.6022123
|
||||
103000 5.4865633 888 -0 1.6179202
|
||||
104000 5.5565911 888 -0 1.6336282
|
||||
105000 5.6266394 888 -0 1.6493361
|
||||
106000 5.6975394 888 -0 1.6650441
|
||||
107000 5.7687753 888 -0 1.6807521
|
||||
108000 5.8408498 888 -0 1.69646
|
||||
109000 5.9132618 888 -0 1.712168
|
||||
110000 5.9872629 888 -0 1.727876
|
||||
111000 6.0588115 888 -0 1.7435839
|
||||
112000 6.1308729 888 -0 1.7592919
|
||||
113000 6.2047311 888 -0 1.7749998
|
||||
114000 6.2780757 888 -0 1.7907078
|
||||
115000 6.3528542 888 -0 1.8064158
|
||||
116000 6.4277704 888 -0 1.8221237
|
||||
117000 6.5034683 888 -0 1.8378317
|
||||
118000 6.5795779 888 -0 1.8535397
|
||||
119000 6.655928 888 -0 1.8692476
|
||||
120000 6.7335119 888 -0 1.8849556
|
||||
121000 6.806827 888 -0 1.9006636
|
||||
122000 6.881052 888 -0 1.9163715
|
||||
123000 6.9559647 888 -0 1.9320795
|
||||
124000 7.0300829 888 -0 1.9477874
|
||||
125000 7.1047925 888 -0 1.9634954
|
||||
126000 7.1797025 888 -0 1.9792034
|
||||
127000 7.2556934 888 -0 1.9949113
|
||||
128000 7.3317803 888 -0 2.0106193
|
||||
129000 7.4088096 888 -0 2.0263273
|
||||
130000 7.4862461 888 -0 2.0420352
|
||||
131000 7.5633585 888 -0 2.0577432
|
||||
132000 7.641939 888 -0 2.0734512
|
||||
133000 7.7192741 888 -0 2.0891591
|
||||
134000 7.7970156 888 -0 2.1048671
|
||||
135000 7.8760712 888 -0 2.120575
|
||||
136000 7.9563099 888 -0 2.136283
|
||||
137000 8.0381808 888 -0 2.151991
|
||||
138000 8.1210957 888 -0 2.1676989
|
||||
139000 8.20401 888 -0 2.1834069
|
||||
140000 8.2871705 888 -0 2.1991149
|
||||
141000 8.364321 888 -0 2.2148228
|
||||
142000 8.4426744 888 -0 2.2305308
|
||||
143000 8.5238377 888 -0 2.2462387
|
||||
144000 8.6050517 888 -0 2.2619467
|
||||
145000 8.6865872 888 -0 2.2776547
|
||||
146000 8.767621 888 -0 2.2933626
|
||||
147000 8.8496616 888 -0 2.3090706
|
||||
148000 8.9329599 888 -0 2.3247786
|
||||
149000 9.0165929 888 -0 2.3404865
|
||||
150000 9.1015214 888 -0 2.3561945
|
||||
151000 9.1847289 888 -0 2.3719025
|
||||
152000 9.2689185 888 -0 2.3876104
|
||||
153000 9.3518862 888 -0 2.4033184
|
||||
154000 9.4367057 888 -0 2.4190263
|
||||
155000 9.5227466 888 -0 2.4347343
|
||||
156000 9.6087196 888 -0 2.4504423
|
||||
157000 9.6955661 888 -0 2.4661502
|
||||
158000 9.7838227 888 -0 2.4818582
|
||||
159000 9.8731804 888 -0 2.4975662
|
||||
160000 9.9626648 888 -0 2.5132741
|
||||
161000 10.050473 888 -0 2.5289821
|
||||
162000 10.137725 888 -0 2.54469
|
||||
163000 10.227259 888 -0 2.560398
|
||||
164000 10.318501 888 -0 2.576106
|
||||
165000 10.409218 888 -0 2.5918139
|
||||
166000 10.502055 888 -0 2.6075219
|
||||
167000 10.593786 888 -0 2.6232299
|
||||
168000 10.688536 888 -0 2.6389378
|
||||
169000 10.786033 888 -0 2.6546458
|
||||
170000 10.886377 1000 -0 2.6703538
|
||||
171000 10.987493 1000 -0 2.6860617
|
||||
172000 11.084584 1000 -0 2.7017697
|
||||
173000 11.181502 1000 -0 2.7174776
|
||||
174000 11.28434 1000 -0 2.7331856
|
||||
175000 11.387838 1000 -0 2.7488936
|
||||
176000 11.490915 1000 -0 2.7646015
|
||||
177000 11.595473 1000 -0 2.7803095
|
||||
178000 11.699823 1000 -0 2.7960175
|
||||
179000 11.803927 1000 -0 2.8117254
|
||||
180000 11.90548 1000 -0 2.8274334
|
||||
181000 12.00857 1000 -0 2.8431414
|
||||
182000 12.112787 1000 -0 2.8588493
|
||||
183000 12.217943 1000 -0 2.8745573
|
||||
184000 12.322668 1000 -0 2.8902652
|
||||
185000 12.428332 1000 -0 2.9059732
|
||||
186000 12.535414 1000 -0 2.9216812
|
||||
187000 12.642404 1000 -0 2.9373891
|
||||
188000 12.749332 1000 -0 2.9530971
|
||||
189000 12.856872 1000 -0 2.9688051
|
||||
190000 12.965335 1000 -0 2.984513
|
||||
191000 13.073275 1000 -0 3.000221
|
||||
192000 13.180122 1000 -0 3.0159289
|
||||
193000 13.288112 1000 -0 3.0316369
|
||||
194000 13.394688 1000 -0 3.0473449
|
||||
195000 13.501251 1000 -0 3.0630528
|
||||
196000 13.607472 1000 -0 3.0787608
|
||||
197000 13.71396 1000 -0 3.0944688
|
||||
198000 13.821133 1000 -0 3.1101767
|
||||
199000 13.929192 1000 -0 3.1258847
|
||||
200000 14.036724 1000 -0 3.1415927
|
||||
Loop time of 14.0368 on 4 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 58169.166 tau/day, 14248.307 timesteps/s, 14.248 Matom-step/s
|
||||
95.5% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.47004 | 0.75698 | 1.1 | 33.1 | 5.39
|
||||
Neigh | 0.0078501 | 0.010659 | 0.013902 | 2.7 | 0.08
|
||||
Comm | 3.9589 | 4.4102 | 4.9322 | 21.6 | 31.42
|
||||
Output | 0.0031054 | 0.0046208 | 0.0069341 | 2.1 | 0.03
|
||||
Modify | 6.1829 | 6.8363 | 7.6135 | 24.8 | 48.70
|
||||
Other | | 2.018 | | | 14.38
|
||||
|
||||
Nlocal: 250 ave 260 max 242 min
|
||||
Histogram: 1 0 1 0 0 1 0 0 0 1
|
||||
Nghost: 279.25 ave 325 max 232 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 1 1
|
||||
Neighs: 939.75 ave 1397 max 509 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 3759
|
||||
Ave neighs/atom = 3.759
|
||||
Neighbor list builds = 201
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 200000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.87 | 11.88 | 11.89 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
200000 0 1000 1.0071568 3.1415927
|
||||
201000 0.099357585 1000 1.0036239 3.1573006
|
||||
202000 0.19922889 1000 0.99846844 3.1730086
|
||||
203000 0.29896537 1000 0.98236169 3.1887165
|
||||
204000 0.39875771 1000 0.98625572 3.2044245
|
||||
205000 0.49759454 1000 0.9893407 3.2201325
|
||||
206000 0.59609243 1000 1.0012123 3.2358404
|
||||
207000 0.69408206 1000 1.0231892 3.2515484
|
||||
208000 0.79216806 1000 1.0265912 3.2672564
|
||||
209000 0.8902274 1000 1.0190202 3.2829643
|
||||
210000 0.98909509 1000 1.0267754 3.2986723
|
||||
211000 1.0882901 1000 1.0186847 3.3143802
|
||||
212000 1.1895753 1000 1.0159848 3.3300882
|
||||
213000 1.2891277 1000 0.99326329 3.3457962
|
||||
214000 1.387486 1000 0.97263135 3.3615041
|
||||
215000 1.4850078 1000 0.97246409 3.3772121
|
||||
216000 1.58405 1000 0.96000626 3.3929201
|
||||
217000 1.6853829 1000 0.95730432 3.408628
|
||||
218000 1.7911163 1000 0.95605591 3.424336
|
||||
219000 1.8974141 1000 0.94983 3.440044
|
||||
220000 2.0029829 1000 0.95291888 3.4557519
|
||||
221000 2.108723 1000 0.93612997 3.4714599
|
||||
222000 2.2151561 1000 0.93414081 3.4871678
|
||||
223000 2.3220866 1000 0.93321246 3.5028758
|
||||
224000 2.4285504 1000 0.93026943 3.5185838
|
||||
225000 2.5356173 1000 0.930478 3.5342917
|
||||
226000 2.6415516 1000 0.92909096 3.5499997
|
||||
227000 2.747634 1000 0.92308495 3.5657077
|
||||
228000 2.8524082 1000 0.91075986 3.5814156
|
||||
229000 2.9570172 1000 0.9006662 3.5971236
|
||||
230000 3.0627535 1000 0.88869212 3.6128316
|
||||
231000 3.1683919 1000 0.8877611 3.6285395
|
||||
232000 3.2749534 1000 0.89409636 3.6442475
|
||||
233000 3.3824185 1000 0.90866091 3.6599554
|
||||
234000 3.4917899 1000 0.90454601 3.6756634
|
||||
235000 3.6009156 1000 0.89408327 3.6913714
|
||||
236000 3.7111309 1000 0.8881044 3.7070793
|
||||
237000 3.8197619 1000 0.89322168 3.7227873
|
||||
238000 3.9302291 1000 0.89018045 3.7384953
|
||||
239000 4.0407242 1000 0.88771268 3.7542032
|
||||
240000 4.1521989 1000 0.88957717 3.7699112
|
||||
241000 4.2639861 1000 0.89362036 3.7856191
|
||||
242000 4.3782856 1000 0.90967472 3.8013271
|
||||
243000 4.4925107 1000 0.91366381 3.8170351
|
||||
244000 4.6057342 1000 0.9150959 3.832743
|
||||
245000 4.7199383 1000 0.92725789 3.848451
|
||||
246000 4.8346784 1000 0.93024722 3.864159
|
||||
247000 4.9515438 1000 0.93297974 3.8798669
|
||||
248000 5.0696512 1000 0.94755869 3.8955749
|
||||
249000 5.1838845 1000 0.94761679 3.9112829
|
||||
250000 5.297991 1000 0.92701064 3.9269908
|
||||
251000 5.412562 1000 0.91365252 3.9426988
|
||||
252000 5.5274859 1000 0.90918381 3.9584067
|
||||
253000 5.6418647 1000 0.90612685 3.9741147
|
||||
254000 5.7593721 1000 0.90352142 3.9898227
|
||||
255000 5.8759086 1000 0.90421567 4.0055306
|
||||
256000 5.993588 1000 0.90024688 4.0212386
|
||||
257000 6.1142027 1000 0.88540341 4.0369466
|
||||
258000 6.2318882 1000 0.87890423 4.0526545
|
||||
259000 6.3502765 1000 0.86833748 4.0683625
|
||||
260000 6.4677878 1000 0.85465694 4.0840704
|
||||
261000 6.5875341 1000 0.83941242 4.0997784
|
||||
262000 6.7063481 1000 0.81790404 4.1154864
|
||||
263000 6.8249742 1000 0.82284562 4.1311943
|
||||
264000 6.9421188 1000 0.80961447 4.1469023
|
||||
265000 7.0588866 1000 0.80567073 4.1626103
|
||||
266000 7.1763855 1000 0.79577448 4.1783182
|
||||
267000 7.295632 1000 0.78489106 4.1940262
|
||||
268000 7.4144463 1000 0.77348757 4.2097342
|
||||
269000 7.5333839 1000 0.76606696 4.2254421
|
||||
270000 7.6527119 1000 0.7649744 4.2411501
|
||||
271000 7.7704222 1000 0.76050309 4.256858
|
||||
272000 7.8903012 1000 0.75378759 4.272566
|
||||
273000 8.0106197 1000 0.75633811 4.288274
|
||||
274000 8.1309707 1000 0.75703106 4.3039819
|
||||
275000 8.2522837 1000 0.75227453 4.3196899
|
||||
276000 8.3730898 1000 0.76003902 4.3353979
|
||||
277000 8.4955037 1000 0.76274661 4.3511058
|
||||
278000 8.6153206 1000 0.75888482 4.3668138
|
||||
279000 8.7339569 1000 0.75071875 4.3825218
|
||||
280000 8.8515447 1000 0.75454927 4.3982297
|
||||
281000 8.9685253 1000 0.75617824 4.4139377
|
||||
282000 9.0856168 1000 0.75230835 4.4296456
|
||||
283000 9.2018894 1000 0.75417571 4.4453536
|
||||
284000 9.3179777 1000 0.74559345 4.4610616
|
||||
285000 9.4341721 1000 0.73274661 4.4767695
|
||||
286000 9.5498722 1000 0.72385193 4.4924775
|
||||
287000 9.6651326 1000 0.72398899 4.5081855
|
||||
288000 9.7810274 1000 0.72009027 4.5238934
|
||||
289000 9.8959471 1000 0.72026686 4.5396014
|
||||
290000 10.010007 1000 0.72330145 4.5553093
|
||||
291000 10.123304 1000 0.71630656 4.5710173
|
||||
292000 10.238277 1000 0.71089192 4.5867253
|
||||
293000 10.351465 1000 0.70584923 4.6024332
|
||||
294000 10.464794 1000 0.71350398 4.6181412
|
||||
295000 10.57818 1000 0.72781836 4.6338492
|
||||
296000 10.692249 1000 0.72285512 4.6495571
|
||||
297000 10.80741 1000 0.71649517 4.6652651
|
||||
298000 10.923694 1000 0.71132209 4.6809731
|
||||
299000 11.039173 1000 0.73602072 4.696681
|
||||
300000 11.157002 1000 0.74400837 4.712389
|
||||
301000 11.272462 1000 0.76618562 4.7280969
|
||||
302000 11.386581 1000 0.77476041 4.7438049
|
||||
303000 11.499191 1000 0.77124283 4.7595129
|
||||
304000 11.611585 1000 0.7625748 4.7752208
|
||||
305000 11.725012 1000 0.74979361 4.7909288
|
||||
306000 11.838032 1000 0.74515733 4.8066368
|
||||
307000 11.949194 1000 0.74302741 4.8223447
|
||||
308000 12.060586 1000 0.73732959 4.8380527
|
||||
309000 12.171445 1000 0.73368237 4.8537606
|
||||
310000 12.283518 1000 0.72374292 4.8694686
|
||||
311000 12.393447 1000 0.72107784 4.8851766
|
||||
312000 12.505136 1000 0.72944426 4.9008845
|
||||
313000 12.616959 1000 0.73958637 4.9165925
|
||||
314000 12.730312 1000 0.75160847 4.9323005
|
||||
315000 12.846163 1000 0.74419683 4.9480084
|
||||
316000 12.960328 1000 0.74652593 4.9637164
|
||||
317000 13.073994 1000 0.74933482 4.9794244
|
||||
318000 13.186549 1000 0.74200509 4.9951323
|
||||
319000 13.296925 1000 0.7346024 5.0108403
|
||||
320000 13.406825 1000 0.72806145 5.0265482
|
||||
321000 13.51703 1000 0.72147888 5.0422562
|
||||
322000 13.628261 1000 0.71460041 5.0579642
|
||||
323000 13.74063 1000 0.70255075 5.0736721
|
||||
324000 13.853826 1000 0.70640327 5.0893801
|
||||
325000 13.968533 1000 0.70643428 5.1050881
|
||||
326000 14.081456 1000 0.69751794 5.120796
|
||||
327000 14.195505 1000 0.69035108 5.136504
|
||||
328000 14.310048 1000 0.68068243 5.152212
|
||||
329000 14.426048 1000 0.69123492 5.1679199
|
||||
330000 14.543349 1000 0.70326515 5.1836279
|
||||
331000 14.662021 1000 0.70551726 5.1993358
|
||||
332000 14.782194 1000 0.70514444 5.2150438
|
||||
333000 14.901573 1000 0.71102045 5.2307518
|
||||
334000 15.020642 1000 0.71336747 5.2464597
|
||||
335000 15.136739 1000 0.70816388 5.2621677
|
||||
336000 15.252554 1000 0.69502472 5.2778757
|
||||
337000 15.368496 1000 0.69314289 5.2935836
|
||||
338000 15.483744 1000 0.68565794 5.3092916
|
||||
339000 15.599584 1000 0.67268053 5.3249995
|
||||
340000 15.717342 1000 0.68313196 5.3407075
|
||||
341000 15.835594 1000 0.68782815 5.3564155
|
||||
342000 15.954546 1000 0.6989326 5.3721234
|
||||
343000 16.074184 1000 0.694926 5.3878314
|
||||
344000 16.193902 1000 0.7006474 5.4035394
|
||||
345000 16.314878 1000 0.70783177 5.4192473
|
||||
346000 16.434704 1000 0.71334276 5.4349553
|
||||
347000 16.554708 1000 0.72917419 5.4506633
|
||||
348000 16.673034 1000 0.74315705 5.4663712
|
||||
349000 16.791269 1000 0.76731311 5.4820792
|
||||
350000 16.912554 1000 0.79761434 5.4977871
|
||||
351000 17.03323 1000 0.80447724 5.5134951
|
||||
352000 17.155644 1000 0.80118728 5.5292031
|
||||
353000 17.281134 1000 0.77990459 5.544911
|
||||
354000 17.406672 1000 0.76453299 5.560619
|
||||
355000 17.532346 1000 0.76538392 5.576327
|
||||
356000 17.657256 1000 0.76310698 5.5920349
|
||||
357000 17.782477 1000 0.75897095 5.6077429
|
||||
358000 17.909642 1000 0.75071115 5.6234508
|
||||
359000 18.035032 1000 0.74034801 5.6391588
|
||||
360000 18.160696 1000 0.72671924 5.6548668
|
||||
361000 18.285089 1000 0.72111017 5.6705747
|
||||
362000 18.408849 1000 0.71875181 5.6862827
|
||||
363000 18.533901 1000 0.71469706 5.7019907
|
||||
364000 18.659326 1000 0.70470493 5.7176986
|
||||
365000 18.784109 1000 0.70863047 5.7334066
|
||||
366000 18.911344 1000 0.70850561 5.7491146
|
||||
367000 19.039756 1000 0.71413452 5.7648225
|
||||
368000 19.169907 1000 0.71314184 5.7805305
|
||||
369000 19.299066 1000 0.71309549 5.7962384
|
||||
370000 19.428116 1000 0.71132937 5.8119464
|
||||
371000 19.553027 1000 0.70788039 5.8276544
|
||||
372000 19.678121 1000 0.71780071 5.8433623
|
||||
373000 19.804465 1000 0.72352571 5.8590703
|
||||
374000 19.92949 1000 0.71723739 5.8747783
|
||||
375000 20.053554 1000 0.71556941 5.8904862
|
||||
376000 20.177991 1000 0.70935312 5.9061942
|
||||
377000 20.301972 1000 0.71551157 5.9219022
|
||||
378000 20.427612 1000 0.7235163 5.9376101
|
||||
379000 20.554742 1000 0.73896421 5.9533181
|
||||
380000 20.680899 1000 0.74906169 5.969026
|
||||
381000 20.805515 1000 0.75303336 5.984734
|
||||
382000 20.931483 1000 0.75359492 6.000442
|
||||
383000 21.05731 1000 0.75579354 6.0161499
|
||||
384000 21.184712 1000 0.75178368 6.0318579
|
||||
385000 21.310667 1000 0.74412159 6.0475659
|
||||
386000 21.433509 1000 0.7360955 6.0632738
|
||||
387000 21.554251 1000 0.73461103 6.0789818
|
||||
388000 21.674477 1000 0.72496617 6.0946897
|
||||
389000 21.794698 1000 0.7219047 6.1103977
|
||||
390000 21.914083 1000 0.71837013 6.1261057
|
||||
391000 22.033188 1000 0.71495923 6.1418136
|
||||
392000 22.152689 1000 0.71436707 6.1575216
|
||||
393000 22.271183 1000 0.71447834 6.1732296
|
||||
394000 22.389775 1000 0.71334298 6.1889375
|
||||
395000 22.509106 1000 0.71510229 6.2046455
|
||||
396000 22.628068 1000 0.7121714 6.2203535
|
||||
397000 22.746926 1000 0.70818894 6.2360614
|
||||
398000 22.865086 1000 0.70059455 6.2517694
|
||||
399000 22.982394 1000 0.69960089 6.2674773
|
||||
400000 23.100381 1000 0.70261998 6.2831853
|
||||
Loop time of 23.1004 on 4 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 35345.963 tau/day, 8657.854 timesteps/s, 8.658 Matom-step/s
|
||||
92.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.263 | 2.1388 | 3.0295 | 58.6 | 9.26
|
||||
Neigh | 0.012633 | 0.017793 | 0.023147 | 3.7 | 0.08
|
||||
Comm | 7.8521 | 9.0474 | 10.284 | 39.6 | 39.17
|
||||
Output | 0.0029549 | 0.004916 | 0.0068506 | 2.0 | 0.02
|
||||
Modify | 8.3635 | 9.8066 | 11.142 | 41.0 | 42.45
|
||||
Other | | 2.085 | | | 9.03
|
||||
|
||||
Nlocal: 250 ave 258 max 241 min
|
||||
Histogram: 1 0 0 0 1 0 0 1 0 1
|
||||
Nghost: 412 ave 492 max 332 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 1258.5 ave 1588 max 953 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 5034
|
||||
Ave neighs/atom = 5.034
|
||||
Neighbor list builds = 159
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:37
|
||||
@ -1,475 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pouring spheres into container box
|
||||
|
||||
units lj
|
||||
atom_style sphere
|
||||
boundary f f f
|
||||
dimension 3
|
||||
comm_modify vel yes
|
||||
|
||||
region box block -10 10 -10 10 -10 10 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1
|
||||
pair_coeff * * gran/hooke
|
||||
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 2 all nve/sphere
|
||||
fix 3 all gravity 1.0 vector 0 0 -1
|
||||
|
||||
region slab block -2 2 -2 2 -2 2 units box
|
||||
fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore
|
||||
Particle insertion: 48 every 566 steps, 100 by step 1133
|
||||
|
||||
timestep 0.005
|
||||
|
||||
compute 1 all temp
|
||||
compute_modify 1 dynamic/dof yes
|
||||
|
||||
compute 2 all temp/sphere
|
||||
compute_modify 2 dynamic/dof yes
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step atoms temp c_1 c_2 press
|
||||
thermo_modify lost ignore
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 31 31 31
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hooke, perpetual
|
||||
attributes: half, newton on, size
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.5855 | 0.5855 | 0.5855 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
0 0 0 0 0 0
|
||||
100 21 0.54270729 0.54270729 0.26473526 0.0013567682
|
||||
200 21 0.87606961 0.87606961 0.42735103 0.002190174
|
||||
300 21 1.1428374 1.1428374 0.55748167 0.0028570936
|
||||
400 21 1.3543103 1.3543103 0.66829516 0.0033857758
|
||||
500 21 1.0677786 1.0677786 0.53582407 0.0045048164
|
||||
600 56 0.6744286 0.6744286 0.3502938 0.0047464584
|
||||
700 56 0.75569283 0.75569283 0.39779462 0.0051953882
|
||||
800 56 0.61597505 0.61597505 0.32943642 0.0086022783
|
||||
900 56 0.65260802 0.65260802 0.34474044 0.0059298996
|
||||
1000 56 0.51624952 0.51624952 0.28326898 0.0067827337
|
||||
1100 56 0.46050076 0.46050076 0.25656319 0.0061891094
|
||||
1200 81 0.39112346 0.39112346 0.21690172 0.0086559316
|
||||
1300 81 0.33302617 0.33302617 0.19109398 0.0033381104
|
||||
1400 81 0.3933533 0.3933533 0.21221692 0.004135078
|
||||
1500 81 0.35495297 0.35495297 0.19925984 0.0037374946
|
||||
1600 81 0.34150606 0.34150606 0.19025811 0.0053492835
|
||||
1700 100 0.2561647 0.2561647 0.14186278 0.0090767057
|
||||
1800 100 0.21124278 0.21124278 0.12154878 0.0028545759
|
||||
1900 100 0.21793955 0.21793955 0.12173867 0.0029049155
|
||||
2000 100 0.25530858 0.25530858 0.13892272 0.0035528009
|
||||
2100 100 0.24671808 0.24671808 0.13687783 0.0076812435
|
||||
2200 100 0.22465216 0.22465216 0.12513603 0.0042528715
|
||||
2300 100 0.19362854 0.19362854 0.10914305 0.0061173739
|
||||
2400 100 0.061627608 0.061627608 0.045907717 0.0010422721
|
||||
2500 100 0.052700901 0.052700901 0.038883014 0.0019341647
|
||||
2600 100 0.037332018 0.037332018 0.028357146 0.0028364476
|
||||
2700 100 0.033526602 0.033526602 0.024609055 0.00044524562
|
||||
2800 100 0.0194148 0.0194148 0.014491377 0.00056526591
|
||||
2900 100 0.012346108 0.012346108 0.009857017 0.00081855699
|
||||
3000 100 0.0107344 0.0107344 0.008669364 0.00040371396
|
||||
3100 100 0.0092678291 0.0092678291 0.0073003108 0.00033287397
|
||||
3200 100 0.0085847001 0.0085847001 0.0064045591 0.00023253547
|
||||
3300 100 0.0049475182 0.0049475182 0.0041173627 0.00019876269
|
||||
3400 100 0.0030471097 0.0030471097 0.0026940466 0.00013462604
|
||||
3500 100 0.0031188371 0.0031188371 0.002612223 0.00026148578
|
||||
3600 100 0.0017616584 0.0017616584 0.0017464137 0.00019049724
|
||||
3700 100 0.0015475923 0.0015475923 0.0015560356 0.00025062814
|
||||
3800 100 0.0012547887 0.0012547887 0.0012622678 0.00014132236
|
||||
3900 100 0.0010047282 0.0010047282 0.0010379262 9.7665594e-05
|
||||
4000 100 0.00080895307 0.00080895307 0.00088263027 8.1278842e-05
|
||||
4100 100 0.00079078739 0.00079078739 0.00085810727 8.1271694e-05
|
||||
4200 100 0.00075192318 0.00075192318 0.00083085046 8.9352453e-05
|
||||
4300 100 0.00063546457 0.00063546457 0.00073222177 8.9264255e-05
|
||||
4400 100 0.00062398391 0.00062398391 0.00071312118 8.4200615e-05
|
||||
4500 100 0.00056464934 0.00056464934 0.00066087801 9.2097641e-05
|
||||
4600 100 0.00066951894 0.00066951894 0.00071633313 8.2457941e-05
|
||||
4700 100 0.001128837 0.001128837 0.00095293877 0.00011716361
|
||||
4800 100 0.00049580391 0.00049580391 0.00056710488 0.00010718794
|
||||
4900 100 0.00054374371 0.00054374371 0.00058671699 5.6580257e-05
|
||||
5000 100 0.00043016232 0.00043016232 0.00050264172 2.8640786e-05
|
||||
Loop time of 0.0807264 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 26757050.955 tau/day, 61937.618 timesteps/s
|
||||
97.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0089066 | 0.0089066 | 0.0089066 | 0.0 | 11.03
|
||||
Neigh | 0.017107 | 0.017107 | 0.017107 | 0.0 | 21.19
|
||||
Comm | 0.00091505 | 0.00091505 | 0.00091505 | 0.0 | 1.13
|
||||
Output | 0.00051451 | 0.00051451 | 0.00051451 | 0.0 | 0.64
|
||||
Modify | 0.047671 | 0.047671 | 0.047671 | 0.0 | 59.05
|
||||
Other | | 0.005612 | | | 6.95
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 158 ave 158 max 158 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 158
|
||||
Ave neighs/atom = 1.58
|
||||
Neighbor list builds = 310
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-5000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
5000 100 0.00043016232 0.00043016232 0.00050264172 2.8677624e-05
|
||||
5100 100 0.56489668 0.56489668 0.31137762 0.011848041
|
||||
5200 100 0.66068288 0.66068288 0.35915482 0.010199755
|
||||
5300 100 0.74068022 0.74068022 0.39643217 0.010806409
|
||||
5400 100 0.80913562 0.80913562 0.42748505 0.01190892
|
||||
5500 100 0.89409135 0.89409135 0.46135116 0.013093474
|
||||
5600 100 0.97585093 0.97585093 0.50021126 0.013588886
|
||||
5700 100 1.0151954 1.0151954 0.5174624 0.01601347
|
||||
5800 100 1.0452728 1.0452728 0.53122496 0.01879329
|
||||
5900 100 1.0881689 1.0881689 0.55152229 0.017120714
|
||||
6000 100 1.1133186 1.1133186 0.5638022 0.017284617
|
||||
6100 100 1.1532099 1.1532099 0.58310076 0.017031384
|
||||
6200 100 1.1798849 1.1798849 0.5959516 0.017971323
|
||||
6300 100 1.19387 1.19387 0.60173877 0.020140984
|
||||
6400 100 1.2126705 1.2126705 0.61086899 0.018426638
|
||||
6500 100 1.2137646 1.2137646 0.61284198 0.019127381
|
||||
6600 100 1.2339012 1.2339012 0.62199324 0.019378799
|
||||
6700 100 1.2439326 1.2439326 0.62488425 0.021049447
|
||||
6800 100 1.2489549 1.2489549 0.6278167 0.019552409
|
||||
6900 100 1.2733303 1.2733303 0.63898149 0.020237284
|
||||
7000 100 1.2835029 1.2835029 0.6440245 0.020798586
|
||||
7100 100 1.2866111 1.2866111 0.64522896 0.020355019
|
||||
7200 100 1.2886381 1.2886381 0.6467497 0.02062322
|
||||
7300 100 1.2885085 1.2885085 0.64617988 0.020350755
|
||||
7400 100 1.2912349 1.2912349 0.64691898 0.020197503
|
||||
7500 100 1.2963062 1.2963062 0.64926335 0.020349791
|
||||
7600 100 1.3016488 1.3016488 0.65150178 0.021001457
|
||||
7700 100 1.3009311 1.3009311 0.65106234 0.021546471
|
||||
7800 100 1.3016987 1.3016987 0.65143099 0.020994967
|
||||
7900 100 1.3028811 1.3028811 0.65164558 0.022200425
|
||||
8000 100 1.3087855 1.3087855 0.65439023 0.021310808
|
||||
8100 100 1.3102001 1.3102001 0.65514941 0.021177764
|
||||
8200 100 1.3133931 1.3133931 0.65681861 0.021591267
|
||||
8300 100 1.3148898 1.3148898 0.65775353 0.021335384
|
||||
8400 100 1.3160355 1.3160355 0.65845913 0.021238095
|
||||
8500 100 1.3171797 1.3171797 0.65934185 0.021172983
|
||||
8600 100 1.3176785 1.3176785 0.65964311 0.020747457
|
||||
8700 100 1.3180425 1.3180425 0.66019624 0.021275913
|
||||
8800 100 1.3287501 1.3287501 0.66444242 0.021832635
|
||||
8900 100 1.3249847 1.3249847 0.6625848 0.021337451
|
||||
9000 100 1.326216 1.326216 0.66297827 0.021470663
|
||||
9100 100 1.3261662 1.3261662 0.66303852 0.021423573
|
||||
9200 100 1.3312132 1.3312132 0.6653609 0.021385943
|
||||
9300 100 1.3300976 1.3300976 0.66504574 0.021489888
|
||||
9400 100 1.3377335 1.3377335 0.66820989 0.021565001
|
||||
9500 100 1.3421956 1.3421956 0.67027168 0.022402346
|
||||
9600 100 1.3464217 1.3464217 0.67228206 0.021991922
|
||||
9700 100 1.3470623 1.3470623 0.67258349 0.022035729
|
||||
9800 100 1.3446725 1.3446725 0.67135725 0.022295251
|
||||
9900 100 1.343146 1.343146 0.67066672 0.022049041
|
||||
10000 100 1.3435397 1.3435397 0.67093067 0.022451365
|
||||
Loop time of 0.247549 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 8725560.044 tau/day, 20198.056 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.031783 | 0.031783 | 0.031783 | 0.0 | 12.84
|
||||
Neigh | 0.038383 | 0.038383 | 0.038383 | 0.0 | 15.51
|
||||
Comm | 0.0012343 | 0.0012343 | 0.0012343 | 0.0 | 0.50
|
||||
Output | 0.00056028 | 0.00056028 | 0.00056028 | 0.0 | 0.23
|
||||
Modify | 0.1687 | 0.1687 | 0.1687 | 0.0 | 68.15
|
||||
Other | | 0.00689 | | | 2.78
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 199 ave 199 max 199 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 199
|
||||
Ave neighs/atom = 1.99
|
||||
Neighbor list builds = 621
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
10000 100 1.3435397 1.3435397 0.67093067 0.022411116
|
||||
10100 100 0.31352763 0.31352763 0.18877908 0.01321582
|
||||
10200 100 0.13367611 0.13367611 0.090010637 0.0074171016
|
||||
10300 100 0.068195658 0.068195658 0.052632714 0.0019696287
|
||||
10400 100 0.053814936 0.053814936 0.043037586 0.0017121584
|
||||
10500 100 0.04032072 0.04032072 0.032944572 0.0011809154
|
||||
10600 100 0.029178161 0.029178161 0.023951873 0.0007804529
|
||||
10700 100 0.025978206 0.025978206 0.021045025 0.00099531465
|
||||
10800 100 0.023205036 0.023205036 0.01898502 0.00040036401
|
||||
10900 100 0.019994638 0.019994638 0.016451227 0.00027385559
|
||||
11000 100 0.017838131 0.017838131 0.014730762 0.00040399762
|
||||
11100 100 0.014863196 0.014863196 0.012314308 0.00019097464
|
||||
11200 100 0.012131256 0.012131256 0.010102122 0.00018514926
|
||||
11300 100 0.010881385 0.010881385 0.0090013541 0.00016579157
|
||||
11400 100 0.0076519814 0.0076519814 0.0064604568 0.00035399997
|
||||
11500 100 0.0067507315 0.0067507315 0.0057378868 0.00049116726
|
||||
11600 100 0.0053146649 0.0053146649 0.0047005938 0.00019625233
|
||||
11700 100 0.0044162463 0.0044162463 0.0039534657 0.00012548039
|
||||
11800 100 0.0037025387 0.0037025387 0.0033604103 6.2969827e-05
|
||||
11900 100 0.0032632211 0.0032632211 0.0030406641 8.1600622e-05
|
||||
12000 100 0.0028944057 0.0028944057 0.0026875858 6.6435833e-05
|
||||
12100 100 0.0027644728 0.0027644728 0.0025859762 5.5899271e-05
|
||||
12200 100 0.002480367 0.002480367 0.0023685117 6.0201418e-05
|
||||
12300 100 0.0024136475 0.0024136475 0.0023107986 4.4386874e-05
|
||||
12400 100 0.0021911567 0.0021911567 0.0021413262 5.0213175e-05
|
||||
12500 100 0.0019775905 0.0019775905 0.0019927698 0.00035250097
|
||||
12600 100 0.0017410363 0.0017410363 0.001830428 5.7885177e-05
|
||||
12700 100 0.0015749276 0.0015749276 0.0016816771 4.5530192e-05
|
||||
12800 100 0.0015187705 0.0015187705 0.0016218625 4.0589413e-05
|
||||
12900 100 0.0014778376 0.0014778376 0.001580232 4.0085455e-05
|
||||
13000 100 0.0014693491 0.0014693491 0.0015681809 4.0407656e-05
|
||||
13100 100 0.0014434495 0.0014434495 0.0015356278 5.7849212e-05
|
||||
13200 100 0.0014121959 0.0014121959 0.0015058758 3.2720737e-05
|
||||
13300 100 0.0012876041 0.0012876041 0.0013838998 3.7725702e-05
|
||||
13400 100 0.0012304951 0.0012304951 0.0013373457 3.6784546e-05
|
||||
13500 100 0.0011954303 0.0011954303 0.0012877627 3.6584963e-05
|
||||
13600 100 0.0011028947 0.0011028947 0.0011955404 2.3767582e-05
|
||||
13700 100 0.0010611762 0.0010611762 0.0011504675 3.485879e-05
|
||||
13800 100 0.0010080835 0.0010080835 0.0010997919 3.7905404e-05
|
||||
13900 100 0.00096495712 0.00096495712 0.0010530767 3.5273885e-05
|
||||
14000 100 0.00094945029 0.00094945029 0.0010409175 3.3718395e-05
|
||||
14100 100 0.00092386757 0.00092386757 0.0010217415 3.3313256e-05
|
||||
14200 100 0.00088928389 0.00088928389 0.000983023 3.290941e-05
|
||||
14300 100 0.00082696485 0.00082696485 0.00092690771 3.1651431e-05
|
||||
14400 100 0.00081086188 0.00081086188 0.00091681096 3.1845632e-05
|
||||
14500 100 0.00077732305 0.00077732305 0.00087592983 4.8087361e-05
|
||||
14600 100 0.00073386005 0.00073386005 0.00082546873 3.0892065e-05
|
||||
14700 100 0.00068701098 0.00068701098 0.00075953521 0.00010208859
|
||||
14800 100 0.00065860451 0.00065860451 0.00073738846 2.9272912e-05
|
||||
14900 100 0.00064706564 0.00064706564 0.00072748391 2.9817955e-05
|
||||
15000 100 0.00064227996 0.00064227996 0.00070964586 3.2547768e-05
|
||||
Loop time of 0.0840213 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 25707757.817 tau/day, 59508.699 timesteps/s
|
||||
98.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.01004 | 0.01004 | 0.01004 | 0.0 | 11.95
|
||||
Neigh | 0.0057366 | 0.0057366 | 0.0057366 | 0.0 | 6.83
|
||||
Comm | 0.00086808 | 0.00086808 | 0.00086808 | 0.0 | 1.03
|
||||
Output | 0.00049472 | 0.00049472 | 0.00049472 | 0.0 | 0.59
|
||||
Modify | 0.060893 | 0.060893 | 0.060893 | 0.0 | 72.47
|
||||
Other | | 0.005989 | | | 7.13
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 151 ave 151 max 151 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 151
|
||||
Ave neighs/atom = 1.51
|
||||
Neighbor list builds = 92
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-15000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
15000 100 0.00064227996 0.00064227996 0.00070964586 3.2291286e-05
|
||||
15100 100 0.81230775 0.81230775 0.53266834 0.010948517
|
||||
15200 100 0.87957637 0.87957637 0.57559572 0.012401402
|
||||
15300 100 1.0262431 1.0262431 0.66535656 0.015239294
|
||||
15400 100 1.2863564 1.2863564 0.82026439 0.020115365
|
||||
15500 100 1.4721549 1.4721549 0.92138954 0.022400442
|
||||
15600 100 1.7140429 1.7140429 1.0103822 0.02558084
|
||||
15700 100 1.8963287 1.8963287 1.0916756 0.032032318
|
||||
15800 100 2.0741177 2.0741177 1.1706233 0.034251942
|
||||
15900 100 2.1434733 2.1434733 1.2054242 0.030132271
|
||||
16000 100 2.1409892 2.1409892 1.2019761 0.030914205
|
||||
16100 100 2.2496058 2.2496058 1.2476438 0.030939743
|
||||
16200 100 2.233356 2.233356 1.2499888 0.030097445
|
||||
16300 100 2.2673491 2.2673491 1.272321 0.030968524
|
||||
16400 100 2.3735648 2.3735648 1.3126117 0.034532377
|
||||
16500 100 2.4510087 2.4510087 1.3588349 0.036685351
|
||||
16600 100 2.497406 2.497406 1.3811443 0.032019982
|
||||
16700 100 2.6800518 2.6800518 1.4661941 0.037455527
|
||||
16800 100 2.8673997 2.8673997 1.5558303 0.03606532
|
||||
16900 100 3.1229488 3.1229488 1.6918439 0.039753213
|
||||
17000 100 3.117815 3.117815 1.6996841 0.046210837
|
||||
17100 100 3.3336225 3.3336225 1.7834517 0.047865361
|
||||
17200 100 3.1773164 3.1773164 1.7113961 0.047778334
|
||||
17300 100 3.4336759 3.4336759 1.8343073 0.049673718
|
||||
17400 100 3.3142326 3.3142326 1.7796613 0.055329946
|
||||
17500 100 3.3205493 3.3205493 1.7853946 0.043558145
|
||||
17600 100 3.2764553 3.2764553 1.7640702 0.051463316
|
||||
17700 100 3.1909643 3.1909643 1.7407995 0.043248948
|
||||
17800 100 3.1958324 3.1958324 1.735056 0.050123145
|
||||
17900 100 3.2431806 3.2431806 1.7380638 0.050838878
|
||||
18000 100 3.2967417 3.2967417 1.7705821 0.042176084
|
||||
18100 100 3.4270672 3.4270672 1.8459819 0.043589925
|
||||
18200 100 3.3638494 3.3638494 1.8159436 0.048949648
|
||||
18300 100 3.3192279 3.3192279 1.8122198 0.043629595
|
||||
18400 100 3.2627211 3.2627211 1.796316 0.045504529
|
||||
18500 100 3.5669172 3.5669172 1.9257062 0.048460393
|
||||
18600 100 3.5546411 3.5546411 1.9154318 0.046890968
|
||||
18700 100 3.7288485 3.7288485 2.011106 0.046906531
|
||||
18800 100 3.6800347 3.6800347 1.9936406 0.049985172
|
||||
18900 100 3.7151898 3.7151898 2.007659 0.050394561
|
||||
19000 100 3.9693368 3.9693368 2.1311549 0.053710204
|
||||
19100 100 3.6907732 3.6907732 1.9939387 0.05480136
|
||||
19200 100 3.8808777 3.8808777 2.0790125 0.055093552
|
||||
19300 100 3.8422142 3.8422142 2.0756951 0.058090774
|
||||
19400 100 3.7836875 3.7836875 2.0399805 0.06965907
|
||||
19500 100 4.0480195 4.0480195 2.169214 0.053420651
|
||||
19600 100 3.965917 3.965917 2.1245227 0.059077084
|
||||
19700 100 3.8980869 3.8980869 2.0956306 0.050857062
|
||||
19800 100 4.008079 4.008079 2.1501421 0.054938689
|
||||
19900 100 3.7244506 3.7244506 2.0080877 0.055481507
|
||||
20000 100 3.8146094 3.8146094 2.0541416 0.053187111
|
||||
Loop time of 0.210396 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 10266363.999 tau/day, 23764.731 timesteps/s
|
||||
98.3% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.013991 | 0.013991 | 0.013991 | 0.0 | 6.65
|
||||
Neigh | 0.056947 | 0.056947 | 0.056947 | 0.0 | 27.07
|
||||
Comm | 0.0013928 | 0.0013928 | 0.0013928 | 0.0 | 0.66
|
||||
Output | 0.00054646 | 0.00054646 | 0.00054646 | 0.0 | 0.26
|
||||
Modify | 0.13027 | 0.13027 | 0.13027 | 0.0 | 61.92
|
||||
Other | | 0.007249 | | | 3.45
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 144 ave 144 max 144 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 144
|
||||
Ave neighs/atom = 1.44
|
||||
Neighbor list builds = 910
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.836 | 5.836 | 5.836 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
20000 100 3.8146094 3.8146094 2.0541416 0.052956687
|
||||
20100 100 1.3848453 1.3848453 0.82244153 0.017544632
|
||||
20200 100 0.89469578 0.89469578 0.55929611 0.0111604
|
||||
20300 100 0.83962013 0.83962013 0.52665461 0.010396174
|
||||
20400 100 0.77264252 0.77264252 0.48961142 0.0095493901
|
||||
20500 100 0.78613208 0.78613208 0.48683715 0.012166835
|
||||
20600 100 0.88411633 0.88411633 0.52854942 0.011725323
|
||||
20700 100 0.89833225 0.89833225 0.52549693 0.012193413
|
||||
20800 100 0.90216089 0.90216089 0.51167019 0.014289685
|
||||
20900 100 0.98665057 0.98665057 0.5468893 0.013794318
|
||||
21000 100 0.7576342 0.7576342 0.42758791 0.011720156
|
||||
21100 100 0.3821563 0.3821563 0.23426423 0.005324458
|
||||
21200 100 0.17486973 0.17486973 0.12876582 0.0029726352
|
||||
21300 100 0.17940562 0.17940562 0.12400155 0.0026179917
|
||||
21400 100 0.15526876 0.15526876 0.10526802 0.002341177
|
||||
21500 100 0.079493361 0.079493361 0.062289324 0.0017379534
|
||||
21600 100 0.057299519 0.057299519 0.047939171 0.0020095941
|
||||
21700 100 0.056900097 0.056900097 0.045799124 0.0017782068
|
||||
21800 100 0.039847861 0.039847861 0.035138066 0.0018265057
|
||||
21900 100 0.03919167 0.03919167 0.031815619 0.0012160098
|
||||
22000 100 0.025499317 0.025499317 0.022126202 0.0010056809
|
||||
22100 100 0.018956113 0.018956113 0.017843095 0.0016109368
|
||||
22200 100 0.017337018 0.017337018 0.016063068 0.00042537508
|
||||
22300 100 0.014785686 0.014785686 0.013007571 0.00049466367
|
||||
22400 100 0.011754087 0.011754087 0.010399793 0.00042349151
|
||||
22500 100 0.010362474 0.010362474 0.009077435 0.00025198478
|
||||
22600 100 0.0089484896 0.0089484896 0.0079474121 0.00035239475
|
||||
22700 100 0.0089936432 0.0089936432 0.0077908763 0.00018548371
|
||||
22800 100 0.0068663718 0.0068663718 0.0064061667 0.00025641972
|
||||
22900 100 0.0050272392 0.0050272392 0.0046676214 0.00040466013
|
||||
23000 100 0.0049250142 0.0049250142 0.0044849467 0.00035704909
|
||||
23100 100 0.0050508148 0.0050508148 0.0043117775 0.00030051828
|
||||
23200 100 0.0037293467 0.0037293467 0.0033592517 0.00038108923
|
||||
23300 100 0.0032823722 0.0032823722 0.0030511575 0.00040421775
|
||||
23400 100 0.0026913866 0.0026913866 0.0025493429 9.2813733e-05
|
||||
23500 100 0.0025590632 0.0025590632 0.0024466447 8.4695125e-05
|
||||
23600 100 0.0025270441 0.0025270441 0.0024236554 8.4237376e-05
|
||||
23700 100 0.0026406527 0.0026406527 0.0024501963 0.00015009901
|
||||
23800 100 0.0024633391 0.0024633391 0.0023470594 3.8990761e-05
|
||||
23900 100 0.0029505606 0.0029505606 0.0025122613 4.9810757e-05
|
||||
24000 100 0.0019535519 0.0019535519 0.0019112421 3.5804751e-05
|
||||
24100 100 0.0017505151 0.0017505151 0.001726233 2.380737e-05
|
||||
24200 100 0.0015864857 0.0015864857 0.0015479949 1.963276e-05
|
||||
24300 100 0.0014535898 0.0014535898 0.0014221262 3.6607862e-05
|
||||
24400 100 0.0013744934 0.0013744934 0.0013523293 1.4522467e-05
|
||||
24500 100 0.0013286378 0.0013286378 0.0013097089 3.2389792e-05
|
||||
24600 100 0.0012093624 0.0012093624 0.0011617482 4.848694e-05
|
||||
24700 100 0.0011817062 0.0011817062 0.0011409092 3.8898899e-05
|
||||
24800 100 0.0011142524 0.0011142524 0.0010877723 1.4560662e-05
|
||||
24900 100 0.0010941199 0.0010941199 0.0010614415 7.0209336e-05
|
||||
25000 100 0.0010773559 0.0010773559 0.0010389783 1.3332279e-05
|
||||
Loop time of 0.0912137 on 1 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 23680652.416 tau/day, 54816.325 timesteps/s
|
||||
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.010053 | 0.010053 | 0.010053 | 0.0 | 11.02
|
||||
Neigh | 0.017597 | 0.017597 | 0.017597 | 0.0 | 19.29
|
||||
Comm | 0.00092912 | 0.00092912 | 0.00092912 | 0.0 | 1.02
|
||||
Output | 0.00049806 | 0.00049806 | 0.00049806 | 0.0 | 0.55
|
||||
Modify | 0.056085 | 0.056085 | 0.056085 | 0.0 | 61.49
|
||||
Other | | 0.006052 | | | 6.63
|
||||
|
||||
Nlocal: 100 ave 100 max 100 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 143 ave 143 max 143 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 143
|
||||
Ave neighs/atom = 1.43
|
||||
Neighbor list builds = 289
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
@ -1,475 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pouring spheres into container box
|
||||
|
||||
units lj
|
||||
atom_style sphere
|
||||
boundary f f f
|
||||
dimension 3
|
||||
comm_modify vel yes
|
||||
|
||||
region box block -10 10 -10 10 -10 10 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-10 -10 -10) to (10 10 10)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
|
||||
pair_style hybrid gran/hooke 4000.0 NULL 100.0 NULL 0.5 1
|
||||
pair_coeff * * gran/hooke
|
||||
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
fix container all wall/gran/region hooke/history 4000.0 NULL 100.0 NULL 0.5 1 region container
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 2 all nve/sphere
|
||||
fix 3 all gravity 1.0 vector 0 0 -1
|
||||
|
||||
region slab block -2 2 -2 2 -2 2 units box
|
||||
fix ins all pour 100 2 4767548 vol 0.4 10 diam one 1.0 region slab ignore
|
||||
Particle insertion: 48 every 566 steps, 100 by step 1133
|
||||
|
||||
timestep 0.005
|
||||
|
||||
compute 1 all temp
|
||||
compute_modify 1 dynamic/dof yes
|
||||
|
||||
compute 2 all temp/sphere
|
||||
compute_modify 2 dynamic/dof yes
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step atoms temp c_1 c_2 press
|
||||
thermo_modify lost ignore
|
||||
compute_modify thermo_temp dynamic/dof yes
|
||||
|
||||
#dump 2 all image 100 image.*.jpg type type # zoom 1.4 adiam 1.0 box no 0.0 axes yes 0.9 0.03
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 31 31 31
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hooke, perpetual
|
||||
attributes: half, newton on, size
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 0.4834 | 0.4834 | 0.4834 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
0 0 0 0 0 0
|
||||
100 21 0.54270729 0.54270729 0.26473526 0.0013567682
|
||||
200 21 0.87606961 0.87606961 0.42735103 0.002190174
|
||||
300 21 1.1428374 1.1428374 0.55748167 0.0028570936
|
||||
400 21 1.3543103 1.3543103 0.66829516 0.0033857758
|
||||
500 21 1.0677786 1.0677786 0.53582407 0.0045048164
|
||||
600 56 0.6744286 0.6744286 0.3502938 0.0047464584
|
||||
700 56 0.75569283 0.75569283 0.39779462 0.0051953882
|
||||
800 56 0.61597505 0.61597505 0.32943642 0.0086022783
|
||||
900 56 0.65260802 0.65260802 0.34474044 0.0059298996
|
||||
1000 56 0.51624952 0.51624952 0.28326898 0.0067827337
|
||||
1100 56 0.46050076 0.46050076 0.25656319 0.0061891094
|
||||
1200 81 0.39112346 0.39112346 0.21690172 0.0086559316
|
||||
1300 81 0.33302617 0.33302617 0.19109398 0.0033381104
|
||||
1400 81 0.3933533 0.3933533 0.21221692 0.004135078
|
||||
1500 81 0.35495297 0.35495297 0.19925984 0.0037374946
|
||||
1600 81 0.34150606 0.34150606 0.19025811 0.0053492835
|
||||
1700 100 0.2561647 0.2561647 0.14186278 0.0090767057
|
||||
1800 100 0.21124278 0.21124278 0.12154878 0.002854576
|
||||
1900 100 0.21793955 0.21793955 0.12173867 0.0029049175
|
||||
2000 100 0.25530858 0.25530858 0.13892272 0.0035528022
|
||||
2100 100 0.24671805 0.24671805 0.13687782 0.0076812357
|
||||
2200 100 0.22465212 0.22465212 0.12513612 0.0042526344
|
||||
2300 100 0.19362805 0.19362805 0.10914275 0.0061175383
|
||||
2400 100 0.061626039 0.061626039 0.045905953 0.0010393593
|
||||
2500 100 0.052690575 0.052690575 0.038879745 0.0018543933
|
||||
2600 100 0.037256691 0.037256691 0.02833916 0.0027683815
|
||||
2700 100 0.033416362 0.033416362 0.024551243 0.00046725913
|
||||
2800 100 0.019617758 0.019617758 0.014619416 0.00064550316
|
||||
2900 100 0.012313874 0.012313874 0.0098188153 0.00033470181
|
||||
3000 100 0.010948455 0.010948455 0.0087981878 0.00034401243
|
||||
3100 100 0.009359431 0.009359431 0.0073642412 0.00045497356
|
||||
3200 100 0.008129885 0.008129885 0.0061460516 0.00029944201
|
||||
3300 100 0.0050682533 0.0050682533 0.0042692811 0.00026543293
|
||||
3400 100 0.0031539312 0.0031539312 0.0027256511 0.00012475748
|
||||
3500 100 0.0023621311 0.0023621311 0.0021691817 0.0001186392
|
||||
3600 100 0.0018305354 0.0018305354 0.0018004128 0.00015926282
|
||||
3700 100 0.0016522492 0.0016522492 0.0017231072 0.0002193159
|
||||
3800 100 0.0011715102 0.0011715102 0.0012739973 0.0001747857
|
||||
3900 100 0.0010607606 0.0010607606 0.0010974725 0.00012476088
|
||||
4000 100 0.00087570802 0.00087570802 0.00095828935 6.5544103e-05
|
||||
4100 100 0.00078598203 0.00078598203 0.00088068743 9.4560761e-05
|
||||
4200 100 0.00088317454 0.00088317454 0.00092784605 8.1108122e-05
|
||||
4300 100 0.0015013254 0.0015013254 0.0012069505 8.8289686e-05
|
||||
4400 100 0.00070054041 0.00070054041 0.00079451193 5.195712e-05
|
||||
4500 100 0.00096259073 0.00096259073 0.00091232511 3.4895669e-05
|
||||
4600 100 0.00056641848 0.00056641848 0.00069083146 3.9657253e-05
|
||||
4700 100 0.0005455099 0.0005455099 0.00064816699 2.8131762e-05
|
||||
4800 100 0.00048254366 0.00048254366 0.00057192255 4.7914432e-05
|
||||
4900 100 0.00037108125 0.00037108125 0.00048035333 6.4711817e-05
|
||||
5000 100 0.00031290399 0.00031290399 0.00042398478 4.6025975e-05
|
||||
Loop time of 0.075416 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 28641126.336 tau/day, 66298.904 timesteps/s
|
||||
93.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0022948 | 0.0041364 | 0.0061705 | 2.8 | 5.48
|
||||
Neigh | 0.0043123 | 0.0057145 | 0.0070784 | 1.8 | 7.58
|
||||
Comm | 0.014259 | 0.018658 | 0.024313 | 3.3 | 24.74
|
||||
Output | 0.0011525 | 0.001404 | 0.0015383 | 0.4 | 1.86
|
||||
Modify | 0.0030508 | 0.014543 | 0.026602 | 9.5 | 19.28
|
||||
Other | | 0.03096 | | | 41.05
|
||||
|
||||
Nlocal: 25 ave 51 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 5.5 ave 12 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Neighs: 39.75 ave 84 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 159
|
||||
Ave neighs/atom = 1.59
|
||||
Neighbor list builds = 310
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-5000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 0 0 1
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.733 | 5.734 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
5000 100 0.00031290399 0.00031290399 0.00042398478 4.4282259e-05
|
||||
5100 100 0.62661084 0.62661084 0.33840611 0.012020153
|
||||
5200 100 0.67371678 0.67371678 0.36218522 0.0093514044
|
||||
5300 100 0.75892331 0.75892331 0.4000747 0.010693252
|
||||
5400 100 0.86207426 0.86207426 0.44630388 0.013540097
|
||||
5500 100 0.96205334 0.96205334 0.49432848 0.017375079
|
||||
5600 100 1.0261194 1.0261194 0.52203912 0.016045333
|
||||
5700 100 1.0584366 1.0584366 0.53794336 0.018621676
|
||||
5800 100 1.0881674 1.0881674 0.55300469 0.01930602
|
||||
5900 100 1.1214233 1.1214233 0.56613492 0.021141141
|
||||
6000 100 1.1666836 1.1666836 0.58759377 0.017655361
|
||||
6100 100 1.1785775 1.1785775 0.59365148 0.01829443
|
||||
6200 100 1.2092305 1.2092305 0.60798809 0.018752443
|
||||
6300 100 1.2331787 1.2331787 0.62003386 0.020291021
|
||||
6400 100 1.2561616 1.2561616 0.63143643 0.019899235
|
||||
6500 100 1.284432 1.284432 0.6460504 0.02083284
|
||||
6600 100 1.2678801 1.2678801 0.63882384 0.019456553
|
||||
6700 100 1.2662641 1.2662641 0.63676836 0.020235578
|
||||
6800 100 1.2785484 1.2785484 0.64129093 0.020335162
|
||||
6900 100 1.2916608 1.2916608 0.64764298 0.020154225
|
||||
7000 100 1.2907774 1.2907774 0.64724849 0.020550885
|
||||
7100 100 1.3074473 1.3074473 0.65460147 0.020847362
|
||||
7200 100 1.3124592 1.3124592 0.65641332 0.020897348
|
||||
7300 100 1.3206191 1.3206191 0.66011491 0.021444077
|
||||
7400 100 1.3273988 1.3273988 0.66350669 0.02129418
|
||||
7500 100 1.3343911 1.3343911 0.66707269 0.021337376
|
||||
7600 100 1.3368998 1.3368998 0.66869327 0.021415901
|
||||
7700 100 1.330658 1.330658 0.66535295 0.021500761
|
||||
7800 100 1.330801 1.330801 0.66555123 0.022806058
|
||||
7900 100 1.3392828 1.3392828 0.66926796 0.02194009
|
||||
8000 100 1.3432728 1.3432728 0.67142337 0.022393719
|
||||
8100 100 1.3411612 1.3411612 0.66989302 0.022366895
|
||||
8200 100 1.3427451 1.3427451 0.67054285 0.021966329
|
||||
8300 100 1.3418147 1.3418147 0.67023132 0.022513459
|
||||
8400 100 1.346493 1.346493 0.67247837 0.022705366
|
||||
8500 100 1.3513958 1.3513958 0.6749092 0.022834077
|
||||
8600 100 1.3520297 1.3520297 0.67506261 0.023227676
|
||||
8700 100 1.3517157 1.3517157 0.67485073 0.023043414
|
||||
8800 100 1.3530071 1.3530071 0.67547212 0.022933766
|
||||
8900 100 1.3550454 1.3550454 0.67657277 0.022744182
|
||||
9000 100 1.3554069 1.3554069 0.67673505 0.022802134
|
||||
9100 100 1.3556675 1.3556675 0.67698335 0.022868449
|
||||
9200 100 1.3534709 1.3534709 0.67600677 0.022537792
|
||||
9300 100 1.3525103 1.3525103 0.67569499 0.022687849
|
||||
9400 100 1.3612673 1.3612673 0.67967213 0.022703588
|
||||
9500 100 1.3649439 1.3649439 0.68147385 0.023498539
|
||||
9600 100 1.3629376 1.3629376 0.68063814 0.023515579
|
||||
9700 100 1.3648924 1.3648924 0.68137104 0.023641856
|
||||
9800 100 1.3662063 1.3662063 0.68196538 0.023576884
|
||||
9900 100 1.3689695 1.3689695 0.68326751 0.023572622
|
||||
10000 100 1.3701139 1.3701139 0.68383343 0.023720885
|
||||
Loop time of 0.174251 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 12395939.906 tau/day, 28694.305 timesteps/s
|
||||
96.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0024631 | 0.010709 | 0.020461 | 8.0 | 6.15
|
||||
Neigh | 0.0078361 | 0.012368 | 0.016955 | 4.0 | 7.10
|
||||
Comm | 0.0059071 | 0.013641 | 0.023547 | 6.6 | 7.83
|
||||
Output | 0.0011749 | 0.0021775 | 0.0030091 | 1.4 | 1.25
|
||||
Modify | 0.015055 | 0.055709 | 0.097013 | 17.2 | 31.97
|
||||
Other | | 0.07965 | | | 45.71
|
||||
|
||||
Nlocal: 25 ave 51 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 4.5 ave 10 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Neighs: 49.25 ave 101 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 197
|
||||
Ave neighs/atom = 1.97
|
||||
Neighbor list builds = 627
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.733 | 5.734 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
10000 100 1.3701139 1.3701139 0.68383343 0.023895921
|
||||
10100 100 0.25960098 0.25960098 0.15183967 0.0049554084
|
||||
10200 100 0.15017576 0.15017576 0.10081112 0.0045433238
|
||||
10300 100 0.10129671 0.10129671 0.078049099 0.0014012658
|
||||
10400 100 0.06742425 0.06742425 0.055603816 0.0010184792
|
||||
10500 100 0.053446366 0.053446366 0.045338293 0.00089291689
|
||||
10600 100 0.041898231 0.041898231 0.036081995 0.00060703885
|
||||
10700 100 0.03580041 0.03580041 0.031118724 0.00067731964
|
||||
10800 100 0.030933755 0.030933755 0.026372348 0.00039362325
|
||||
10900 100 0.027278004 0.027278004 0.022868898 0.0003680788
|
||||
11000 100 0.021566952 0.021566952 0.017994879 0.0013056062
|
||||
11100 100 0.019143625 0.019143625 0.015833865 0.00050998112
|
||||
11200 100 0.015659868 0.015659868 0.013119379 0.00012755696
|
||||
11300 100 0.013554605 0.013554605 0.01147808 0.00027393437
|
||||
11400 100 0.01204033 0.01204033 0.010273026 0.00033430792
|
||||
11500 100 0.010958991 0.010958991 0.0093924566 0.00049023273
|
||||
11600 100 0.01012553 0.01012553 0.0084556996 0.00021457333
|
||||
11700 100 0.0083584131 0.0083584131 0.0071118766 7.7149089e-05
|
||||
11800 100 0.007044883 0.007044883 0.0058675523 0.00036165381
|
||||
11900 100 0.0059875106 0.0059875106 0.0050610372 7.4095443e-05
|
||||
12000 100 0.0045180275 0.0045180275 0.0039006565 0.00014607704
|
||||
12100 100 0.0036631356 0.0036631356 0.0031154279 7.031064e-05
|
||||
12200 100 0.0034443424 0.0034443424 0.0029190637 0.00020974475
|
||||
12300 100 0.0030853504 0.0030853504 0.0026315266 3.4873541e-05
|
||||
12400 100 0.0025451749 0.0025451749 0.0022290833 0.00041551536
|
||||
12500 100 0.0021624857 0.0021624857 0.0019127734 2.6760761e-05
|
||||
12600 100 0.0020637862 0.0020637862 0.0018186641 4.9446655e-05
|
||||
12700 100 0.0019889538 0.0019889538 0.0017604689 3.326943e-05
|
||||
12800 100 0.0018706349 0.0018706349 0.0016669237 2.3327318e-05
|
||||
12900 100 0.0017472824 0.0017472824 0.001579469 8.816765e-05
|
||||
13000 100 0.0016034824 0.0016034824 0.0014549852 3.5407524e-05
|
||||
13100 100 0.00151798 0.00151798 0.0013826659 1.8754149e-05
|
||||
13200 100 0.0013049781 0.0013049781 0.0012137907 0.00015263775
|
||||
13300 100 0.0012270536 0.0012270536 0.0011590841 4.77636e-06
|
||||
13400 100 0.0011395128 0.0011395128 0.0010860297 2.5606328e-05
|
||||
13500 100 0.0010858414 0.0010858414 0.0010486713 5.8563931e-05
|
||||
13600 100 0.0010474389 0.0010474389 0.001015904 1.4319658e-05
|
||||
13700 100 0.00099241549 0.00099241549 0.00097825038 1.2281142e-05
|
||||
13800 100 0.00084449252 0.00084449252 0.00084141963 1.0451215e-05
|
||||
13900 100 0.00084004792 0.00084004792 0.00083755495 3.7174162e-05
|
||||
14000 100 0.00082183505 0.00082183505 0.00082027058 1.0170209e-05
|
||||
14100 100 0.00082377076 0.00082377076 0.00080489795 1.181976e-05
|
||||
14200 100 0.00076903208 0.00076903208 0.00076216608 4.4590341e-05
|
||||
14300 100 0.00075173269 0.00075173269 0.00074828209 2.2134371e-05
|
||||
14400 100 0.00074379148 0.00074379148 0.00074072001 1.5746014e-05
|
||||
14500 100 0.00072454029 0.00072454029 0.0007174429 8.9830398e-06
|
||||
14600 100 0.00072372648 0.00072372648 0.00071678769 9.1111512e-06
|
||||
14700 100 0.00071541587 0.00071541587 0.00070893868 7.8446375e-05
|
||||
14800 100 0.0006820307 0.0006820307 0.00066675502 8.4401299e-06
|
||||
14900 100 0.00067050627 0.00067050627 0.00065751846 0.0001228548
|
||||
15000 100 0.00064977132 0.00064977132 0.00062305247 7.8887775e-06
|
||||
Loop time of 0.0746691 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 28927619.905 tau/day, 66962.083 timesteps/s
|
||||
96.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0021737 | 0.0042608 | 0.0063519 | 3.2 | 5.71
|
||||
Neigh | 0.0012126 | 0.0019009 | 0.0026193 | 1.6 | 2.55
|
||||
Comm | 0.0023425 | 0.0092477 | 0.016876 | 7.2 | 12.38
|
||||
Output | 0.0010619 | 0.0017995 | 0.0030522 | 1.8 | 2.41
|
||||
Modify | 0.00097013 | 0.017151 | 0.03415 | 12.3 | 22.97
|
||||
Other | | 0.04031 | | | 53.98
|
||||
|
||||
Nlocal: 25 ave 55 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Nghost: 3.75 ave 9 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
Neighs: 42.5 ave 88 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 170
|
||||
Ave neighs/atom = 1.7
|
||||
Neighbor list builds = 97
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
variable theta equal (step-15000)*(4.0*PI/5000)
|
||||
region container block -6 6 -6 6 -6 6 units box rotate v_theta 0 0 0 1 1 1
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.733 | 5.734 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
15000 100 0.00064977132 0.00064977132 0.00062305247 7.9405607e-06
|
||||
15100 100 1.0123899 1.0123899 0.66185504 0.014587215
|
||||
15200 100 1.0332828 1.0332828 0.67443308 0.014002815
|
||||
15300 100 1.0804076 1.0804076 0.72450056 0.016985272
|
||||
15400 100 1.2868163 1.2868163 0.8708132 0.022190597
|
||||
15500 100 1.5180471 1.5180471 0.99613124 0.026761866
|
||||
15600 100 1.5422016 1.5422016 1.0021746 0.024490139
|
||||
15700 100 1.7142241 1.7142241 1.0611146 0.0301368
|
||||
15800 100 1.8747057 1.8747057 1.1207858 0.027612699
|
||||
15900 100 1.9294819 1.9294819 1.1289025 0.027270228
|
||||
16000 100 1.953275 1.953275 1.1264475 0.031568811
|
||||
16100 100 2.0434228 2.0434228 1.1665365 0.026358952
|
||||
16200 100 2.2129393 2.2129393 1.2448327 0.029613382
|
||||
16300 100 2.2558224 2.2558224 1.2373264 0.028306021
|
||||
16400 100 2.367398 2.367398 1.293448 0.029659303
|
||||
16500 100 2.4221549 2.4221549 1.3198966 0.032541712
|
||||
16600 100 2.510283 2.510283 1.3618001 0.034740544
|
||||
16700 100 2.6776293 2.6776293 1.4508262 0.034556341
|
||||
16800 100 2.8095841 2.8095841 1.5190571 0.035183782
|
||||
16900 100 2.8485646 2.8485646 1.5344387 0.037153336
|
||||
17000 100 3.0298285 3.0298285 1.6321623 0.040745906
|
||||
17100 100 3.0218054 3.0218054 1.6187189 0.042082135
|
||||
17200 100 3.1981705 3.1981705 1.7090597 0.041770208
|
||||
17300 100 3.3178559 3.3178559 1.7723201 0.044604756
|
||||
17400 100 3.3940903 3.3940903 1.8229846 0.049231759
|
||||
17500 100 3.3274817 3.3274817 1.7870996 0.051649102
|
||||
17600 100 3.3204358 3.3204358 1.791527 0.043875639
|
||||
17700 100 3.2185649 3.2185649 1.7480866 0.049941218
|
||||
17800 100 3.2507826 3.2507826 1.7727758 0.048622479
|
||||
17900 100 3.2432767 3.2432767 1.7796296 0.044343902
|
||||
18000 100 3.0841272 3.0841272 1.6978832 0.045344433
|
||||
18100 100 3.0953909 3.0953909 1.699898 0.040070963
|
||||
18200 100 3.1405704 3.1405704 1.7316463 0.042528194
|
||||
18300 100 3.1904871 3.1904871 1.7555188 0.041141165
|
||||
18400 100 3.3256779 3.3256779 1.8243767 0.043908318
|
||||
18500 100 3.5161823 3.5161823 1.9150861 0.045165166
|
||||
18600 100 3.5668273 3.5668273 1.9217975 0.048127705
|
||||
18700 100 3.6648305 3.6648305 1.9685241 0.051205352
|
||||
18800 100 3.9000502 3.9000502 2.0886668 0.05262835
|
||||
18900 100 4.0217758 4.0217758 2.1465498 0.054502839
|
||||
19000 100 3.8431174 3.8431174 2.0581611 0.054852333
|
||||
19100 100 4.1721454 4.1721454 2.2221193 0.053831555
|
||||
19200 100 3.9061181 3.9061181 2.096323 0.058077678
|
||||
19300 100 4.0191085 4.0191085 2.1408069 0.05475437
|
||||
19400 100 3.8840871 3.8840871 2.0887677 0.061905092
|
||||
19500 100 3.8388062 3.8388062 2.0567095 0.051076414
|
||||
19600 100 3.6331742 3.6331742 1.9574769 0.04748008
|
||||
19700 100 3.6996954 3.6996954 1.9887285 0.053305043
|
||||
19800 100 3.8649872 3.8649872 2.0827424 0.060484008
|
||||
19900 100 3.8305733 3.8305733 2.0700281 0.052926584
|
||||
20000 100 3.7948463 3.7948463 2.0657301 0.048516953
|
||||
Loop time of 0.156359 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 13814330.011 tau/day, 31977.616 timesteps/s
|
||||
94.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0040646 | 0.0058124 | 0.0074518 | 1.6 | 3.72
|
||||
Neigh | 0.014813 | 0.018389 | 0.020829 | 1.6 | 11.76
|
||||
Comm | 0.031892 | 0.034103 | 0.036658 | 1.0 | 21.81
|
||||
Output | 0.0013497 | 0.0019822 | 0.003484 | 2.0 | 1.27
|
||||
Modify | 0.031006 | 0.046878 | 0.056364 | 4.5 | 29.98
|
||||
Other | | 0.0492 | | | 31.46
|
||||
|
||||
Nlocal: 25 ave 37 max 10 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 3.75 ave 6 max 2 min
|
||||
Histogram: 1 0 1 0 0 1 0 0 0 1
|
||||
Neighs: 36.25 ave 57 max 9 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
|
||||
Total # of neighbors = 145
|
||||
Ave neighs/atom = 1.45
|
||||
Neighbor list builds = 921
|
||||
Dangerous builds = 0
|
||||
|
||||
region container delete
|
||||
region container block -6 6 -6 6 -6 6 units box
|
||||
run 5000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.733 | 5.734 | 5.734 Mbytes
|
||||
Step Atoms Temp c_1 c_2 Press
|
||||
20000 100 3.7948463 3.7948463 2.0657301 0.048381317
|
||||
20100 100 1.1359931 1.1359931 0.70170151 0.015300556
|
||||
20200 100 0.87354617 0.87354617 0.55969299 0.012181983
|
||||
20300 100 0.84424484 0.84424484 0.52849351 0.017724782
|
||||
20400 100 0.82422562 0.82422562 0.50175766 0.0098154181
|
||||
20500 100 0.83731289 0.83731289 0.49814627 0.010465327
|
||||
20600 100 0.93125924 0.93125924 0.53803834 0.011624902
|
||||
20700 100 1.0810919 1.0810919 0.60974741 0.01425935
|
||||
20800 100 1.0646343 1.0646343 0.60037545 0.013418132
|
||||
20900 100 1.0608055 1.0608055 0.58353908 0.015119612
|
||||
21000 100 0.68173094 0.68173094 0.3941588 0.0099947535
|
||||
21100 100 0.35407592 0.35407592 0.21306735 0.0043859494
|
||||
21200 100 0.19247432 0.19247432 0.12989264 0.0031808422
|
||||
21300 100 0.13493768 0.13493768 0.093987634 0.0025990872
|
||||
21400 100 0.085735857 0.085735857 0.062091707 0.001434207
|
||||
21500 100 0.074307566 0.074307566 0.05224051 0.0022163094
|
||||
21600 100 0.069932382 0.069932382 0.045388838 0.0020296572
|
||||
21700 100 0.041749712 0.041749712 0.031422931 0.001211155
|
||||
21800 100 0.03378055 0.03378055 0.026248846 0.0020596463
|
||||
21900 100 0.030608528 0.030608528 0.022868294 0.0016282878
|
||||
22000 100 0.025632448 0.025632448 0.019606402 0.0011659657
|
||||
22100 100 0.013785062 0.013785062 0.011561769 0.00069006322
|
||||
22200 100 0.013139066 0.013139066 0.010559726 0.00038424576
|
||||
22300 100 0.01455318 0.01455318 0.011094558 0.00054735929
|
||||
22400 100 0.0096885414 0.0096885414 0.008012617 0.00055875777
|
||||
22500 100 0.0081193116 0.0081193116 0.006802973 0.00052914932
|
||||
22600 100 0.0057159621 0.0057159621 0.0048680253 0.00054864875
|
||||
22700 100 0.0052344376 0.0052344376 0.0045511708 0.00026333033
|
||||
22800 100 0.0054554177 0.0054554177 0.0045005479 0.0002085972
|
||||
22900 100 0.0039455776 0.0039455776 0.0035287888 0.00022514017
|
||||
23000 100 0.0042620461 0.0042620461 0.0035747729 0.00020030999
|
||||
23100 100 0.0035303095 0.0035303095 0.0031995108 0.00016007298
|
||||
23200 100 0.0029747457 0.0029747457 0.0027095904 0.00029775807
|
||||
23300 100 0.0032404433 0.0032404433 0.002769389 0.00019627995
|
||||
23400 100 0.0024965262 0.0024965262 0.0022343473 0.00018870133
|
||||
23500 100 0.00251617 0.00251617 0.0022533604 0.0002661237
|
||||
23600 100 0.0025923653 0.0025923653 0.0022887204 0.00018475201
|
||||
23700 100 0.0023016545 0.0023016545 0.0019829032 0.00014888334
|
||||
23800 100 0.0028358441 0.0028358441 0.0021790504 0.00064613131
|
||||
23900 100 0.0016682403 0.0016682403 0.0014930521 8.8407075e-05
|
||||
24000 100 0.0016341577 0.0016341577 0.0014597606 0.00011262081
|
||||
24100 100 0.0015433636 0.0015433636 0.0013981581 8.364568e-05
|
||||
24200 100 0.0015033978 0.0015033978 0.0013582013 8.4539006e-05
|
||||
24300 100 0.0014513098 0.0014513098 0.0012943981 0.00010546194
|
||||
24400 100 0.0013293352 0.0013293352 0.001206366 8.4967509e-05
|
||||
24500 100 0.0013732518 0.0013732518 0.001202532 0.00014787559
|
||||
24600 100 0.00091890041 0.00091890041 0.00084499923 0.00010080638
|
||||
24700 100 0.00083467915 0.00083467915 0.00077071316 5.3934025e-05
|
||||
24800 100 0.00080701934 0.00080701934 0.0007477161 5.3982095e-05
|
||||
24900 100 0.00080620771 0.00080620771 0.0007471026 5.3581294e-05
|
||||
25000 100 0.00080568604 0.00080568604 0.00074625735 5.3574637e-05
|
||||
Loop time of 0.0792506 on 4 procs for 5000 steps with 100 atoms
|
||||
|
||||
Performance: 27255302.560 tau/day, 63090.978 timesteps/s
|
||||
95.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.0023611 | 0.0047854 | 0.0077851 | 3.4 | 6.04
|
||||
Neigh | 0.0042653 | 0.005571 | 0.0067258 | 1.5 | 7.03
|
||||
Comm | 0.0077977 | 0.013373 | 0.019515 | 4.4 | 16.87
|
||||
Output | 0.0010924 | 0.0017727 | 0.0030222 | 1.8 | 2.24
|
||||
Modify | 0.0023608 | 0.015964 | 0.030545 | 10.5 | 20.14
|
||||
Other | | 0.03778 | | | 47.68
|
||||
|
||||
Nlocal: 25 ave 50 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 5 ave 10 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 35.75 ave 78 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 143
|
||||
Ave neighs/atom = 1.43
|
||||
Neighbor list builds = 287
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
@ -1,601 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pour particles into cone-shaped funnel, settle them, let them run out bottom
|
||||
|
||||
variable name string funnel_pour
|
||||
|
||||
thermo_modify flush yes
|
||||
units si
|
||||
variable PI equal 3.141592653589
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable xlo equal 10
|
||||
variable xhi equal 40
|
||||
variable ylo equal 10
|
||||
variable yhi equal 40
|
||||
variable zlo equal -20
|
||||
variable zhi equal 50
|
||||
|
||||
variable xc equal 25
|
||||
variable yc equal 25
|
||||
|
||||
variable zconehi equal 50
|
||||
variable zconelo equal 10
|
||||
variable zcyllo equal 0
|
||||
variable radconelo equal 2
|
||||
variable radconehi equal 20
|
||||
|
||||
################################################
|
||||
# Particle sizes
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.5
|
||||
|
||||
###############################################
|
||||
# Granular contact parameters
|
||||
###############################################
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable density equal 1.0
|
||||
variable EYoung equal 10^5
|
||||
variable Poisson equal 2.0/7.0
|
||||
variable GShear equal ${EYoung}/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+0.285714285714286))
|
||||
|
||||
variable gravity equal 1.0
|
||||
|
||||
variable reff equal 0.5*(${rhi}+${rlo})
|
||||
variable reff equal 0.5*(0.5+${rlo})
|
||||
variable reff equal 0.5*(0.5+0.25)
|
||||
variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*0.375^3
|
||||
variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25
|
||||
variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5
|
||||
|
||||
## Typical way to set kn, kt, etc.:
|
||||
variable kn equal 4.0*${GShear}/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286))
|
||||
variable kt equal 4.0*${GShear}/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-0.285714285714286)
|
||||
|
||||
variable a equal (-2.0*log(${coeffRes})/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/3.141592653589)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 903.503751814138*0.5
|
||||
|
||||
variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.05
|
||||
variable dt equal 0.00210943016014969*0.05
|
||||
timestep ${dt}
|
||||
timestep 0.000105471508007485
|
||||
|
||||
###############################################
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton off
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 50
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (10 10 -20) to (40 40 50)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.5 bin
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 30, bins = 1 1 3
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton off, size, history
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
# insertion region for fix/pour
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 25 10 30 50 side in units box
|
||||
|
||||
# define cone and cylinder regions - see lammps doc on region command
|
||||
# note new open options
|
||||
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 2
|
||||
|
||||
region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open
|
||||
region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 conereg cylreg
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 3000 every 59965 steps, 2000 by step 1
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
# Initial run to fill up the cone
|
||||
|
||||
run 20000
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.649 | 6.649 | 6.649 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
0 0 0 -0
|
||||
1000 0.63593698 2000 -0
|
||||
2000 1.0282419 2000 -0
|
||||
3000 1.4184453 2000 -0
|
||||
4000 1.8055785 2000 -0
|
||||
5000 2.1941335 2000 -0
|
||||
6000 2.5804653 2000 -0
|
||||
7000 2.9660621 2000 -0
|
||||
8000 3.3506265 2000 -0
|
||||
9000 3.7344413 2000 -0
|
||||
10000 4.1212304 2000 -0
|
||||
11000 4.5044594 2000 -0
|
||||
12000 4.8875456 2000 -0
|
||||
13000 5.2698007 2000 -0
|
||||
14000 5.6527214 2000 -0
|
||||
15000 6.0349295 2000 -0
|
||||
16000 6.4172938 2000 -0
|
||||
17000 6.8001184 2000 -0
|
||||
18000 7.1826644 2000 -0
|
||||
19000 7.5654378 2000 -0
|
||||
20000 7.9511659 2000 -0
|
||||
Loop time of 7.95118 on 1 procs for 20000 steps with 2000 atoms
|
||||
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.6189 | 0.6189 | 0.6189 | 0.0 | 7.78
|
||||
Neigh | 0.09361 | 0.09361 | 0.09361 | 0.0 | 1.18
|
||||
Comm | 0.016098 | 0.016098 | 0.016098 | 0.0 | 0.20
|
||||
Output | 0.00048828 | 0.00048828 | 0.00048828 | 0.0 | 0.01
|
||||
Modify | 6.9973 | 6.9973 | 6.9973 | 0.0 | 88.00
|
||||
Other | | 0.2248 | | | 2.83
|
||||
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1537 ave 1537 max 1537 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1537
|
||||
Ave neighs/atom = 0.7685
|
||||
Neighbor list builds = 69
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 150000
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.77 | 12.77 | 12.77 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
20000 0 2000 6443.7665
|
||||
21000 0.3826313 2000 6572.3531
|
||||
22000 0.76688981 2000 6723.8376
|
||||
23000 1.1534231 2000 6853.1812
|
||||
24000 1.5391715 2000 6976.0209
|
||||
25000 1.9263508 2000 7096.9955
|
||||
26000 2.3168406 2000 7215.5795
|
||||
27000 2.7065961 2000 7349.2382
|
||||
28000 3.096664 2000 7471.8719
|
||||
29000 3.4905531 2000 7574.8228
|
||||
30000 3.8877606 2000 7659.3836
|
||||
31000 4.2839894 2000 7703.6856
|
||||
32000 4.6859732 2000 7644.279
|
||||
33000 5.0932801 2000 7526.6944
|
||||
34000 5.5045564 2000 7370.0821
|
||||
35000 5.9206297 2000 7193.0457
|
||||
36000 6.343729 2000 6990.9899
|
||||
37000 6.7719142 2000 6849.2841
|
||||
38000 7.2016783 2000 6701.7433
|
||||
39000 7.6354482 2000 6538.9557
|
||||
40000 8.078445 2000 6381.9346
|
||||
41000 8.5191586 2000 6217.5253
|
||||
42000 8.9630713 2000 6093.5344
|
||||
43000 9.4097741 2000 5943.0479
|
||||
44000 9.8652256 2000 5841.0782
|
||||
45000 10.331057 2000 5652.8319
|
||||
46000 10.803253 2000 5476.1466
|
||||
47000 11.278766 2000 5267.7855
|
||||
48000 11.759121 2000 5131.4036
|
||||
49000 12.248896 2000 4972.7696
|
||||
50000 12.747719 2000 4867.0868
|
||||
51000 13.246704 2000 4681.897
|
||||
52000 13.757842 2000 4506.8185
|
||||
53000 14.276078 2000 4346.8045
|
||||
54000 14.795933 2000 4193.8194
|
||||
55000 15.311241 2000 4058.2049
|
||||
56000 15.828737 2000 3879.0325
|
||||
57000 16.359453 2000 3696.3154
|
||||
58000 16.905406 2000 3504.0399
|
||||
59000 17.460454 2000 3284.6522
|
||||
60000 18.027276 2000 3061.0727
|
||||
61000 18.586931 2000 2874.2926
|
||||
62000 19.158563 2000 2653.0722
|
||||
63000 19.738442 2000 2437.4941
|
||||
64000 20.331411 2000 2124.1876
|
||||
65000 20.936204 2000 1864.5661
|
||||
66000 21.547443 2000 1610.2335
|
||||
67000 22.166888 2000 1390.0428
|
||||
68000 22.789106 2000 1163.7679
|
||||
69000 23.416016 2000 933.0928
|
||||
70000 24.038879 2000 745.66667
|
||||
71000 24.663115 2000 605.58458
|
||||
72000 25.294193 2000 444.31183
|
||||
73000 25.932019 2000 357.19162
|
||||
74000 26.568184 2000 291.16762
|
||||
75000 27.203393 2000 230.58362
|
||||
76000 27.836079 2000 197.59502
|
||||
77000 28.467344 2000 166.55702
|
||||
78000 29.099997 2000 139.89052
|
||||
79000 29.741694 2000 117.1145
|
||||
80000 30.388097 2000 100.12353
|
||||
81000 31.036193 2000 85.233155
|
||||
82000 31.688463 2000 71.145302
|
||||
83000 32.343411 2000 61.545348
|
||||
84000 32.999346 2000 54.099358
|
||||
85000 33.652976 2000 46.922028
|
||||
86000 34.306931 2000 41.606645
|
||||
87000 34.967787 2000 37.462793
|
||||
88000 35.633721 2000 33.698298
|
||||
89000 36.310035 2000 29.340455
|
||||
90000 36.995441 2000 26.072122
|
||||
91000 37.67904 2000 23.20848
|
||||
92000 38.367699 2000 21.015862
|
||||
93000 39.058641 2000 20.134175
|
||||
94000 39.749342 2000 19.196075
|
||||
95000 40.442651 2000 18.285127
|
||||
96000 41.140177 2000 17.476411
|
||||
97000 41.840761 2000 16.55882
|
||||
98000 42.543845 2000 15.444541
|
||||
99000 43.256415 2000 14.41642
|
||||
100000 43.97382 2000 13.818738
|
||||
101000 44.684596 2000 12.878373
|
||||
102000 45.401082 2000 12.11804
|
||||
103000 46.120936 2000 11.016885
|
||||
104000 46.83935 2000 10.531044
|
||||
105000 47.559419 2000 10.46735
|
||||
106000 48.286016 2000 10.246007
|
||||
107000 49.012266 2000 9.6423041
|
||||
108000 49.74013 2000 9.3948808
|
||||
109000 50.471961 2000 9.5178141
|
||||
110000 51.206152 2000 9.4143884
|
||||
111000 51.939123 2000 9.5058226
|
||||
112000 52.673443 2000 9.6911516
|
||||
113000 53.410485 2000 9.7756849
|
||||
114000 54.152537 2000 9.3876232
|
||||
115000 54.891784 2000 8.6725333
|
||||
116000 55.631474 2000 8.6691065
|
||||
117000 56.371762 2000 8.0156055
|
||||
118000 57.110131 2000 7.9150786
|
||||
119000 57.8533 2000 7.5310892
|
||||
120000 58.599064 2000 7.2940498
|
||||
121000 59.340753 2000 6.8347898
|
||||
122000 60.084676 2000 6.696484
|
||||
123000 60.826952 2000 6.7799146
|
||||
124000 61.569413 2000 6.7901567
|
||||
125000 62.316334 2000 6.7532108
|
||||
126000 63.061374 2000 6.762162
|
||||
127000 63.806385 2000 6.6317366
|
||||
128000 64.555969 2000 6.8246399
|
||||
129000 65.308131 2000 6.9130358
|
||||
130000 66.060967 2000 7.1750566
|
||||
131000 66.809725 2000 6.9507379
|
||||
132000 67.559796 2000 6.7987445
|
||||
133000 68.314249 2000 6.8535775
|
||||
134000 69.065513 2000 7.0255144
|
||||
135000 69.817604 2000 6.7381064
|
||||
136000 70.572079 2000 6.5567748
|
||||
137000 71.324444 2000 6.2655395
|
||||
138000 72.079147 2000 6.1923013
|
||||
139000 72.831323 2000 6.0958081
|
||||
140000 73.59117 2000 5.9185709
|
||||
141000 74.343753 2000 5.9151241
|
||||
142000 75.096509 2000 5.4743035
|
||||
143000 75.852151 2000 5.438642
|
||||
144000 76.605005 2000 4.6646664
|
||||
145000 77.357571 2000 4.6899837
|
||||
146000 78.113125 2000 4.5357917
|
||||
147000 78.867751 2000 4.5993842
|
||||
148000 79.625344 2000 4.7076884
|
||||
149000 80.37992 2000 4.8306642
|
||||
150000 81.143175 2000 4.8282147
|
||||
151000 81.899326 2000 4.546308
|
||||
152000 82.658645 2000 4.6700755
|
||||
153000 83.41837 2000 4.7557633
|
||||
154000 84.17509 2000 4.9004538
|
||||
155000 84.934161 2000 5.0552949
|
||||
156000 85.695466 2000 4.0672495
|
||||
157000 86.453115 2000 3.5819543
|
||||
158000 87.212663 2000 3.3533477
|
||||
159000 87.967768 2000 3.3281001
|
||||
160000 88.729631 2000 3.0831743
|
||||
161000 89.498983 2000 3.0519269
|
||||
162000 90.259424 2000 3.0951675
|
||||
163000 91.019656 2000 2.9868352
|
||||
164000 91.776359 2000 2.9195788
|
||||
165000 92.536374 2000 2.5637813
|
||||
166000 93.296332 2000 2.5553272
|
||||
167000 94.05653 2000 2.0752912
|
||||
168000 94.814559 2000 1.9689845
|
||||
169000 95.576005 2000 1.9117916
|
||||
170000 96.337863 2000 1.8568914
|
||||
Loop time of 96.3379 on 1 procs for 150000 steps with 2000 atoms
|
||||
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 37.121 | 37.121 | 37.121 | 0.0 | 38.53
|
||||
Neigh | 0.8454 | 0.8454 | 0.8454 | 0.0 | 0.88
|
||||
Comm | 0.11506 | 0.11506 | 0.11506 | 0.0 | 0.12
|
||||
Output | 0.004431 | 0.004431 | 0.004431 | 0.0 | 0.00
|
||||
Modify | 56.517 | 56.517 | 56.517 | 0.0 | 58.67
|
||||
Other | | 1.735 | | | 1.80
|
||||
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 15524 ave 15524 max 15524 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 15524
|
||||
Ave neighs/atom = 7.762
|
||||
Neighbor list builds = 388
|
||||
Dangerous builds = 0
|
||||
|
||||
# remove "plug" - need to redefine cylinder region & union
|
||||
|
||||
region cylreg delete
|
||||
region hopreg delete
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 cylreg conereg
|
||||
|
||||
unfix hopper3
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
run 100000
|
||||
Per MPI rank memory allocation (min/avg/max) = 18.64 | 18.64 | 18.64 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
170000 0 2000 1.8568914
|
||||
171000 0.75704765 2000 2.4011583
|
||||
172000 1.5101345 2000 3.176628
|
||||
173000 2.2556529 2000 4.5364486
|
||||
174000 2.9946566 2000 6.5494125
|
||||
175000 3.7253478 2000 9.1934319
|
||||
176000 4.4570525 2000 12.25765
|
||||
177000 5.1876664 2000 15.799657
|
||||
178000 5.9178619 2000 19.982558
|
||||
179000 6.6439464 2000 24.927165
|
||||
180000 7.3749168 2000 30.428362
|
||||
181000 8.1011977 2000 36.74232
|
||||
182000 8.8207343 2000 43.820448
|
||||
183000 9.5397925 2000 50.903222
|
||||
184000 10.253098 2000 59.425781
|
||||
185000 10.965505 2000 69.143119
|
||||
186000 11.673319 2000 79.210705
|
||||
187000 12.373966 2000 90.411346
|
||||
188000 13.075475 2000 102.35389
|
||||
189000 13.770632 2000 114.93888
|
||||
190000 14.469445 2000 128.63341
|
||||
191000 15.158381 2000 143.44526
|
||||
192000 15.846267 2000 159.04574
|
||||
193000 16.527754 2000 174.3114
|
||||
194000 17.204808 2000 190.42123
|
||||
195000 17.881059 2000 207.70459
|
||||
196000 18.556555 2000 224.90931
|
||||
197000 19.229818 2000 242.64914
|
||||
198000 19.905086 2000 261.48312
|
||||
199000 20.578518 2000 281.28308
|
||||
200000 21.25632 2000 302.95108
|
||||
201000 21.921347 2000 325.95534
|
||||
202000 22.583873 2000 350.6874
|
||||
203000 23.244724 2000 376.31773
|
||||
204000 23.904842 2000 404.21947
|
||||
205000 24.562788 2000 432.96116
|
||||
206000 25.217762 2000 462.4113
|
||||
207000 25.875814 2000 491.91207
|
||||
208000 26.531285 2000 522.15395
|
||||
209000 27.184766 2000 553.1024
|
||||
210000 27.842961 2000 585.7133
|
||||
211000 28.489339 2000 619.96357
|
||||
212000 29.139612 2000 653.96189
|
||||
213000 29.783866 2000 689.8027
|
||||
214000 30.426881 2000 727.28401
|
||||
215000 31.06706 2000 766.40354
|
||||
216000 31.706399 2000 805.65433
|
||||
217000 32.343033 2000 845.40981
|
||||
218000 32.989384 2000 884.24637
|
||||
219000 33.633664 2000 923.5998
|
||||
220000 34.285172 2000 965.01779
|
||||
221000 34.931959 2000 1009.1763
|
||||
222000 35.571624 2000 1054.7789
|
||||
223000 36.207868 2000 1101.9922
|
||||
224000 36.836062 2000 1151.1205
|
||||
225000 37.464514 2000 1201.3979
|
||||
226000 38.09746 2000 1252.4054
|
||||
227000 38.732507 1999 1296.6784
|
||||
228000 39.371367 1997 1342.3466
|
||||
229000 40.012553 1992 1368.8559
|
||||
230000 40.652111 1977 1360.2259
|
||||
231000 41.275478 1965 1340.3793
|
||||
232000 41.892734 1953 1318.8318
|
||||
233000 42.50588 1938 1295.5667
|
||||
234000 43.121427 1924 1270.0641
|
||||
235000 43.740727 1914 1258.296
|
||||
236000 44.359241 1902 1224.3945
|
||||
237000 44.979463 1899 1248.3905
|
||||
238000 45.597358 1885 1206.9229
|
||||
239000 46.210114 1875 1195.5429
|
||||
240000 46.818148 1861 1142.6591
|
||||
241000 47.411079 1851 1131.5523
|
||||
242000 48.002522 1841 1116.8741
|
||||
243000 48.594254 1830 1099.9978
|
||||
244000 49.191798 1822 1078.6068
|
||||
245000 49.791332 1814 1072.1498
|
||||
246000 50.389728 1803 1020.7842
|
||||
247000 50.984212 1794 1000.1936
|
||||
248000 51.571047 1781 942.02462
|
||||
249000 52.149428 1772 916.83697
|
||||
250000 52.726202 1758 825.10751
|
||||
251000 53.29913 1748 789.06351
|
||||
252000 53.871912 1739 753.92258
|
||||
253000 54.441009 1729 697.83686
|
||||
254000 55.010203 1718 648.98541
|
||||
255000 55.573602 1710 620.38129
|
||||
256000 56.134709 1705 622.43466
|
||||
257000 56.701827 1700 595.79102
|
||||
258000 57.264463 1698 608.49223
|
||||
259000 57.827817 1695 614.0119
|
||||
260000 58.398994 1690 601.50438
|
||||
261000 58.964611 1687 608.5892
|
||||
262000 59.526765 1683 597.07884
|
||||
263000 60.082729 1682 618.65041
|
||||
264000 60.640105 1678 615.47784
|
||||
265000 61.195717 1675 605.27658
|
||||
266000 61.751087 1671 583.69853
|
||||
267000 62.305546 1669 600.11043
|
||||
268000 62.86105 1666 598.79807
|
||||
269000 63.417551 1663 588.40338
|
||||
270000 63.974486 1660 579.59387
|
||||
Loop time of 63.9745 on 1 procs for 100000 steps with 1660 atoms
|
||||
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 26.514 | 26.514 | 26.514 | 0.0 | 41.44
|
||||
Neigh | 0.60324 | 0.60324 | 0.60324 | 0.0 | 0.94
|
||||
Comm | 0.075881 | 0.075881 | 0.075881 | 0.0 | 0.12
|
||||
Output | 0.0029137 | 0.0029137 | 0.0029137 | 0.0 | 0.00
|
||||
Modify | 35.686 | 35.686 | 35.686 | 0.0 | 55.78
|
||||
Other | | 1.092 | | | 1.71
|
||||
|
||||
Nlocal: 1660 ave 1660 max 1660 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 11681 ave 11681 max 11681 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 11681
|
||||
Ave neighs/atom = 7.03675
|
||||
Neighbor list builds = 249
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:48
|
||||
@ -1,601 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pour particles into cone-shaped funnel, settle them, let them run out bottom
|
||||
|
||||
variable name string funnel_pour
|
||||
|
||||
thermo_modify flush yes
|
||||
units si
|
||||
variable PI equal 3.141592653589
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable xlo equal 10
|
||||
variable xhi equal 40
|
||||
variable ylo equal 10
|
||||
variable yhi equal 40
|
||||
variable zlo equal -20
|
||||
variable zhi equal 50
|
||||
|
||||
variable xc equal 25
|
||||
variable yc equal 25
|
||||
|
||||
variable zconehi equal 50
|
||||
variable zconelo equal 10
|
||||
variable zcyllo equal 0
|
||||
variable radconelo equal 2
|
||||
variable radconehi equal 20
|
||||
|
||||
################################################
|
||||
# Particle sizes
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.5
|
||||
|
||||
###############################################
|
||||
# Granular contact parameters
|
||||
###############################################
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable density equal 1.0
|
||||
variable EYoung equal 10^5
|
||||
variable Poisson equal 2.0/7.0
|
||||
variable GShear equal ${EYoung}/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+${Poisson}))
|
||||
variable GShear equal 100000/(2*(1+0.285714285714286))
|
||||
|
||||
variable gravity equal 1.0
|
||||
|
||||
variable reff equal 0.5*(${rhi}+${rlo})
|
||||
variable reff equal 0.5*(0.5+${rlo})
|
||||
variable reff equal 0.5*(0.5+0.25)
|
||||
variable meff equal ${density}*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*${PI}*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*${reff}^3
|
||||
variable meff equal 1*4.0/3.0*3.141592653589*0.375^3
|
||||
variable min_mass equal ${density}*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*${PI}*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*3.141592653589*0.25*0.25*0.25
|
||||
variable max_mass equal ${density}*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*${PI}*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*${rhi}*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*${rhi}*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*${rhi}
|
||||
variable max_mass equal 1*4.0/3.0*3.141592653589*0.5*0.5*0.5
|
||||
|
||||
## Typical way to set kn, kt, etc.:
|
||||
variable kn equal 4.0*${GShear}/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-${Poisson}))
|
||||
variable kn equal 4.0*38888.8888888889/(3*(1-0.285714285714286))
|
||||
variable kt equal 4.0*${GShear}/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-${Poisson})
|
||||
variable kt equal 4.0*38888.8888888889/(2-0.285714285714286)
|
||||
|
||||
variable a equal (-2.0*log(${coeffRes})/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/${PI})^2
|
||||
variable a equal (-2.0*log(0.1)/3.141592653589)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569556*2*72592.5925925926/0.0654498469497708/(1+0.25*0.405284734569556))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 903.503751814138*0.5
|
||||
|
||||
variable tcol equal ${PI}/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-${gamma_n}/4.0)
|
||||
variable tcol equal 3.141592653589/sqrt(2*72592.5925925926/0.0654498469497708-903.503751814138/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.05
|
||||
variable dt equal 0.00210943016014969*0.05
|
||||
timestep ${dt}
|
||||
timestep 0.000105471508007485
|
||||
|
||||
###############################################
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton off
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block ${xlo} ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 ${xhi} ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 ${ylo} ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 ${yhi} ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 ${zlo} ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 ${zhi}
|
||||
region boxreg block 10 40 10 40 -20 50
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (10 10 -20) to (40 40 50)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.5 bin
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 30, bins = 1 1 3
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton off, size, history
|
||||
pair build: half/size/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
# insertion region for fix/pour
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 ${yc} 10 30 50 side in units box
|
||||
region insreg cylinder z 25 25 10 30 50 side in units box
|
||||
|
||||
# define cone and cylinder regions - see lammps doc on region command
|
||||
# note new open options
|
||||
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2 #Top is open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 2
|
||||
|
||||
region conereg cone z ${xc} ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2 #Bottom and top are open
|
||||
region conereg cone z 25 ${yc} ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 ${radconelo} ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 ${radconehi} ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 ${zconelo} ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 ${zconehi} side in units box open 1 open 2
|
||||
region conereg cone z 25 25 2 20 10 50 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 conereg cylreg
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
fix ins all pour 2000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens ${density} ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 ${density}
|
||||
fix ins all pour 2000 1 42424 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 3000 every 59965 steps, 2000 by step 1
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 3.0 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
# Initial run to fill up the cone
|
||||
|
||||
run 20000
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.05 | 6.05 | 6.05 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
0 0 0 -0
|
||||
1000 0.63366675 2000 -0
|
||||
2000 1.0221362 2000 -0
|
||||
3000 1.3905275 2000 -0
|
||||
4000 1.7514329 2000 -0
|
||||
5000 2.1040537 2000 -0
|
||||
6000 2.4468088 2000 -0
|
||||
7000 2.7853072 2000 -0
|
||||
8000 3.1109948 2000 -0
|
||||
9000 3.4281557 2000 -0
|
||||
10000 3.7435207 2000 -0
|
||||
11000 3.8612552 2000 -0
|
||||
12000 3.9786677 2000 -0
|
||||
13000 4.0988154 2000 -0
|
||||
14000 4.2249811 2000 -0
|
||||
15000 4.3562138 2000 -0
|
||||
16000 4.4940333 2000 -0
|
||||
17000 4.6394637 2000 -0
|
||||
18000 4.7909062 2000 -0
|
||||
19000 4.9482198 2000 -0
|
||||
20000 5.1116607 2000 -0
|
||||
Loop time of 5.11176 on 4 procs for 20000 steps with 2000 atoms
|
||||
|
||||
97.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.050997 | 0.14884 | 0.36048 | 32.0 | 2.91
|
||||
Neigh | 0.01374 | 0.025199 | 0.043743 | 7.0 | 0.49
|
||||
Comm | 0.063387 | 0.1781 | 0.29748 | 22.6 | 3.48
|
||||
Output | 0.0016627 | 0.0060938 | 0.015082 | 6.8 | 0.12
|
||||
Modify | 1.1198 | 1.987 | 3.7195 | 72.6 | 38.87
|
||||
Other | | 2.767 | | | 54.12
|
||||
|
||||
Nlocal: 500 ave 505 max 493 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 159.25 ave 254 max 71 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
Neighs: 397.5 ave 616 max 214 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 1590
|
||||
Ave neighs/atom = 0.795
|
||||
Neighbor list builds = 69
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 150000
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.37 | 12.51 | 12.7 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
20000 0 2000 6443.7665
|
||||
21000 0.11261106 2000 6572.3531
|
||||
22000 0.23091817 2000 6723.8376
|
||||
23000 0.35577631 2000 6853.1812
|
||||
24000 0.48790455 2000 6976.0209
|
||||
25000 0.63509274 2000 7096.9955
|
||||
26000 0.78251743 2000 7215.5795
|
||||
27000 0.93707466 2000 7349.2382
|
||||
28000 1.1032445 2000 7471.8719
|
||||
29000 1.2721858 2000 7574.8228
|
||||
30000 1.449265 2000 7659.3836
|
||||
31000 1.5742557 2000 7703.6856
|
||||
32000 1.7076068 2000 7644.279
|
||||
33000 1.8527873 2000 7526.6944
|
||||
34000 2.009855 2000 7370.0821
|
||||
35000 2.1766446 2000 7193.0459
|
||||
36000 2.3557482 2000 6990.9912
|
||||
37000 2.5468907 2000 6849.286
|
||||
38000 2.7480681 2000 6701.7548
|
||||
39000 2.9574037 2000 6538.6915
|
||||
40000 3.1807711 2000 6382.3209
|
||||
41000 3.3486595 2000 6216.424
|
||||
42000 3.5162592 2000 6091.29
|
||||
43000 3.687057 2000 5945.3256
|
||||
44000 3.8662596 2000 5840.875
|
||||
45000 4.0557241 2000 5649.763
|
||||
46000 4.2541051 2000 5476.2837
|
||||
47000 4.4571214 2000 5277.0701
|
||||
48000 4.6628008 2000 5123.9796
|
||||
49000 4.8686502 2000 4968.3344
|
||||
50000 5.0788848 2000 4869.5754
|
||||
51000 5.2552598 2000 4704.8517
|
||||
52000 5.4428713 2000 4522.8978
|
||||
53000 5.6520596 2000 4393.8047
|
||||
54000 5.8613031 2000 4235.438
|
||||
55000 6.0776098 2000 4082.3073
|
||||
56000 6.2998042 2000 3901.0483
|
||||
57000 6.5321434 2000 3718.0882
|
||||
58000 6.7745438 2000 3504.621
|
||||
59000 7.0237701 2000 3285.7484
|
||||
60000 7.2791855 2000 3047.3386
|
||||
61000 7.489058 2000 2875.4032
|
||||
62000 7.7044094 2000 2647.83
|
||||
63000 7.9194827 2000 2396.5343
|
||||
64000 8.1429474 2000 2107.2113
|
||||
65000 8.3745618 2000 1858.1977
|
||||
66000 8.610673 2000 1615.8096
|
||||
67000 8.8505244 2000 1416.5065
|
||||
68000 9.0955915 2000 1206.8534
|
||||
69000 9.3609676 2000 953.93974
|
||||
70000 9.6382594 2000 766.9148
|
||||
71000 9.8719468 2000 611.45063
|
||||
72000 10.095534 2000 464.94805
|
||||
73000 10.317962 2000 364.31415
|
||||
74000 10.547287 2000 298.77524
|
||||
75000 10.764052 2000 245.73022
|
||||
76000 10.978769 2000 207.8035
|
||||
77000 11.199921 2000 179.1305
|
||||
78000 11.410296 2000 151.21032
|
||||
79000 11.624499 2000 124.49675
|
||||
80000 11.849562 2000 106.71504
|
||||
81000 12.077449 2000 93.299034
|
||||
82000 12.306904 2000 81.220408
|
||||
83000 12.539016 2000 67.383955
|
||||
84000 12.773108 2000 57.287165
|
||||
85000 13.009487 2000 49.255887
|
||||
86000 13.252544 2000 44.082536
|
||||
87000 13.502564 2000 40.193574
|
||||
88000 13.747198 2000 36.903867
|
||||
89000 13.993028 2000 33.55332
|
||||
90000 14.240036 2000 30.730912
|
||||
91000 14.472719 2000 28.650574
|
||||
92000 14.708542 2000 26.377609
|
||||
93000 14.948106 2000 24.433165
|
||||
94000 15.186653 2000 22.933076
|
||||
95000 15.428022 2000 22.31788
|
||||
96000 15.676323 2000 20.829124
|
||||
97000 15.916326 2000 19.401354
|
||||
98000 16.160197 2000 18.943699
|
||||
99000 16.404796 2000 17.690599
|
||||
100000 16.659731 2000 17.215943
|
||||
101000 16.904498 2000 15.948087
|
||||
102000 17.150993 2000 15.140324
|
||||
103000 17.39584 2000 14.885674
|
||||
104000 17.643707 2000 14.414752
|
||||
105000 17.889343 2000 14.270676
|
||||
106000 18.136159 2000 13.943799
|
||||
107000 18.383653 2000 13.840145
|
||||
108000 18.630952 2000 12.826341
|
||||
109000 18.878218 2000 12.209012
|
||||
110000 19.125558 2000 11.916194
|
||||
111000 19.3726 2000 11.970849
|
||||
112000 19.621494 2000 11.56909
|
||||
113000 19.869978 2000 11.390562
|
||||
114000 20.123402 2000 11.276545
|
||||
115000 20.370963 2000 11.171298
|
||||
116000 20.619975 2000 11.686225
|
||||
117000 20.869585 2000 11.379805
|
||||
118000 21.118875 2000 10.539511
|
||||
119000 21.36837 2000 10.064595
|
||||
120000 21.629511 2000 10.003722
|
||||
121000 21.877867 2000 9.6974586
|
||||
122000 22.127922 2000 9.7156209
|
||||
123000 22.378215 2000 9.615256
|
||||
124000 22.630463 2000 8.8979008
|
||||
125000 22.882154 2000 8.2220003
|
||||
126000 23.135763 2000 8.3153866
|
||||
127000 23.392389 2000 8.0945497
|
||||
128000 23.645521 2000 7.8942467
|
||||
129000 23.89965 2000 7.4794776
|
||||
130000 24.153195 2000 7.3635341
|
||||
131000 24.406239 2000 7.5757743
|
||||
132000 24.66016 2000 7.7047492
|
||||
133000 24.914093 2000 8.0142133
|
||||
134000 25.173429 2000 8.1716714
|
||||
135000 25.433318 2000 7.7803343
|
||||
136000 25.692997 2000 6.3545482
|
||||
137000 25.947787 2000 6.313769
|
||||
138000 26.200427 2000 6.4948596
|
||||
139000 26.452514 2000 6.6183259
|
||||
140000 26.714963 2000 6.7922281
|
||||
141000 26.968235 2000 7.0752448
|
||||
142000 27.220962 2000 7.2328717
|
||||
143000 27.474819 2000 7.626453
|
||||
144000 27.728029 2000 7.4576787
|
||||
145000 27.981958 2000 7.124435
|
||||
146000 28.236591 2000 7.2581589
|
||||
147000 28.489842 2000 7.0622049
|
||||
148000 28.744432 2000 7.1672801
|
||||
149000 28.998739 2000 7.3248363
|
||||
150000 29.253511 2000 7.0092266
|
||||
151000 29.50567 2000 6.8124438
|
||||
152000 29.759836 2000 6.9808705
|
||||
153000 30.015359 2000 7.1516731
|
||||
154000 30.275488 2000 6.6245443
|
||||
155000 30.533407 2000 5.5867165
|
||||
156000 30.788683 2000 5.318949
|
||||
157000 31.043126 2000 5.1195805
|
||||
158000 31.297011 2000 5.2045485
|
||||
159000 31.551327 2000 5.24992
|
||||
160000 31.807728 2000 5.3270577
|
||||
161000 32.061371 2000 4.995281
|
||||
162000 32.315467 2000 5.0755874
|
||||
163000 32.57628 2000 5.0788135
|
||||
164000 32.83119 2000 4.5917317
|
||||
165000 33.085634 2000 4.6255452
|
||||
166000 33.344148 2000 4.2563299
|
||||
167000 33.599342 2000 3.3808566
|
||||
168000 33.853488 2000 3.218931
|
||||
169000 34.121464 2000 3.0839289
|
||||
170000 34.378727 2000 3.0358838
|
||||
Loop time of 34.3788 on 4 procs for 150000 steps with 2000 atoms
|
||||
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 6.5861 | 10.058 | 12.152 | 68.4 | 29.26
|
||||
Neigh | 0.17612 | 0.25274 | 0.30005 | 9.2 | 0.74
|
||||
Comm | 1.5024 | 2.6626 | 3.4174 | 44.9 | 7.74
|
||||
Output | 0.006542 | 0.019532 | 0.046425 | 11.5 | 0.06
|
||||
Modify | 11.945 | 14.674 | 16.29 | 42.7 | 42.68
|
||||
Other | | 6.711 | | | 19.52
|
||||
|
||||
Nlocal: 500 ave 508 max 489 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||
Nghost: 446.75 ave 708 max 191 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
Neighs: 4498 ave 5441 max 3786 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 17992
|
||||
Ave neighs/atom = 8.996
|
||||
Neighbor list builds = 403
|
||||
Dangerous builds = 0
|
||||
|
||||
# remove "plug" - need to redefine cylinder region & union
|
||||
|
||||
region cylreg delete
|
||||
region hopreg delete
|
||||
region cylreg cylinder z ${xc} ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2 #Bottom & top are open
|
||||
region cylreg cylinder z 25 ${yc} ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 ${radconelo} ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 ${zcyllo} ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 ${zconelo} side in units box open 1 open 2
|
||||
region cylreg cylinder z 25 25 2 0 10 side in units box open 1 open 2
|
||||
|
||||
region hopreg union 2 cylreg conereg
|
||||
|
||||
unfix hopper3
|
||||
fix hopper3 all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 ${gamma_n} ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 ${gamma_t} ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 ${coeffFric} 1 region hopreg
|
||||
fix hopper3 all wall/gran/region hertz/history 72592.5925925926 90740.7407407408 903.503751814138 451.751875907069 0.5 1 region hopreg
|
||||
|
||||
run 100000
|
||||
Per MPI rank memory allocation (min/avg/max) = 13.68 | 15.35 | 16.59 Mbytes
|
||||
Step CPU Atoms KinEng
|
||||
170000 0 2000 3.0358838
|
||||
171000 0.25455499 2000 3.7725185
|
||||
172000 0.50768304 2000 4.727285
|
||||
173000 0.76122355 2000 5.9840449
|
||||
174000 1.0141416 2000 8.0335022
|
||||
175000 1.2750733 2000 10.177259
|
||||
176000 1.5277736 2000 13.655163
|
||||
177000 1.7810826 2000 17.987975
|
||||
178000 2.0348532 2000 23.266471
|
||||
179000 2.2915859 2000 29.266364
|
||||
180000 2.547174 2000 35.84089
|
||||
181000 2.8009758 2000 43.130989
|
||||
182000 3.0531759 2000 51.177142
|
||||
183000 3.3130636 2000 60.031831
|
||||
184000 3.5651338 2000 69.52374
|
||||
185000 3.8185399 2000 79.941907
|
||||
186000 4.070199 2000 91.195382
|
||||
187000 4.3204038 2000 102.1696
|
||||
188000 4.5699775 2000 112.73657
|
||||
189000 4.8184452 2000 123.57252
|
||||
190000 5.0653601 2000 135.59942
|
||||
191000 5.3119307 2000 147.37757
|
||||
192000 5.5574484 2000 159.12931
|
||||
193000 5.8029084 2000 170.90271
|
||||
194000 6.0463562 2000 185.71189
|
||||
195000 6.2883332 2000 201.83733
|
||||
196000 6.5281694 2000 218.30785
|
||||
197000 6.7682493 2000 236.05694
|
||||
198000 7.0084231 2000 255.23099
|
||||
199000 7.2519951 2000 273.94566
|
||||
200000 7.5010133 2000 293.91107
|
||||
201000 7.7396591 2000 316.52142
|
||||
202000 7.9784184 2000 340.91391
|
||||
203000 8.224021 2000 364.81801
|
||||
204000 8.4597676 2000 390.06478
|
||||
205000 8.6934731 2000 415.90918
|
||||
206000 8.9342225 2000 441.0995
|
||||
207000 9.1714027 2000 467.40314
|
||||
208000 9.4081488 2000 494.93631
|
||||
209000 9.6457636 2000 524.70539
|
||||
210000 9.8831718 2000 556.52058
|
||||
211000 10.118018 2000 589.36821
|
||||
212000 10.3541 2000 622.6887
|
||||
213000 10.587226 2000 657.05888
|
||||
214000 10.820744 2000 691.14292
|
||||
215000 11.055785 2000 726.94959
|
||||
216000 11.298702 2000 762.92802
|
||||
217000 11.534793 2000 801.23648
|
||||
218000 11.769849 2000 841.1559
|
||||
219000 12.000917 2000 882.4342
|
||||
220000 12.232812 2000 924.8466
|
||||
221000 12.461166 2000 968.86229
|
||||
222000 12.698451 2000 1013.1381
|
||||
223000 12.930287 2000 1058.2988
|
||||
224000 13.172862 2000 1105.2911
|
||||
225000 13.405001 2000 1152.8617
|
||||
226000 13.633187 1999 1197.6777
|
||||
227000 13.857126 1998 1243.1211
|
||||
228000 14.079622 1992 1262.1402
|
||||
229000 14.303362 1987 1281.9162
|
||||
230000 14.530392 1973 1264.0674
|
||||
231000 14.756486 1964 1277.8347
|
||||
232000 14.984495 1953 1266.7926
|
||||
233000 15.213102 1940 1244.0038
|
||||
234000 15.441666 1925 1206.4472
|
||||
235000 15.667547 1914 1193.33
|
||||
236000 15.895047 1901 1160.4096
|
||||
237000 16.120833 1890 1141.6816
|
||||
238000 16.346628 1883 1149.1584
|
||||
239000 16.573303 1877 1141.7514
|
||||
240000 16.801035 1871 1146.8662
|
||||
241000 17.024775 1866 1152.561
|
||||
242000 17.248651 1858 1148.2529
|
||||
243000 17.47241 1847 1114.7239
|
||||
244000 17.70222 1832 1070.9996
|
||||
245000 17.926477 1824 1066.7549
|
||||
246000 18.157588 1813 1027.1865
|
||||
247000 18.378868 1804 1011.5024
|
||||
248000 18.599988 1797 993.10451
|
||||
249000 18.819007 1787 951.89778
|
||||
250000 19.044634 1777 926.30475
|
||||
251000 19.254408 1764 875.07091
|
||||
252000 19.465788 1755 824.89358
|
||||
253000 19.676327 1742 742.51957
|
||||
254000 19.887648 1731 708.30958
|
||||
255000 20.094912 1722 690.09761
|
||||
256000 20.299963 1713 638.00218
|
||||
257000 20.506153 1705 596.86839
|
||||
258000 20.713994 1701 583.71937
|
||||
259000 20.919755 1691 549.0049
|
||||
260000 21.123122 1688 549.4278
|
||||
261000 21.332215 1684 535.35719
|
||||
262000 21.533673 1682 546.74031
|
||||
263000 21.737042 1678 532.69324
|
||||
264000 21.941306 1676 537.89254
|
||||
265000 22.15135 1676 559.50898
|
||||
266000 22.358371 1670 540.21452
|
||||
267000 22.563236 1668 557.19857
|
||||
268000 22.764648 1665 569.52869
|
||||
269000 22.96391 1658 543.77057
|
||||
270000 23.172415 1656 550.23716
|
||||
Loop time of 23.1725 on 4 procs for 100000 steps with 1656 atoms
|
||||
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.3849 | 7.3002 | 10.192 | 91.3 | 31.50
|
||||
Neigh | 0.14271 | 0.16781 | 0.19054 | 4.5 | 0.72
|
||||
Comm | 1.086 | 1.9721 | 2.6157 | 42.7 | 8.51
|
||||
Output | 0.0018437 | 0.013918 | 0.041359 | 13.5 | 0.06
|
||||
Modify | 8.6598 | 9.3198 | 9.8874 | 16.6 | 40.22
|
||||
Other | | 4.399 | | | 18.98
|
||||
|
||||
Nlocal: 414 ave 454 max 385 min
|
||||
Histogram: 2 0 0 0 0 0 1 0 0 1
|
||||
Nghost: 395.25 ave 645 max 157 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
Neighs: 3498.5 ave 4524 max 2034 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 13994
|
||||
Ave neighs/atom = 8.45048
|
||||
Neighbor list builds = 240
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:02
|
||||
@ -1,602 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
variable name string mixer
|
||||
|
||||
thermo_modify flush yes
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Particle parameters
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.3
|
||||
variable rhi equal 0.6
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.3
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.6
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.6
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable kn equal 10^5
|
||||
variable kt equal 0.2*${kn}
|
||||
variable kt equal 0.2*100000
|
||||
|
||||
variable gravity equal 1.0
|
||||
variable density equal 1.0
|
||||
|
||||
variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3
|
||||
variable a equal (-2.0*log(${coeffRes})/PI)^2
|
||||
variable a equal (-2.0*log(0.1)/PI)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 806.699778405191*0.5
|
||||
|
||||
variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.02
|
||||
variable dt equal 0.00236257621510454*0.02
|
||||
timestep ${dt}
|
||||
timestep 4.72515243020908e-05
|
||||
|
||||
###############################################
|
||||
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton on
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block 0 20 0 20 0 20
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (0 0 0) to (20 20 20)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.6 bin
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 20, bins = 1 1 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
region insreg cylinder z 10 10 8 10 18 side in units box
|
||||
region cylreg cylinder z 10 10 10 0 20 side in units box
|
||||
|
||||
variable theta equal (step/400000)*2*PI
|
||||
|
||||
region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
|
||||
region mixer intersect 3 cylreg b1 b2 side in
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer
|
||||
|
||||
fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1
|
||||
Particle insertion: 444 every 84653 steps, 1000 by step 169307
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke v_theta
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
run 200000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.862 | 5.862 | 5.862 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
0 0 0 -0 0
|
||||
1000 0.15327144 444 -0 0.015707963
|
||||
2000 0.30070925 444 -0 0.031415927
|
||||
3000 0.44653535 444 -0 0.04712389
|
||||
4000 0.59226131 444 -0 0.062831853
|
||||
5000 0.73794818 444 -0 0.078539816
|
||||
6000 0.88327622 444 -0 0.09424778
|
||||
7000 1.0286083 444 -0 0.10995574
|
||||
8000 1.1740625 444 -0 0.12566371
|
||||
9000 1.3224797 444 -0 0.14137167
|
||||
10000 1.4717772 444 -0 0.15707963
|
||||
11000 1.6204555 444 -0 0.1727876
|
||||
12000 1.7690799 444 -0 0.18849556
|
||||
13000 1.918304 444 -0 0.20420352
|
||||
14000 2.0670426 444 -0 0.21991149
|
||||
15000 2.2157068 444 -0 0.23561945
|
||||
16000 2.3642888 444 -0 0.25132741
|
||||
17000 2.5129776 444 -0 0.26703538
|
||||
18000 2.6614521 444 -0 0.28274334
|
||||
19000 2.8100598 444 -0 0.2984513
|
||||
20000 2.9591351 444 -0 0.31415927
|
||||
21000 3.1073661 444 -0 0.32986723
|
||||
22000 3.2557554 444 -0 0.34557519
|
||||
23000 3.4041324 444 -0 0.36128316
|
||||
24000 3.5526814 444 -0 0.37699112
|
||||
25000 3.700824 444 -0 0.39269908
|
||||
26000 3.8496137 444 -0 0.40840704
|
||||
27000 3.9986103 444 -0 0.42411501
|
||||
28000 4.1475384 444 -0 0.43982297
|
||||
29000 4.2963772 444 -0 0.45553093
|
||||
30000 4.4454341 444 -0 0.4712389
|
||||
31000 4.5942066 444 -0 0.48694686
|
||||
32000 4.7434044 444 -0 0.50265482
|
||||
33000 4.893549 444 -0 0.51836279
|
||||
34000 5.0427935 444 -0 0.53407075
|
||||
35000 5.1920972 444 -0 0.54977871
|
||||
36000 5.3411844 444 -0 0.56548668
|
||||
37000 5.4904606 444 -0 0.58119464
|
||||
38000 5.6397707 444 -0 0.5969026
|
||||
39000 5.7900345 444 -0 0.61261057
|
||||
40000 5.9405882 444 -0 0.62831853
|
||||
41000 6.089345 444 -0 0.64402649
|
||||
42000 6.2388933 444 -0 0.65973446
|
||||
43000 6.3888056 444 -0 0.67544242
|
||||
44000 6.5379841 444 -0 0.69115038
|
||||
45000 6.6875141 444 -0 0.70685835
|
||||
46000 6.8370855 444 -0 0.72256631
|
||||
47000 6.9866009 444 -0 0.73827427
|
||||
48000 7.1364653 444 -0 0.75398224
|
||||
49000 7.2859883 444 -0 0.7696902
|
||||
50000 7.4368248 444 -0 0.78539816
|
||||
51000 7.5870779 444 -0 0.80110613
|
||||
52000 7.7370813 444 -0 0.81681409
|
||||
53000 7.8879561 444 -0 0.83252205
|
||||
54000 8.0383027 444 -0 0.84823002
|
||||
55000 8.1916294 444 -0 0.86393798
|
||||
56000 8.3458471 444 -0 0.87964594
|
||||
57000 8.5010631 444 -0 0.89535391
|
||||
58000 8.6560545 444 -0 0.91106187
|
||||
59000 8.8110209 444 -0 0.92676983
|
||||
60000 8.9674675 444 -0 0.9424778
|
||||
61000 9.1231239 444 -0 0.95818576
|
||||
62000 9.2785382 444 -0 0.97389372
|
||||
63000 9.4343674 444 -0 0.98960169
|
||||
64000 9.5911541 444 -0 1.0053096
|
||||
65000 9.7477772 444 -0 1.0210176
|
||||
66000 9.9050307 444 -0 1.0367256
|
||||
67000 10.063978 444 -0 1.0524335
|
||||
68000 10.221835 444 -0 1.0681415
|
||||
69000 10.37944 444 -0 1.0838495
|
||||
70000 10.537409 444 -0 1.0995574
|
||||
71000 10.695649 444 -0 1.1152654
|
||||
72000 10.85453 444 -0 1.1309734
|
||||
73000 11.013438 444 -0 1.1466813
|
||||
74000 11.172689 444 -0 1.1623893
|
||||
75000 11.332172 444 -0 1.1780972
|
||||
76000 11.492824 444 -0 1.1938052
|
||||
77000 11.653915 444 -0 1.2095132
|
||||
78000 11.815798 444 -0 1.2252211
|
||||
79000 11.97868 444 -0 1.2409291
|
||||
80000 12.141392 444 -0 1.2566371
|
||||
81000 12.30536 444 -0 1.272345
|
||||
82000 12.468797 444 -0 1.288053
|
||||
83000 12.633028 444 -0 1.303761
|
||||
84000 12.797936 444 -0 1.3194689
|
||||
85000 13.019726 888 -0 1.3351769
|
||||
86000 13.333436 888 -0 1.3508848
|
||||
87000 13.648179 888 -0 1.3665928
|
||||
88000 13.962435 888 -0 1.3823008
|
||||
89000 14.276158 888 -0 1.3980087
|
||||
90000 14.590669 888 -0 1.4137167
|
||||
91000 14.904268 888 -0 1.4294247
|
||||
92000 15.216788 888 -0 1.4451326
|
||||
93000 15.529868 888 -0 1.4608406
|
||||
94000 15.843157 888 -0 1.4765485
|
||||
95000 16.156564 888 -0 1.4922565
|
||||
96000 16.469569 888 -0 1.5079645
|
||||
97000 16.784048 888 -0 1.5236724
|
||||
98000 17.100451 888 -0 1.5393804
|
||||
99000 17.416338 888 -0 1.5550884
|
||||
100000 17.733482 888 -0 1.5707963
|
||||
101000 18.052522 888 -0 1.5865043
|
||||
102000 18.371428 888 -0 1.6022123
|
||||
103000 18.690222 888 -0 1.6179202
|
||||
104000 19.009665 888 -0 1.6336282
|
||||
105000 19.328189 888 -0 1.6493361
|
||||
106000 19.647804 888 -0 1.6650441
|
||||
107000 19.96805 888 -0 1.6807521
|
||||
108000 20.286857 888 -0 1.69646
|
||||
109000 20.607965 888 -0 1.712168
|
||||
110000 20.931749 888 -0 1.727876
|
||||
111000 21.251903 888 -0 1.7435839
|
||||
112000 21.572158 888 -0 1.7592919
|
||||
113000 21.892612 888 -0 1.7749998
|
||||
114000 22.214408 888 -0 1.7907078
|
||||
115000 22.535498 888 -0 1.8064158
|
||||
116000 22.856752 888 -0 1.8221237
|
||||
117000 23.178885 888 -0 1.8378317
|
||||
118000 23.501127 888 -0 1.8535397
|
||||
119000 23.8241 888 -0 1.8692476
|
||||
120000 24.147258 888 -0 1.8849556
|
||||
121000 24.472969 888 -0 1.9006636
|
||||
122000 24.799108 888 -0 1.9163715
|
||||
123000 25.125275 888 -0 1.9320795
|
||||
124000 25.453866 888 -0 1.9477874
|
||||
125000 25.784766 888 -0 1.9634954
|
||||
126000 26.117013 888 -0 1.9792034
|
||||
127000 26.448734 888 -0 1.9949113
|
||||
128000 26.780032 888 -0 2.0106193
|
||||
129000 27.113678 888 -0 2.0263273
|
||||
130000 27.450001 888 -0 2.0420352
|
||||
131000 27.782047 888 -0 2.0577432
|
||||
132000 28.114287 888 -0 2.0734512
|
||||
133000 28.446648 888 -0 2.0891591
|
||||
134000 28.780438 888 -0 2.1048671
|
||||
135000 29.116443 888 -0 2.120575
|
||||
136000 29.451848 888 -0 2.136283
|
||||
137000 29.787778 888 -0 2.151991
|
||||
138000 30.12804 888 -0 2.1676989
|
||||
139000 30.46814 888 -0 2.1834069
|
||||
140000 30.808946 888 -0 2.1991149
|
||||
141000 31.147584 888 -0 2.2148228
|
||||
142000 31.486475 888 -0 2.2305308
|
||||
143000 31.826754 888 -0 2.2462387
|
||||
144000 32.165796 888 -0 2.2619467
|
||||
145000 32.506074 888 -0 2.2776547
|
||||
146000 32.847604 888 -0 2.2933626
|
||||
147000 33.188988 888 -0 2.3090706
|
||||
148000 33.532869 888 -0 2.3247786
|
||||
149000 33.876629 888 -0 2.3404865
|
||||
150000 34.221172 888 -0 2.3561945
|
||||
151000 34.562559 888 -0 2.3719025
|
||||
152000 34.904679 888 -0 2.3876104
|
||||
153000 35.247727 888 -0 2.4033184
|
||||
154000 35.591228 888 -0 2.4190263
|
||||
155000 35.949192 888 -0 2.4347343
|
||||
156000 36.320157 888 -0 2.4504423
|
||||
157000 36.693571 888 -0 2.4661502
|
||||
158000 37.069463 888 -0 2.4818582
|
||||
159000 37.44221 888 -0 2.4975662
|
||||
160000 37.81863 888 -0 2.5132741
|
||||
161000 38.195121 888 -0 2.5289821
|
||||
162000 38.573424 888 -0 2.54469
|
||||
163000 38.950044 888 -0 2.560398
|
||||
164000 39.331977 888 -0 2.576106
|
||||
165000 39.714367 888 -0 2.5918139
|
||||
166000 40.097099 888 -0 2.6075219
|
||||
167000 40.477443 888 -0 2.6232299
|
||||
168000 40.860404 888 -0 2.6389378
|
||||
169000 41.244357 888 -0 2.6546458
|
||||
170000 41.658126 1000 -0 2.6703538
|
||||
171000 42.082517 1000 -0 2.6860617
|
||||
172000 42.507502 1000 -0 2.7017697
|
||||
173000 42.93363 1000 -0 2.7174776
|
||||
174000 43.361133 1000 -0 2.7331856
|
||||
175000 43.792381 1000 -0 2.7488936
|
||||
176000 44.223827 1000 -0 2.7646015
|
||||
177000 44.656581 1000 -0 2.7803095
|
||||
178000 45.087615 1000 -0 2.7960175
|
||||
179000 45.521129 1000 -0 2.8117254
|
||||
180000 45.957808 1000 -0 2.8274334
|
||||
181000 46.391451 1000 -0 2.8431414
|
||||
182000 46.825486 1000 -0 2.8588493
|
||||
183000 47.26091 1000 -0 2.8745573
|
||||
184000 47.694263 1000 -0 2.8902652
|
||||
185000 48.123312 1000 -0 2.9059732
|
||||
186000 48.554081 1000 -0 2.9216812
|
||||
187000 48.982617 1000 -0 2.9373891
|
||||
188000 49.414355 1000 -0 2.9530971
|
||||
189000 49.84753 1000 -0 2.9688051
|
||||
190000 50.284462 1000 -0 2.984513
|
||||
191000 50.71899 1000 -0 3.000221
|
||||
192000 51.157278 1000 -0 3.0159289
|
||||
193000 51.586171 1000 -0 3.0316369
|
||||
194000 52.011691 1000 -0 3.0473449
|
||||
195000 52.437732 1000 -0 3.0630528
|
||||
196000 52.863703 1000 -0 3.0787608
|
||||
197000 53.290403 1000 -0 3.0944688
|
||||
198000 53.7191 1000 -0 3.1101767
|
||||
199000 54.147195 1000 -0 3.1258847
|
||||
200000 54.575967 1000 -0 3.1415927
|
||||
Loop time of 54.576 on 1 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 14960.907 tau/day, 3664.615 timesteps/s
|
||||
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.7989 | 3.7989 | 3.7989 | 0.0 | 6.96
|
||||
Neigh | 0.067629 | 0.067629 | 0.067629 | 0.0 | 0.12
|
||||
Comm | 0.63734 | 0.63734 | 0.63734 | 0.0 | 1.17
|
||||
Output | 0.0049303 | 0.0049303 | 0.0049303 | 0.0 | 0.01
|
||||
Modify | 49.1 | 49.1 | 49.1 | 0.0 | 89.97
|
||||
Other | | 0.9668 | | | 1.77
|
||||
|
||||
Nlocal: 1000 ave 1000 max 1000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 196 ave 196 max 196 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 3910 ave 3910 max 3910 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 3910
|
||||
Ave neighs/atom = 3.91
|
||||
Neighbor list builds = 219
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 200000
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.65 | 12.65 | 12.65 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
200000 0 1000 0.93873133 3.1415927
|
||||
201000 0.4261198 1000 0.93239566 3.1573006
|
||||
202000 0.84928846 1000 0.90333835 3.1730086
|
||||
203000 1.2720087 1000 0.89351493 3.1887165
|
||||
204000 1.6929317 1000 0.87648478 3.2044245
|
||||
205000 2.114043 1000 0.86818482 3.2201325
|
||||
206000 2.5357664 1000 0.86033251 3.2358404
|
||||
207000 2.9579847 1000 0.85442625 3.2515484
|
||||
208000 3.3812878 1000 0.8517451 3.2672564
|
||||
209000 3.8124611 1000 0.84406987 3.2829643
|
||||
210000 4.2440236 1000 0.83964642 3.2986723
|
||||
211000 4.6781921 1000 0.82994066 3.3143802
|
||||
212000 5.1116509 1000 0.82908369 3.3300882
|
||||
213000 5.5468135 1000 0.83115482 3.3457962
|
||||
214000 5.9802556 1000 0.82680518 3.3615041
|
||||
215000 6.4107294 1000 0.8223909 3.3772121
|
||||
216000 6.8419023 1000 0.81872537 3.3929201
|
||||
217000 7.2763367 1000 0.82446065 3.408628
|
||||
218000 7.7160695 1000 0.82278874 3.424336
|
||||
219000 8.1540956 1000 0.83017397 3.440044
|
||||
220000 8.5917952 1000 0.82232305 3.4557519
|
||||
221000 9.0296218 1000 0.82584132 3.4714599
|
||||
222000 9.4719794 1000 0.82143909 3.4871678
|
||||
223000 9.9180939 1000 0.82925587 3.5028758
|
||||
224000 10.361852 1000 0.84546265 3.5185838
|
||||
225000 10.803539 1000 0.84436452 3.5342917
|
||||
226000 11.248456 1000 0.84849375 3.5499997
|
||||
227000 11.695092 1000 0.8409057 3.5657077
|
||||
228000 12.136044 1000 0.83139305 3.5814156
|
||||
229000 12.579807 1000 0.83098473 3.5971236
|
||||
230000 13.02219 1000 0.81335147 3.6128316
|
||||
231000 13.463863 1000 0.78946649 3.6285395
|
||||
232000 13.906293 1000 0.78807613 3.6442475
|
||||
233000 14.348807 1000 0.79086655 3.6599554
|
||||
234000 14.793175 1000 0.79358862 3.6756634
|
||||
235000 15.238316 1000 0.79444252 3.6913714
|
||||
236000 15.683342 1000 0.79392156 3.7070793
|
||||
237000 16.12611 1000 0.80416034 3.7227873
|
||||
238000 16.5711 1000 0.80365093 3.7384953
|
||||
239000 17.014355 1000 0.80860323 3.7542032
|
||||
240000 17.454467 1000 0.80245788 3.7699112
|
||||
241000 17.89162 1000 0.79602568 3.7856191
|
||||
242000 18.330859 1000 0.79023692 3.8013271
|
||||
243000 18.769301 1000 0.79066782 3.8170351
|
||||
244000 19.211293 1000 0.77671368 3.832743
|
||||
245000 19.651443 1000 0.77121874 3.848451
|
||||
246000 20.092102 1000 0.74658977 3.864159
|
||||
247000 20.532732 1000 0.73825017 3.8798669
|
||||
248000 20.975646 1000 0.7187986 3.8955749
|
||||
249000 21.418807 1000 0.71707058 3.9112829
|
||||
250000 21.862497 1000 0.72983635 3.9269908
|
||||
251000 22.311832 1000 0.7355358 3.9426988
|
||||
252000 22.75883 1000 0.74427811 3.9584067
|
||||
253000 23.203455 1000 0.74968093 3.9741147
|
||||
254000 23.651472 1000 0.75350303 3.9898227
|
||||
255000 24.102152 1000 0.75617916 4.0055306
|
||||
256000 24.554236 1000 0.74949839 4.0212386
|
||||
257000 25.008718 1000 0.73534118 4.0369466
|
||||
258000 25.461913 1000 0.73761942 4.0526545
|
||||
259000 25.916674 1000 0.75485851 4.0683625
|
||||
260000 26.373941 1000 0.77147511 4.0840704
|
||||
261000 26.832072 1000 0.76658917 4.0997784
|
||||
262000 27.28741 1000 0.76441563 4.1154864
|
||||
263000 27.742157 1000 0.74449444 4.1311943
|
||||
264000 28.192718 1000 0.7403314 4.1469023
|
||||
265000 28.642541 1000 0.74262656 4.1626103
|
||||
266000 29.09406 1000 0.74117022 4.1783182
|
||||
267000 29.547747 1000 0.73877643 4.1940262
|
||||
268000 29.998243 1000 0.75062626 4.2097342
|
||||
269000 30.449751 1000 0.74649396 4.2254421
|
||||
270000 30.901232 1000 0.75371324 4.2411501
|
||||
271000 31.354755 1000 0.75254842 4.256858
|
||||
272000 31.810717 1000 0.74245946 4.272566
|
||||
273000 32.265754 1000 0.73056023 4.288274
|
||||
274000 32.719719 1000 0.72004393 4.3039819
|
||||
275000 33.173929 1000 0.70665742 4.3196899
|
||||
276000 33.628581 1000 0.69417262 4.3353979
|
||||
277000 34.080936 1000 0.67343474 4.3511058
|
||||
278000 34.532053 1000 0.66922758 4.3668138
|
||||
279000 34.985569 1000 0.66239909 4.3825218
|
||||
280000 35.443496 1000 0.66406486 4.3982297
|
||||
281000 35.901536 1000 0.67123654 4.4139377
|
||||
282000 36.357765 1000 0.67660885 4.4296456
|
||||
283000 36.811956 1000 0.6809288 4.4453536
|
||||
284000 37.266937 1000 0.69561154 4.4610616
|
||||
285000 37.720866 1000 0.70874512 4.4767695
|
||||
286000 38.177032 1000 0.72957833 4.4924775
|
||||
287000 38.633109 1000 0.72891066 4.5081855
|
||||
288000 39.086933 1000 0.72673285 4.5238934
|
||||
289000 39.538699 1000 0.72583062 4.5396014
|
||||
290000 39.991294 1000 0.7209406 4.5553093
|
||||
291000 40.437987 1000 0.70642559 4.5710173
|
||||
292000 40.885753 1000 0.69074151 4.5867253
|
||||
293000 41.326601 1000 0.68041469 4.6024332
|
||||
294000 41.763719 1000 0.6712034 4.6181412
|
||||
295000 42.198532 1000 0.66140336 4.6338492
|
||||
296000 42.635139 1000 0.65458145 4.6495571
|
||||
297000 43.071132 1000 0.63884999 4.6652651
|
||||
298000 43.507309 1000 0.63182296 4.6809731
|
||||
299000 43.943936 1000 0.6324286 4.696681
|
||||
300000 44.383148 1000 0.62640427 4.712389
|
||||
301000 44.819379 1000 0.62138494 4.7280969
|
||||
302000 45.260834 1000 0.62902694 4.7438049
|
||||
303000 45.705719 1000 0.63308052 4.7595129
|
||||
304000 46.14622 1000 0.63266845 4.7752208
|
||||
305000 46.586693 1000 0.63464534 4.7909288
|
||||
306000 47.028768 1000 0.62941378 4.8066368
|
||||
307000 47.470183 1000 0.62801025 4.8223447
|
||||
308000 47.914518 1000 0.62291875 4.8380527
|
||||
309000 48.365654 1000 0.62529494 4.8537606
|
||||
310000 48.817185 1000 0.62504442 4.8694686
|
||||
311000 49.269423 1000 0.63074915 4.8851766
|
||||
312000 49.722869 1000 0.64292914 4.9008845
|
||||
313000 50.175859 1000 0.65319818 4.9165925
|
||||
314000 50.630132 1000 0.66755513 4.9323005
|
||||
315000 51.084836 1000 0.67585436 4.9480084
|
||||
316000 51.539391 1000 0.67676226 4.9637164
|
||||
317000 51.995233 1000 0.67394312 4.9794244
|
||||
318000 52.453581 1000 0.67299959 4.9951323
|
||||
319000 52.906322 1000 0.68074615 5.0108403
|
||||
320000 53.362206 1000 0.67696004 5.0265482
|
||||
321000 53.813824 1000 0.67899008 5.0422562
|
||||
322000 54.264433 1000 0.67901671 5.0579642
|
||||
323000 54.715627 1000 0.67620354 5.0736721
|
||||
324000 55.168 1000 0.67165541 5.0893801
|
||||
325000 55.620891 1000 0.67820953 5.1050881
|
||||
326000 56.073685 1000 0.67490808 5.120796
|
||||
327000 56.526012 1000 0.67238149 5.136504
|
||||
328000 56.977525 1000 0.66885914 5.152212
|
||||
329000 57.431088 1000 0.66876389 5.1679199
|
||||
330000 57.886694 1000 0.66879597 5.1836279
|
||||
331000 58.338381 1000 0.66577546 5.1993358
|
||||
332000 58.791084 1000 0.6602875 5.2150438
|
||||
333000 59.242965 1000 0.65879422 5.2307518
|
||||
334000 59.698559 1000 0.6581474 5.2464597
|
||||
335000 60.153261 1000 0.6521249 5.2621677
|
||||
336000 60.605605 1000 0.63371979 5.2778757
|
||||
337000 61.059824 1000 0.62373279 5.2935836
|
||||
338000 61.510606 1000 0.6212013 5.3092916
|
||||
339000 61.962049 1000 0.62303395 5.3249995
|
||||
340000 62.413564 1000 0.63183785 5.3407075
|
||||
341000 62.86366 1000 0.64387158 5.3564155
|
||||
342000 63.317623 1000 0.65045982 5.3721234
|
||||
343000 63.772034 1000 0.65401192 5.3878314
|
||||
344000 64.225206 1000 0.65181077 5.4035394
|
||||
345000 64.681317 1000 0.64098248 5.4192473
|
||||
346000 65.136483 1000 0.63163559 5.4349553
|
||||
347000 65.588996 1000 0.64182161 5.4506633
|
||||
348000 66.042215 1000 0.65528889 5.4663712
|
||||
349000 66.501687 1000 0.66603277 5.4820792
|
||||
350000 66.960896 1000 0.67362185 5.4977871
|
||||
351000 67.417316 1000 0.68867905 5.5134951
|
||||
352000 67.876742 1000 0.6907547 5.5292031
|
||||
353000 68.336836 1000 0.69043981 5.544911
|
||||
354000 68.797396 1000 0.68676964 5.560619
|
||||
355000 69.255062 1000 0.68019369 5.576327
|
||||
356000 69.711663 1000 0.66189875 5.5920349
|
||||
357000 70.172728 1000 0.65275709 5.6077429
|
||||
358000 70.632655 1000 0.64560617 5.6234508
|
||||
359000 71.091165 1000 0.63865266 5.6391588
|
||||
360000 71.548341 1000 0.6366388 5.6548668
|
||||
361000 72.006137 1000 0.63619567 5.6705747
|
||||
362000 72.466621 1000 0.63986167 5.6862827
|
||||
363000 72.928505 1000 0.656198 5.7019907
|
||||
364000 73.391876 1000 0.66522563 5.7176986
|
||||
365000 73.852366 1000 0.67330205 5.7334066
|
||||
366000 74.317924 1000 0.67997811 5.7491146
|
||||
367000 74.781431 1000 0.67734915 5.7648225
|
||||
368000 75.24363 1000 0.66811078 5.7805305
|
||||
369000 75.704319 1000 0.67232161 5.7962384
|
||||
370000 76.165294 1000 0.67262944 5.8119464
|
||||
371000 76.624971 1000 0.68614241 5.8276544
|
||||
372000 77.085918 1000 0.70293842 5.8433623
|
||||
373000 77.544679 1000 0.71889856 5.8590703
|
||||
374000 78.007103 1000 0.7170296 5.8747783
|
||||
375000 78.468913 1000 0.71258031 5.8904862
|
||||
376000 78.93354 1000 0.70758873 5.9061942
|
||||
377000 79.39396 1000 0.69486822 5.9219022
|
||||
378000 79.850685 1000 0.68311194 5.9376101
|
||||
379000 80.307228 1000 0.67317549 5.9533181
|
||||
380000 80.767418 1000 0.67691049 5.969026
|
||||
381000 81.227579 1000 0.69231691 5.984734
|
||||
382000 81.686924 1000 0.69998609 6.000442
|
||||
383000 82.145783 1000 0.69328258 6.0161499
|
||||
384000 82.604827 1000 0.69903908 6.0318579
|
||||
385000 83.056443 1000 0.69455744 6.0475659
|
||||
386000 83.507131 1000 0.68865933 6.0632738
|
||||
387000 83.95695 1000 0.68630439 6.0789818
|
||||
388000 84.404079 1000 0.6800564 6.0946897
|
||||
389000 84.851053 1000 0.66747339 6.1103977
|
||||
390000 85.298614 1000 0.65695883 6.1261057
|
||||
391000 85.744507 1000 0.65659359 6.1418136
|
||||
392000 86.191348 1000 0.65933663 6.1575216
|
||||
393000 86.632782 1000 0.65170236 6.1732296
|
||||
394000 87.074105 1000 0.65631817 6.1889375
|
||||
395000 87.5177 1000 0.66205838 6.2046455
|
||||
396000 87.963111 1000 0.65512694 6.2203535
|
||||
397000 88.408348 1000 0.65266011 6.2360614
|
||||
398000 88.854042 1000 0.64593806 6.2517694
|
||||
399000 89.298754 1000 0.64940473 6.2674773
|
||||
400000 89.745445 1000 0.66033435 6.2831853
|
||||
Loop time of 89.7455 on 1 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 9098.023 tau/day, 2228.525 timesteps/s
|
||||
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 10.924 | 10.924 | 10.924 | 0.0 | 12.17
|
||||
Neigh | 0.10266 | 0.10266 | 0.10266 | 0.0 | 0.11
|
||||
Comm | 1.9424 | 1.9424 | 1.9424 | 0.0 | 2.16
|
||||
Output | 0.0056458 | 0.0056458 | 0.0056458 | 0.0 | 0.01
|
||||
Modify | 75.442 | 75.442 | 75.442 | 0.0 | 84.06
|
||||
Other | | 1.329 | | | 1.48
|
||||
|
||||
Nlocal: 1000 ave 1000 max 1000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 272 ave 272 max 272 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4933 ave 4933 max 4933 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 4933
|
||||
Ave neighs/atom = 4.933
|
||||
Neighbor list builds = 171
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:24
|
||||
@ -1,602 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
variable name string mixer
|
||||
|
||||
thermo_modify flush yes
|
||||
variable seed equal 14314
|
||||
|
||||
###############################################
|
||||
# Particle parameters
|
||||
################################################
|
||||
|
||||
variable rlo equal 0.3
|
||||
variable rhi equal 0.6
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.3
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.6
|
||||
variable skin equal ${rhi}
|
||||
variable skin equal 0.6
|
||||
|
||||
variable coeffRes equal 0.1
|
||||
variable coeffFric equal 0.5
|
||||
|
||||
variable kn equal 10^5
|
||||
variable kt equal 0.2*${kn}
|
||||
variable kt equal 0.2*100000
|
||||
|
||||
variable gravity equal 1.0
|
||||
variable density equal 1.0
|
||||
|
||||
variable min_mass equal ${density}*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*${rlo}*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*${rlo}*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*${rlo}
|
||||
variable min_mass equal 1*4.0/3.0*PI*0.3*0.3*0.3
|
||||
variable a equal (-2.0*log(${coeffRes})/PI)^2
|
||||
variable a equal (-2.0*log(0.1)/PI)^2
|
||||
variable gamma_n equal sqrt($a*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*${kn}/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/${min_mass}/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*$a))
|
||||
variable gamma_n equal sqrt(0.405284734569351*2*100000/0.113097335529233/(1+0.25*0.405284734569351))
|
||||
variable gamma_t equal ${gamma_n}*0.5
|
||||
variable gamma_t equal 806.699778405191*0.5
|
||||
|
||||
variable tcol equal PI/sqrt(2*${kn}/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/${min_mass}-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-${gamma_n}/4.0)
|
||||
variable tcol equal PI/sqrt(2*100000/0.113097335529233-806.699778405191/4.0)
|
||||
|
||||
variable dt equal ${tcol}*0.02
|
||||
variable dt equal 0.00236257621510454*0.02
|
||||
timestep ${dt}
|
||||
timestep 4.72515243020908e-05
|
||||
|
||||
###############################################
|
||||
|
||||
variable dumpfreq equal 1000
|
||||
variable logfreq equal 1000
|
||||
|
||||
newton on
|
||||
atom_style sphere
|
||||
|
||||
boundary p p f
|
||||
|
||||
region boxreg block 0 20 0 20 0 20
|
||||
create_box 1 boxreg
|
||||
Created orthogonal box = (0 0 0) to (20 20 20)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
|
||||
pair_style gran/hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1
|
||||
pair_style gran/hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1
|
||||
pair_coeff * *
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.6 bin
|
||||
thermo ${logfreq}
|
||||
thermo 1000
|
||||
|
||||
comm_style brick
|
||||
comm_modify mode multi group all vel yes
|
||||
balance 1.1 shift xyz 20 1.1
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0
|
||||
ghost atom cutoff = 0
|
||||
binsize = 20, bins = 1 1 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair gran/hertz/history, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
fix bal all balance 10000 1.1 shift xyz 20 1.01
|
||||
|
||||
####################### Options specific to pouring #########################
|
||||
|
||||
region insreg cylinder z 10 10 8 10 18 side in units box
|
||||
region cylreg cylinder z 10 10 10 0 20 side in units box
|
||||
|
||||
variable theta equal (step/400000)*2*PI
|
||||
|
||||
region b1 block 2 18 9 11 0 4 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
region b2 block 9 11 2 18 0 3.99999 side out rotate v_theta 10 10 0 0 0 1 units box
|
||||
|
||||
region mixer intersect 3 cylreg b1 b2 side in
|
||||
|
||||
fix grav all gravity ${gravity} vector 0 0 -1
|
||||
fix grav all gravity 1 vector 0 0 -1
|
||||
fix 1 all nve/sphere
|
||||
|
||||
fix mixwall all wall/gran/region hertz/history ${kn} ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 ${kt} ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 ${gamma_n} ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 ${gamma_t} ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 ${coeffFric} 1 region mixer
|
||||
fix mixwall all wall/gran/region hertz/history 100000 20000 806.699778405191 403.349889202595 0.5 1 region mixer
|
||||
|
||||
fix ins all pour 1000 1 42424 region insreg diam range ${dlo} ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 ${dhi} dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens ${density} ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 ${density}
|
||||
fix ins all pour 1000 1 42424 region insreg diam range 0.6 1.2 dens 1 1
|
||||
Particle insertion: 444 every 84653 steps, 1000 by step 169307
|
||||
|
||||
#dump 1 all custom ${dumpfreq} ${name}_pour.dump # id type mass diameter x y z
|
||||
|
||||
#dump 2 all image 4000 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 zoom 1.5 # box no 0.0 axes no 0.0 0.0
|
||||
#dump_modify 2 pad 6
|
||||
|
||||
thermo_style custom step cpu atoms ke v_theta
|
||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:705)
|
||||
thermo_modify flush yes lost warn
|
||||
|
||||
run 200000
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.817 | 5.817 | 5.817 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
0 0 0 -0 0
|
||||
1000 0.096722603 444 -0 0.015707963
|
||||
2000 0.18796778 444 -0 0.031415927
|
||||
3000 0.27916241 444 -0 0.04712389
|
||||
4000 0.37111688 444 -0 0.062831853
|
||||
5000 0.46224833 444 -0 0.078539816
|
||||
6000 0.55190682 444 -0 0.09424778
|
||||
7000 0.64120579 444 -0 0.10995574
|
||||
8000 0.73025131 444 -0 0.12566371
|
||||
9000 0.82121348 444 -0 0.14137167
|
||||
10000 0.91006637 444 -0 0.15707963
|
||||
11000 0.97034311 444 -0 0.1727876
|
||||
12000 1.030247 444 -0 0.18849556
|
||||
13000 1.0894752 444 -0 0.20420352
|
||||
14000 1.1483686 444 -0 0.21991149
|
||||
15000 1.2138393 444 -0 0.23561945
|
||||
16000 1.2744856 444 -0 0.25132741
|
||||
17000 1.3361425 444 -0 0.26703538
|
||||
18000 1.3998857 444 -0 0.28274334
|
||||
19000 1.4625463 444 -0 0.2984513
|
||||
20000 1.5255082 444 -0 0.31415927
|
||||
21000 1.5845048 444 -0 0.32986723
|
||||
22000 1.6437175 444 -0 0.34557519
|
||||
23000 1.7022173 444 -0 0.36128316
|
||||
24000 1.7614172 444 -0 0.37699112
|
||||
25000 1.8209105 444 -0 0.39269908
|
||||
26000 1.8818901 444 -0 0.40840704
|
||||
27000 1.9439991 444 -0 0.42411501
|
||||
28000 2.0067189 444 -0 0.43982297
|
||||
29000 2.0697014 444 -0 0.45553093
|
||||
30000 2.1327429 444 -0 0.4712389
|
||||
31000 2.1904151 444 -0 0.48694686
|
||||
32000 2.2478669 444 -0 0.50265482
|
||||
33000 2.3062997 444 -0 0.51836279
|
||||
34000 2.3723967 444 -0 0.53407075
|
||||
35000 2.4331915 444 -0 0.54977871
|
||||
36000 2.4937904 444 -0 0.56548668
|
||||
37000 2.5550685 444 -0 0.58119464
|
||||
38000 2.6170652 444 -0 0.5969026
|
||||
39000 2.6789875 444 -0 0.61261057
|
||||
40000 2.7414019 444 -0 0.62831853
|
||||
41000 2.799027 444 -0 0.64402649
|
||||
42000 2.8570235 444 -0 0.65973446
|
||||
43000 2.9140713 444 -0 0.67544242
|
||||
44000 2.9702985 444 -0 0.69115038
|
||||
45000 3.0274565 444 -0 0.70685835
|
||||
46000 3.0860338 444 -0 0.72256631
|
||||
47000 3.1450455 444 -0 0.73827427
|
||||
48000 3.2057948 444 -0 0.75398224
|
||||
49000 3.267339 444 -0 0.7696902
|
||||
50000 3.3300545 444 -0 0.78539816
|
||||
51000 3.3942592 444 -0 0.80110613
|
||||
52000 3.4522727 444 -0 0.81681409
|
||||
53000 3.5117693 444 -0 0.83252205
|
||||
54000 3.5717957 444 -0 0.84823002
|
||||
55000 3.6338761 444 -0 0.86393798
|
||||
56000 3.7006576 444 -0 0.87964594
|
||||
57000 3.7648654 444 -0 0.89535391
|
||||
58000 3.829128 444 -0 0.91106187
|
||||
59000 3.8930187 444 -0 0.92676983
|
||||
60000 3.9581499 444 -0 0.9424778
|
||||
61000 4.0213017 444 -0 0.95818576
|
||||
62000 4.0822632 444 -0 0.97389372
|
||||
63000 4.1443422 444 -0 0.98960169
|
||||
64000 4.2072315 444 -0 1.0053096
|
||||
65000 4.2711387 444 -0 1.0210176
|
||||
66000 4.3361402 444 -0 1.0367256
|
||||
67000 4.4031398 444 -0 1.0524335
|
||||
68000 4.4698064 444 -0 1.0681415
|
||||
69000 4.5374978 444 -0 1.0838495
|
||||
70000 4.6051283 444 -0 1.0995574
|
||||
71000 4.6694169 444 -0 1.1152654
|
||||
72000 4.7335079 444 -0 1.1309734
|
||||
73000 4.7967482 444 -0 1.1466813
|
||||
74000 4.8603547 444 -0 1.1623893
|
||||
75000 4.9250085 444 -0 1.1780972
|
||||
76000 4.9909372 444 -0 1.1938052
|
||||
77000 5.0578024 444 -0 1.2095132
|
||||
78000 5.1250138 444 -0 1.2252211
|
||||
79000 5.1929755 444 -0 1.2409291
|
||||
80000 5.2627637 444 -0 1.2566371
|
||||
81000 5.3280981 444 -0 1.272345
|
||||
82000 5.3957336 444 -0 1.288053
|
||||
83000 5.4648135 444 -0 1.303761
|
||||
84000 5.5368683 444 -0 1.3194689
|
||||
85000 5.6352935 888 -0 1.3351769
|
||||
86000 5.7708502 888 -0 1.3508848
|
||||
87000 5.9051492 888 -0 1.3665928
|
||||
88000 6.0384896 888 -0 1.3823008
|
||||
89000 6.1714747 888 -0 1.3980087
|
||||
90000 6.3042989 888 -0 1.4137167
|
||||
91000 6.4114611 888 -0 1.4294247
|
||||
92000 6.5164247 888 -0 1.4451326
|
||||
93000 6.6219602 888 -0 1.4608406
|
||||
94000 6.728405 888 -0 1.4765485
|
||||
95000 6.8411646 888 -0 1.4922565
|
||||
96000 6.9479821 888 -0 1.5079645
|
||||
97000 7.0569239 888 -0 1.5236724
|
||||
98000 7.1673372 888 -0 1.5393804
|
||||
99000 7.2778809 888 -0 1.5550884
|
||||
100000 7.398834 888 -0 1.5707963
|
||||
101000 7.5066864 888 -0 1.5865043
|
||||
102000 7.6158357 888 -0 1.6022123
|
||||
103000 7.725111 888 -0 1.6179202
|
||||
104000 7.8344197 888 -0 1.6336282
|
||||
105000 7.9532022 888 -0 1.6493361
|
||||
106000 8.0643187 888 -0 1.6650441
|
||||
107000 8.1765473 888 -0 1.6807521
|
||||
108000 8.2890661 888 -0 1.69646
|
||||
109000 8.4048562 888 -0 1.712168
|
||||
110000 8.5208168 888 -0 1.727876
|
||||
111000 8.6303153 888 -0 1.7435839
|
||||
112000 8.7401052 888 -0 1.7592919
|
||||
113000 8.8518219 888 -0 1.7749998
|
||||
114000 8.9638157 888 -0 1.7907078
|
||||
115000 9.0766122 888 -0 1.8064158
|
||||
116000 9.1908746 888 -0 1.8221237
|
||||
117000 9.306145 888 -0 1.8378317
|
||||
118000 9.4229569 888 -0 1.8535397
|
||||
119000 9.5407412 888 -0 1.8692476
|
||||
120000 9.6574531 888 -0 1.8849556
|
||||
121000 9.7683234 888 -0 1.9006636
|
||||
122000 9.8812008 888 -0 1.9163715
|
||||
123000 9.9952521 888 -0 1.9320795
|
||||
124000 10.111879 888 -0 1.9477874
|
||||
125000 10.228812 888 -0 1.9634954
|
||||
126000 10.347842 888 -0 1.9792034
|
||||
127000 10.47052 888 -0 1.9949113
|
||||
128000 10.593136 888 -0 2.0106193
|
||||
129000 10.718124 888 -0 2.0263273
|
||||
130000 10.844211 888 -0 2.0420352
|
||||
131000 10.959177 888 -0 2.0577432
|
||||
132000 11.075781 888 -0 2.0734512
|
||||
133000 11.191418 888 -0 2.0891591
|
||||
134000 11.313376 888 -0 2.1048671
|
||||
135000 11.432321 888 -0 2.120575
|
||||
136000 11.551893 888 -0 2.136283
|
||||
137000 11.672695 888 -0 2.151991
|
||||
138000 11.793487 888 -0 2.1676989
|
||||
139000 11.914089 888 -0 2.1834069
|
||||
140000 12.037441 888 -0 2.1991149
|
||||
141000 12.161974 888 -0 2.2148228
|
||||
142000 12.286641 888 -0 2.2305308
|
||||
143000 12.414012 888 -0 2.2462387
|
||||
144000 12.540939 888 -0 2.2619467
|
||||
145000 12.66985 888 -0 2.2776547
|
||||
146000 12.79975 888 -0 2.2933626
|
||||
147000 12.932702 888 -0 2.3090706
|
||||
148000 13.066088 888 -0 2.3247786
|
||||
149000 13.200814 888 -0 2.3404865
|
||||
150000 13.33565 888 -0 2.3561945
|
||||
151000 13.465995 888 -0 2.3719025
|
||||
152000 13.586622 888 -0 2.3876104
|
||||
153000 13.711423 888 -0 2.4033184
|
||||
154000 13.835058 888 -0 2.4190263
|
||||
155000 13.967661 888 -0 2.4347343
|
||||
156000 14.100609 888 -0 2.4504423
|
||||
157000 14.234485 888 -0 2.4661502
|
||||
158000 14.373325 888 -0 2.4818582
|
||||
159000 14.510608 888 -0 2.4975662
|
||||
160000 14.651416 888 -0 2.5132741
|
||||
161000 14.785767 888 -0 2.5289821
|
||||
162000 14.921569 888 -0 2.54469
|
||||
163000 15.058895 888 -0 2.560398
|
||||
164000 15.198786 888 -0 2.576106
|
||||
165000 15.341662 888 -0 2.5918139
|
||||
166000 15.487128 888 -0 2.6075219
|
||||
167000 15.649383 888 -0 2.6232299
|
||||
168000 15.795388 888 -0 2.6389378
|
||||
169000 15.942671 888 -0 2.6546458
|
||||
170000 16.091824 1000 -0 2.6703538
|
||||
171000 16.239863 1000 -0 2.6860617
|
||||
172000 16.391118 1000 -0 2.7017697
|
||||
173000 16.5417 1000 -0 2.7174776
|
||||
174000 16.69479 1000 -0 2.7331856
|
||||
175000 16.847412 1000 -0 2.7488936
|
||||
176000 17.000374 1000 -0 2.7646015
|
||||
177000 17.15471 1000 -0 2.7803095
|
||||
178000 17.31284 1000 -0 2.7960175
|
||||
179000 17.46991 1000 -0 2.8117254
|
||||
180000 17.629018 1000 -0 2.8274334
|
||||
181000 17.787736 1000 -0 2.8431414
|
||||
182000 17.946197 1000 -0 2.8588493
|
||||
183000 18.105271 1000 -0 2.8745573
|
||||
184000 18.263731 1000 -0 2.8902652
|
||||
185000 18.433277 1000 -0 2.9059732
|
||||
186000 18.594456 1000 -0 2.9216812
|
||||
187000 18.755532 1000 -0 2.9373891
|
||||
188000 18.918447 1000 -0 2.9530971
|
||||
189000 19.080359 1000 -0 2.9688051
|
||||
190000 19.243927 1000 -0 2.984513
|
||||
191000 19.395044 1000 -0 3.000221
|
||||
192000 19.546837 1000 -0 3.0159289
|
||||
193000 19.695827 1000 -0 3.0316369
|
||||
194000 19.843856 1000 -0 3.0473449
|
||||
195000 19.993821 1000 -0 3.0630528
|
||||
196000 20.145787 1000 -0 3.0787608
|
||||
197000 20.298114 1000 -0 3.0944688
|
||||
198000 20.45074 1000 -0 3.1101767
|
||||
199000 20.607595 1000 -0 3.1258847
|
||||
200000 20.760979 1000 -0 3.1415927
|
||||
Loop time of 20.7611 on 4 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 39328.699 tau/day, 9633.409 timesteps/s
|
||||
98.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.57172 | 0.93292 | 1.2995 | 37.1 | 4.49
|
||||
Neigh | 0.015648 | 0.018747 | 0.02175 | 2.1 | 0.09
|
||||
Comm | 3.17 | 3.6151 | 4.0856 | 23.0 | 17.41
|
||||
Output | 0.0051017 | 0.012686 | 0.033359 | 10.6 | 0.06
|
||||
Modify | 12.36 | 13.269 | 14.095 | 21.8 | 63.91
|
||||
Other | | 2.912 | | | 14.03
|
||||
|
||||
Nlocal: 250 ave 270 max 230 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
Nghost: 297 ave 337 max 234 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 982.5 ave 1580 max 496 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 3930
|
||||
Ave neighs/atom = 3.93
|
||||
Neighbor list builds = 218
|
||||
Dangerous builds = 0
|
||||
unfix ins
|
||||
run 200000
|
||||
Per MPI rank memory allocation (min/avg/max) = 12 | 12.19 | 12.35 Mbytes
|
||||
Step CPU Atoms KinEng v_theta
|
||||
200000 0 1000 0.89289812 3.1415927
|
||||
201000 0.15554476 1000 0.90162438 3.1573006
|
||||
202000 0.31118774 1000 0.89175077 3.1730086
|
||||
203000 0.47266722 1000 0.88068523 3.1887165
|
||||
204000 0.64758801 1000 0.88775074 3.2044245
|
||||
205000 0.85137105 1000 0.89009449 3.2201325
|
||||
206000 1.0712745 1000 0.89031724 3.2358404
|
||||
207000 1.3620427 1000 0.90901476 3.2515484
|
||||
208000 1.6051998 1000 0.91977358 3.2672564
|
||||
209000 1.7975032 1000 0.92044257 3.2829643
|
||||
210000 1.9654117 1000 0.90550844 3.2986723
|
||||
211000 2.1186137 1000 0.90179135 3.3143802
|
||||
212000 2.2714169 1000 0.90474936 3.3300882
|
||||
213000 2.4236252 1000 0.9011002 3.3457962
|
||||
214000 2.5737655 1000 0.89619815 3.3615041
|
||||
215000 2.7326233 1000 0.89129064 3.3772121
|
||||
216000 2.8794787 1000 0.88785486 3.3929201
|
||||
217000 3.0264313 1000 0.89448821 3.408628
|
||||
218000 3.1743443 1000 0.89323746 3.424336
|
||||
219000 3.3225086 1000 0.88176869 3.440044
|
||||
220000 3.4717121 1000 0.86989815 3.4557519
|
||||
221000 3.6229391 1000 0.85900389 3.4714599
|
||||
222000 3.7768724 1000 0.85440461 3.4871678
|
||||
223000 3.9287963 1000 0.8604449 3.5028758
|
||||
224000 4.082505 1000 0.84537374 3.5185838
|
||||
225000 4.234731 1000 0.84526488 3.5342917
|
||||
226000 4.3872988 1000 0.85877362 3.5499997
|
||||
227000 4.5396216 1000 0.86762074 3.5657077
|
||||
228000 4.7092509 1000 0.86460359 3.5814156
|
||||
229000 4.8631954 1000 0.85409682 3.5971236
|
||||
230000 5.0194352 1000 0.83902718 3.6128316
|
||||
231000 5.1765387 1000 0.83908755 3.6285395
|
||||
232000 5.3335299 1000 0.83178808 3.6442475
|
||||
233000 5.4917257 1000 0.83369584 3.6599554
|
||||
234000 5.654233 1000 0.8530074 3.6756634
|
||||
235000 5.8163757 1000 0.86385009 3.6913714
|
||||
236000 5.9791231 1000 0.86453337 3.7070793
|
||||
237000 6.1401029 1000 0.86137572 3.7227873
|
||||
238000 6.300632 1000 0.8656285 3.7384953
|
||||
239000 6.4597898 1000 0.85993724 3.7542032
|
||||
240000 6.6216707 1000 0.8484153 3.7699112
|
||||
241000 6.7793672 1000 0.84624799 3.7856191
|
||||
242000 6.939244 1000 0.83739227 3.8013271
|
||||
243000 7.1013088 1000 0.83026469 3.8170351
|
||||
244000 7.267416 1000 0.81060567 3.832743
|
||||
245000 7.4318523 1000 0.81081038 3.848451
|
||||
246000 7.6077905 1000 0.80857771 3.864159
|
||||
247000 7.7763391 1000 0.80353315 3.8798669
|
||||
248000 7.9485247 1000 0.80191903 3.8955749
|
||||
249000 8.1208956 1000 0.79865102 3.9112829
|
||||
250000 8.2921841 1000 0.79407385 3.9269908
|
||||
251000 8.4614651 1000 0.7880275 3.9426988
|
||||
252000 8.6266186 1000 0.79212521 3.9584067
|
||||
253000 8.7913449 1000 0.78976714 3.9741147
|
||||
254000 8.9596558 1000 0.79720779 3.9898227
|
||||
255000 9.1278918 1000 0.79329363 4.0055306
|
||||
256000 9.3016815 1000 0.80851295 4.0212386
|
||||
257000 9.4701304 1000 0.82322071 4.0369466
|
||||
258000 9.6399531 1000 0.83042211 4.0526545
|
||||
259000 9.8090186 1000 0.82773068 4.0683625
|
||||
260000 9.9798045 1000 0.8246773 4.0840704
|
||||
261000 10.148952 1000 0.81374287 4.0997784
|
||||
262000 10.318855 1000 0.79936963 4.1154864
|
||||
263000 10.496092 1000 0.78124408 4.1311943
|
||||
264000 10.671031 1000 0.77790646 4.1469023
|
||||
265000 10.843052 1000 0.77212005 4.1626103
|
||||
266000 11.01867 1000 0.77977752 4.1783182
|
||||
267000 11.192151 1000 0.79237542 4.1940262
|
||||
268000 11.362491 1000 0.80631398 4.2097342
|
||||
269000 11.53223 1000 0.82380407 4.2254421
|
||||
270000 11.7123 1000 0.82477127 4.2411501
|
||||
271000 11.883593 1000 0.81655074 4.256858
|
||||
272000 12.052348 1000 0.80678676 4.272566
|
||||
273000 12.220196 1000 0.79162789 4.288274
|
||||
274000 12.395164 1000 0.78896081 4.3039819
|
||||
275000 12.569757 1000 0.77904648 4.3196899
|
||||
276000 12.748754 1000 0.78252999 4.3353979
|
||||
277000 12.91648 1000 0.78293295 4.3511058
|
||||
278000 13.086087 1000 0.78311337 4.3668138
|
||||
279000 13.260159 1000 0.77657634 4.3825218
|
||||
280000 13.428503 1000 0.76835711 4.3982297
|
||||
281000 13.596094 1000 0.75586438 4.4139377
|
||||
282000 13.763325 1000 0.74600306 4.4296456
|
||||
283000 13.932867 1000 0.73228762 4.4453536
|
||||
284000 14.098865 1000 0.72344939 4.4610616
|
||||
285000 14.269317 1000 0.72160289 4.4767695
|
||||
286000 14.441196 1000 0.71321619 4.4924775
|
||||
287000 14.614458 1000 0.72631772 4.5081855
|
||||
288000 14.783358 1000 0.74390396 4.5238934
|
||||
289000 14.953564 1000 0.77320352 4.5396014
|
||||
290000 15.12428 1000 0.77249469 4.5553093
|
||||
291000 15.283974 1000 0.7583723 4.5710173
|
||||
292000 15.449553 1000 0.74568347 4.5867253
|
||||
293000 15.611965 1000 0.74108034 4.6024332
|
||||
294000 15.770807 1000 0.72706174 4.6181412
|
||||
295000 15.927151 1000 0.71122597 4.6338492
|
||||
296000 16.086734 1000 0.70272297 4.6495571
|
||||
297000 16.245418 1000 0.6945394 4.6652651
|
||||
298000 16.406617 1000 0.69541258 4.6809731
|
||||
299000 16.568989 1000 0.71696092 4.696681
|
||||
300000 16.754911 1000 0.72939561 4.712389
|
||||
301000 16.919453 1000 0.73621801 4.7280969
|
||||
302000 17.07794 1000 0.72052605 4.7438049
|
||||
303000 17.234397 1000 0.71057318 4.7595129
|
||||
304000 17.39014 1000 0.70014814 4.7752208
|
||||
305000 17.550789 1000 0.68855925 4.7909288
|
||||
306000 17.718802 1000 0.68665019 4.8066368
|
||||
307000 17.874036 1000 0.6831349 4.8223447
|
||||
308000 18.029367 1000 0.67929468 4.8380527
|
||||
309000 18.188065 1000 0.67833006 4.8537606
|
||||
310000 18.348243 1000 0.67764037 4.8694686
|
||||
311000 18.512475 1000 0.68271978 4.8851766
|
||||
312000 18.676519 1000 0.69021026 4.9008845
|
||||
313000 18.836426 1000 0.68795473 4.9165925
|
||||
314000 18.997681 1000 0.68308892 4.9323005
|
||||
315000 19.158794 1000 0.68086977 4.9480084
|
||||
316000 19.318186 1000 0.67879169 4.9637164
|
||||
317000 19.479364 1000 0.68128526 4.9794244
|
||||
318000 19.645085 1000 0.68718719 4.9951323
|
||||
319000 19.806831 1000 0.68419901 5.0108403
|
||||
320000 19.97005 1000 0.68045269 5.0265482
|
||||
321000 20.130643 1000 0.68430036 5.0422562
|
||||
322000 20.291637 1000 0.68195368 5.0579642
|
||||
323000 20.457605 1000 0.67964011 5.0736721
|
||||
324000 20.621699 1000 0.67681293 5.0893801
|
||||
325000 20.78525 1000 0.67601868 5.1050881
|
||||
326000 20.950321 1000 0.67600265 5.120796
|
||||
327000 21.11346 1000 0.68484094 5.136504
|
||||
328000 21.276964 1000 0.68526189 5.152212
|
||||
329000 21.440971 1000 0.67602072 5.1679199
|
||||
330000 21.609791 1000 0.68222852 5.1836279
|
||||
331000 21.773574 1000 0.68825647 5.1993358
|
||||
332000 21.93854 1000 0.68168415 5.2150438
|
||||
333000 22.102281 1000 0.67460357 5.2307518
|
||||
334000 22.265741 1000 0.67747925 5.2464597
|
||||
335000 22.436954 1000 0.681763 5.2621677
|
||||
336000 22.614367 1000 0.67611867 5.2778757
|
||||
337000 22.779064 1000 0.66903217 5.2935836
|
||||
338000 22.945739 1000 0.6684293 5.3092916
|
||||
339000 23.111375 1000 0.66465194 5.3249995
|
||||
340000 23.278674 1000 0.66226848 5.3407075
|
||||
341000 23.444642 1000 0.66407188 5.3564155
|
||||
342000 23.614615 1000 0.65762812 5.3721234
|
||||
343000 23.785007 1000 0.66936507 5.3878314
|
||||
344000 23.956265 1000 0.67424224 5.4035394
|
||||
345000 24.129057 1000 0.684271 5.4192473
|
||||
346000 24.303073 1000 0.68294352 5.4349553
|
||||
347000 24.475812 1000 0.69795697 5.4506633
|
||||
348000 24.652771 1000 0.69818863 5.4663712
|
||||
349000 24.830973 1000 0.69578798 5.4820792
|
||||
350000 25.00923 1000 0.69377251 5.4977871
|
||||
351000 25.185421 1000 0.69638202 5.5134951
|
||||
352000 25.363647 1000 0.70115823 5.5292031
|
||||
353000 25.540517 1000 0.70891635 5.544911
|
||||
354000 25.718709 1000 0.70876639 5.560619
|
||||
355000 25.893633 1000 0.71130235 5.576327
|
||||
356000 26.068423 1000 0.69380913 5.5920349
|
||||
357000 26.243801 1000 0.67934899 5.6077429
|
||||
358000 26.418883 1000 0.67024516 5.6234508
|
||||
359000 26.594722 1000 0.66145645 5.6391588
|
||||
360000 26.770322 1000 0.65335546 5.6548668
|
||||
361000 26.946396 1000 0.65495192 5.6705747
|
||||
362000 27.12296 1000 0.64973833 5.6862827
|
||||
363000 27.298461 1000 0.64532381 5.7019907
|
||||
364000 27.473586 1000 0.64282855 5.7176986
|
||||
365000 27.653872 1000 0.64451862 5.7334066
|
||||
366000 27.830317 1000 0.64366439 5.7491146
|
||||
367000 28.007037 1000 0.64395479 5.7648225
|
||||
368000 28.184079 1000 0.65827587 5.7805305
|
||||
369000 28.376009 1000 0.66311341 5.7962384
|
||||
370000 28.557287 1000 0.66165026 5.8119464
|
||||
371000 28.736569 1000 0.66878374 5.8276544
|
||||
372000 28.91063 1000 0.66944548 5.8433623
|
||||
373000 29.084648 1000 0.66061945 5.8590703
|
||||
374000 29.258649 1000 0.65320954 5.8747783
|
||||
375000 29.433156 1000 0.64641195 5.8904862
|
||||
376000 29.611781 1000 0.64631388 5.9061942
|
||||
377000 29.78531 1000 0.64232398 5.9219022
|
||||
378000 29.955917 1000 0.63805257 5.9376101
|
||||
379000 30.126378 1000 0.63666047 5.9533181
|
||||
380000 30.297285 1000 0.63651856 5.969026
|
||||
381000 30.471635 1000 0.6377374 5.984734
|
||||
382000 30.644813 1000 0.64750107 6.000442
|
||||
383000 30.816208 1000 0.65655138 6.0161499
|
||||
384000 30.986444 1000 0.65408935 6.0318579
|
||||
385000 31.156501 1000 0.64437236 6.0475659
|
||||
386000 31.327665 1000 0.63862174 6.0632738
|
||||
387000 31.49731 1000 0.64133807 6.0789818
|
||||
388000 31.682031 1000 0.64174374 6.0946897
|
||||
389000 31.85148 1000 0.64480071 6.1103977
|
||||
390000 32.020336 1000 0.64982943 6.1261057
|
||||
391000 32.187634 1000 0.6461109 6.1418136
|
||||
392000 32.357282 1000 0.64044412 6.1575216
|
||||
393000 32.527796 1000 0.64662995 6.1732296
|
||||
394000 32.704323 1000 0.65330527 6.1889375
|
||||
395000 32.880643 1000 0.66026265 6.2046455
|
||||
396000 33.048614 1000 0.6718969 6.2203535
|
||||
397000 33.222059 1000 0.66481385 6.2360614
|
||||
398000 33.391738 1000 0.66685494 6.2517694
|
||||
399000 33.560431 1000 0.6612594 6.2674773
|
||||
400000 33.729715 1000 0.65289572 6.2831853
|
||||
Loop time of 33.7298 on 4 procs for 200000 steps with 1000 atoms
|
||||
|
||||
Performance: 24207.249 tau/day, 5929.470 timesteps/s
|
||||
97.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.6748 | 2.6848 | 3.6646 | 58.4 | 7.96
|
||||
Neigh | 0.021206 | 0.026438 | 0.03191 | 3.1 | 0.08
|
||||
Comm | 6.133 | 7.3745 | 8.6652 | 45.0 | 21.86
|
||||
Output | 0.0053763 | 0.016101 | 0.044719 | 13.0 | 0.05
|
||||
Modify | 18.26 | 20.115 | 22.413 | 39.2 | 59.64
|
||||
Other | | 3.513 | | | 10.42
|
||||
|
||||
Nlocal: 250 ave 266 max 230 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Nghost: 401.5 ave 476 max 325 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 1264 ave 1634 max 895 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 5056
|
||||
Ave neighs/atom = 5.056
|
||||
Neighbor list builds = 160
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:54
|
||||
@ -44,7 +44,7 @@ change_box all boundary p p f
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
|
||||
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
|
||||
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall
|
||||
|
||||
variable theta equal 0
|
||||
|
||||
|
||||
84
examples/granular/in.pour.heat
Normal file
84
examples/granular/in.pour.heat
Normal file
@ -0,0 +1,84 @@
|
||||
# pour one types of particles into cylinder and oscillate
|
||||
# temperature of the bottom plate
|
||||
|
||||
variable name string heat_plate
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 10
|
||||
variable boxy equal 10
|
||||
variable boxz equal 50
|
||||
|
||||
variable drum_rad equal ${boxx}*0.5
|
||||
variable drum_height equal 30
|
||||
|
||||
variable xc equal 0.5*${boxx}
|
||||
variable yc equal 0.5*${boxx}
|
||||
variable zc equal 0.5*${boxz}
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dhi equal 2.0*${rhi}
|
||||
|
||||
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.4*${rhi}
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
create_box 2 boxreg
|
||||
change_box all boundary p p f
|
||||
|
||||
pair_style granular
|
||||
pair_coeff * * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0
|
||||
|
||||
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in
|
||||
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
|
||||
fix 0 all property/atom temperature heatflow
|
||||
fix 1 all balance 100 1.0 shift xy 5 1.1
|
||||
fix 2 all nve/sphere
|
||||
fix 3 all heat/flow constant 1.0
|
||||
fix grav all gravity 10 vector 0 0 -1
|
||||
fix ins1 all pour 1000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
variable oscillate equal 1.0*sin(step*0.0001)
|
||||
|
||||
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
|
||||
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji heat area 5.0 region bottom_wall temperature v_oscillate
|
||||
|
||||
thermo_style custom step atoms ke pxx pyy pzz
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 1000 ${name}.dump id type radius mass x y z temperature heatflow
|
||||
|
||||
#For removal later
|
||||
compute 1 all property/atom radius
|
||||
variable zmax atom z+c_1>0.5*${drum_height}
|
||||
group delgroup dynamic all var zmax every 10000
|
||||
|
||||
run 100000
|
||||
|
||||
272
examples/granular/log.15Sep22.pour.drum.g++.1
Normal file
272
examples/granular/log.15Sep22.pour.drum.g++.1
Normal file
@ -0,0 +1,272 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pour two types of particles (cohesive and non-cohesive) into cylinder
|
||||
# 'turn' cylinder by changing direction of gravity, then rotate it.
|
||||
# This simulates a rotating drum powder characterization experiment.
|
||||
|
||||
variable name string rotating_drum_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 30
|
||||
variable boxy equal 30
|
||||
variable boxz equal 50
|
||||
|
||||
variable drum_rad equal ${boxx}*0.5
|
||||
variable drum_rad equal 30*0.5
|
||||
variable drum_height equal 20
|
||||
|
||||
variable xc equal 0.5*${boxx}
|
||||
variable xc equal 0.5*30
|
||||
variable yc equal 0.5*${boxx}
|
||||
variable yc equal 0.5*30
|
||||
variable zc equal 0.5*${boxz}
|
||||
variable zc equal 0.5*50
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.4*${rhi}
|
||||
variable skin equal 0.4*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 50
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0 0 0) to (30 30 50)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
|
||||
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall
|
||||
|
||||
variable theta equal 0
|
||||
|
||||
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
|
||||
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 50
|
||||
|
||||
fix 0 all balance 100 1.0 shift xy 5 1.1
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10 vector 0 0 -1
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.2 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
|
||||
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
|
||||
|
||||
thermo_style custom step atoms ke v_theta
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
#For removal later
|
||||
compute 1 all property/atom radius
|
||||
variable zmax atom z+c_1>0.5*${drum_height}
|
||||
variable zmax atom z+c_1>0.5*20
|
||||
group delgroup dynamic all var zmax every 10000
|
||||
dynamic group delgroup defined
|
||||
|
||||
run 2000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.2
|
||||
ghost atom cutoff = 1.2
|
||||
binsize = 0.6, bins = 50 50 84
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.08 | 16.08 | 16.08 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
0 0 -0 0
|
||||
100 4000 -0 0
|
||||
200 4000 -0 0
|
||||
300 4000 -0 0
|
||||
400 4000 -0 0
|
||||
500 4000 -0 0
|
||||
600 4000 -0 0
|
||||
700 4000 -0 0
|
||||
800 4000 -0 0
|
||||
900 4000 -0 0
|
||||
1000 4000 -0 0
|
||||
1100 4000 -0 0
|
||||
1200 4000 -0 0
|
||||
1300 4000 -0 0
|
||||
1400 4000 -0 0
|
||||
1500 4000 -0 0
|
||||
1600 4000 -0 0
|
||||
1700 4000 -0 0
|
||||
1800 4000 -0 0
|
||||
1900 4000 -0 0
|
||||
2000 4000 -0 0
|
||||
Loop time of 2.81549 on 1 procs for 2000 steps with 4000 atoms
|
||||
|
||||
Performance: 61374.657 tau/day, 710.355 timesteps/s, 2.841 Matom-step/s
|
||||
98.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.35362 | 0.35362 | 0.35362 | 0.0 | 12.56
|
||||
Neigh | 1.0852 | 1.0852 | 1.0852 | 0.0 | 38.54
|
||||
Comm | 0.041891 | 0.041891 | 0.041891 | 0.0 | 1.49
|
||||
Output | 0.00059151 | 0.00059151 | 0.00059151 | 0.0 | 0.02
|
||||
Modify | 1.2814 | 1.2814 | 1.2814 | 0.0 | 45.51
|
||||
Other | | 0.0528 | | | 1.88
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 179 ave 179 max 179 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 7019 ave 7019 max 7019 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7019
|
||||
Ave neighs/atom = 1.75475
|
||||
Neighbor list builds = 1000
|
||||
Dangerous builds = 0
|
||||
|
||||
#Remove any particles that are above z > 0.5*drum_height
|
||||
delete_atoms group delgroup
|
||||
Deleted 0 atoms, new total = 4000
|
||||
|
||||
#Add top lid
|
||||
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
|
||||
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
|
||||
|
||||
# 'Turn' drum by switching the direction of gravity
|
||||
unfix grav
|
||||
unfix ins1
|
||||
unfix ins2
|
||||
fix grav all gravity 10 vector 0 -1 0
|
||||
|
||||
variable theta equal 2*PI*elapsed/20000.0
|
||||
run 3000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 22.42 | 22.42 | 22.42 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
2000 4000 59.969827 0
|
||||
2100 4000 47.251389 0.031415927
|
||||
2200 4000 33.726755 0.062831853
|
||||
2300 4000 24.212479 0.09424778
|
||||
2400 4000 17.366268 0.12566371
|
||||
2500 4000 18.502318 0.15707963
|
||||
2600 4000 17.44981 0.18849556
|
||||
2700 4000 16.068315 0.21991149
|
||||
2800 4000 14.252644 0.25132741
|
||||
2900 4000 11.544019 0.28274334
|
||||
3000 4000 9.0353662 0.31415927
|
||||
3100 4000 6.9955912 0.34557519
|
||||
3200 4000 5.955137 0.37699112
|
||||
3300 4000 5.8947849 0.40840704
|
||||
3400 4000 6.0544729 0.43982297
|
||||
3500 4000 6.5326359 0.4712389
|
||||
3600 4000 6.6047764 0.50265482
|
||||
3700 4000 6.7073614 0.53407075
|
||||
3800 4000 6.7367804 0.56548668
|
||||
3900 4000 6.6178006 0.5969026
|
||||
4000 4000 6.3834858 0.62831853
|
||||
4100 4000 5.8660652 0.65973446
|
||||
4200 4000 5.308513 0.69115038
|
||||
4300 4000 4.7270842 0.72256631
|
||||
4400 4000 4.1920733 0.75398224
|
||||
4500 4000 3.7068814 0.78539816
|
||||
4600 4000 3.3259615 0.81681409
|
||||
4700 4000 2.9339231 0.84823002
|
||||
4800 4000 2.670752 0.87964594
|
||||
4900 4000 2.4509115 0.91106187
|
||||
5000 4000 2.2609335 0.9424778
|
||||
Loop time of 9.82178 on 1 procs for 3000 steps with 4000 atoms
|
||||
|
||||
Performance: 26390.330 tau/day, 305.444 timesteps/s, 1.222 Matom-step/s
|
||||
99.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.2932 | 3.2932 | 3.2932 | 0.0 | 33.53
|
||||
Neigh | 2.2872 | 2.2872 | 2.2872 | 0.0 | 23.29
|
||||
Comm | 0.067117 | 0.067117 | 0.067117 | 0.0 | 0.68
|
||||
Output | 0.00093425 | 0.00093425 | 0.00093425 | 0.0 | 0.01
|
||||
Modify | 4.0986 | 4.0986 | 4.0986 | 0.0 | 41.73
|
||||
Other | | 0.07476 | | | 0.76
|
||||
|
||||
Nlocal: 4000 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 363 ave 363 max 363 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 13089 ave 13089 max 13089 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 13089
|
||||
Ave neighs/atom = 3.27225
|
||||
Neighbor list builds = 1247
|
||||
Dangerous builds = 130
|
||||
Total wall time: 0:00:12
|
||||
272
examples/granular/log.15Sep22.pour.drum.g++.4
Normal file
272
examples/granular/log.15Sep22.pour.drum.g++.4
Normal file
@ -0,0 +1,272 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pour two types of particles (cohesive and non-cohesive) into cylinder
|
||||
# 'turn' cylinder by changing direction of gravity, then rotate it.
|
||||
# This simulates a rotating drum powder characterization experiment.
|
||||
|
||||
variable name string rotating_drum_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 30
|
||||
variable boxy equal 30
|
||||
variable boxz equal 50
|
||||
|
||||
variable drum_rad equal ${boxx}*0.5
|
||||
variable drum_rad equal 30*0.5
|
||||
variable drum_height equal 20
|
||||
|
||||
variable xc equal 0.5*${boxx}
|
||||
variable xc equal 0.5*30
|
||||
variable yc equal 0.5*${boxx}
|
||||
variable yc equal 0.5*30
|
||||
variable zc equal 0.5*${boxz}
|
||||
variable zc equal 0.5*50
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.4*${rhi}
|
||||
variable skin equal 0.4*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 50
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0 0 0) to (30 30 50)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
|
||||
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall
|
||||
|
||||
variable theta equal 0
|
||||
|
||||
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
|
||||
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 50
|
||||
|
||||
fix 0 all balance 100 1.0 shift xy 5 1.1
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10 vector 0 0 -1
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.2 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
|
||||
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
|
||||
|
||||
thermo_style custom step atoms ke v_theta
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
#For removal later
|
||||
compute 1 all property/atom radius
|
||||
variable zmax atom z+c_1>0.5*${drum_height}
|
||||
variable zmax atom z+c_1>0.5*20
|
||||
group delgroup dynamic all var zmax every 10000
|
||||
dynamic group delgroup defined
|
||||
|
||||
run 2000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.2
|
||||
ghost atom cutoff = 1.2
|
||||
binsize = 0.6, bins = 50 50 84
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.3 | 15.3 | 15.3 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
0 0 -0 0
|
||||
100 4000 -0 0
|
||||
200 4000 -0 0
|
||||
300 4000 -0 0
|
||||
400 4000 -0 0
|
||||
500 4000 -0 0
|
||||
600 4000 -0 0
|
||||
700 4000 -0 0
|
||||
800 4000 -0 0
|
||||
900 4000 -0 0
|
||||
1000 4000 -0 0
|
||||
1100 4000 -0 0
|
||||
1200 4000 -0 0
|
||||
1300 4000 -0 0
|
||||
1400 4000 -0 0
|
||||
1500 4000 -0 0
|
||||
1600 4000 -0 0
|
||||
1700 4000 -0 0
|
||||
1800 4000 -0 0
|
||||
1900 4000 -0 0
|
||||
2000 4000 -0 0
|
||||
Loop time of 0.744926 on 4 procs for 2000 steps with 4000 atoms
|
||||
|
||||
Performance: 231969.322 tau/day, 2684.830 timesteps/s, 10.739 Matom-step/s
|
||||
98.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.064917 | 0.069813 | 0.074844 | 1.7 | 9.37
|
||||
Neigh | 0.15075 | 0.15915 | 0.1692 | 1.9 | 21.36
|
||||
Comm | 0.11223 | 0.11821 | 0.12247 | 1.1 | 15.87
|
||||
Output | 0.00030739 | 0.00036898 | 0.00046777 | 0.0 | 0.05
|
||||
Modify | 0.36068 | 0.36657 | 0.37031 | 0.7 | 49.21
|
||||
Other | | 0.03082 | | | 4.14
|
||||
|
||||
Nlocal: 1000 ave 1010 max 990 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 285 ave 287 max 283 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Neighs: 1714.25 ave 1764 max 1651 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 6857
|
||||
Ave neighs/atom = 1.71425
|
||||
Neighbor list builds = 1000
|
||||
Dangerous builds = 0
|
||||
|
||||
#Remove any particles that are above z > 0.5*drum_height
|
||||
delete_atoms group delgroup
|
||||
Deleted 0 atoms, new total = 4000
|
||||
|
||||
#Add top lid
|
||||
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
|
||||
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
|
||||
|
||||
# 'Turn' drum by switching the direction of gravity
|
||||
unfix grav
|
||||
unfix ins1
|
||||
unfix ins2
|
||||
fix grav all gravity 10 vector 0 -1 0
|
||||
|
||||
variable theta equal 2*PI*elapsed/20000.0
|
||||
run 3000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 21.6 | 21.6 | 21.6 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
2000 4000 60.10546 0
|
||||
2100 4000 47.274123 0.031415927
|
||||
2200 4000 33.475582 0.062831853
|
||||
2300 4000 24.083669 0.09424778
|
||||
2400 4000 17.36351 0.12566371
|
||||
2500 4000 18.576501 0.15707963
|
||||
2600 4000 17.39 0.18849556
|
||||
2700 4000 15.789254 0.21991149
|
||||
2800 4000 14.08156 0.25132741
|
||||
2900 4000 11.636681 0.28274334
|
||||
3000 4000 8.9897685 0.31415927
|
||||
3100 4000 7.0703519 0.34557519
|
||||
3200 4000 6.0741809 0.37699112
|
||||
3300 4000 5.8286097 0.40840704
|
||||
3400 4000 6.059001 0.43982297
|
||||
3500 4000 6.4310861 0.4712389
|
||||
3600 4000 6.3957528 0.50265482
|
||||
3700 4000 6.4858292 0.53407075
|
||||
3800 4000 6.4685962 0.56548668
|
||||
3900 4000 6.3469676 0.5969026
|
||||
4000 4000 6.2808022 0.62831853
|
||||
4100 4000 5.957048 0.65973446
|
||||
4200 4000 5.5378951 0.69115038
|
||||
4300 4000 4.8523264 0.72256631
|
||||
4400 4000 4.2485239 0.75398224
|
||||
4500 4000 3.7587486 0.78539816
|
||||
4600 4000 3.327008 0.81681409
|
||||
4700 4000 2.9421013 0.84823002
|
||||
4800 4000 2.75247 0.87964594
|
||||
4900 4000 2.5306332 0.91106187
|
||||
5000 4000 2.352504 0.9424778
|
||||
Loop time of 2.48704 on 4 procs for 3000 steps with 4000 atoms
|
||||
|
||||
Performance: 104220.238 tau/day, 1206.253 timesteps/s, 4.825 Matom-step/s
|
||||
98.6% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.51605 | 0.70407 | 0.86299 | 14.7 | 28.31
|
||||
Neigh | 0.3522 | 0.42808 | 0.50041 | 8.0 | 17.21
|
||||
Comm | 0.17318 | 0.42324 | 0.7046 | 29.0 | 17.02
|
||||
Output | 0.00079725 | 0.0013956 | 0.002092 | 1.3 | 0.06
|
||||
Modify | 0.68507 | 0.79676 | 0.90954 | 8.9 | 32.04
|
||||
Other | | 0.1335 | | | 5.37
|
||||
|
||||
Nlocal: 1000 ave 1330 max 670 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 525.5 ave 781 max 417 min
|
||||
Histogram: 2 1 0 0 0 0 0 0 0 1
|
||||
Neighs: 3243.75 ave 4460 max 2012 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 12975
|
||||
Ave neighs/atom = 3.24375
|
||||
Neighbor list builds = 1299
|
||||
Dangerous builds = 129
|
||||
Total wall time: 0:00:03
|
||||
195
examples/granular/log.15Sep22.pour.flatwall.g++.1
Normal file
195
examples/granular/log.15Sep22.pour.flatwall.g++.1
Normal file
@ -0,0 +1,195 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pour two types of particles (cohesive and non-cohesive) on flat wall
|
||||
|
||||
variable name string pour_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 20
|
||||
variable boxy equal 20
|
||||
variable boxz equal 30
|
||||
|
||||
variable xc1 equal 0.3*${boxx}
|
||||
variable xc1 equal 0.3*20
|
||||
variable xc2 equal 0.7*${boxx}
|
||||
variable xc2 equal 0.7*20
|
||||
variable yc equal 0.5*${boxy}
|
||||
variable yc equal 0.5*20
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.3*${rhi}
|
||||
variable skin equal 0.3*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 30
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0 0 0) to (20 20 30)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 30
|
||||
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 30
|
||||
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10.0 vector 0 0 -1
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.15 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
|
||||
|
||||
thermo_style custom step atoms ke
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.15
|
||||
ghost atom cutoff = 1.15
|
||||
binsize = 0.575, bins = 35 35 53
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.27 | 15.27 | 15.27 Mbytes
|
||||
Step Atoms KinEng
|
||||
0 0 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
100 926 -0
|
||||
200 926 -0
|
||||
300 926 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
400 1498 -0
|
||||
500 1498 -0
|
||||
600 1498 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
700 2275 -0
|
||||
800 2275 -0
|
||||
900 2275 -0
|
||||
1000 2275 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
1100 2954 -0
|
||||
1200 2954 -0
|
||||
1300 2954 -0
|
||||
1400 3000 -0
|
||||
1500 3000 -0
|
||||
1600 3000 -0
|
||||
1700 3000 -0
|
||||
1800 3000 -0
|
||||
1900 3000 -0
|
||||
2000 3000 -0
|
||||
2100 3000 -0
|
||||
2200 3000 -0
|
||||
2300 3000 -0
|
||||
2400 3000 -0
|
||||
2500 3000 -0
|
||||
2600 3000 -0
|
||||
2700 3000 -0
|
||||
2800 3000 -0
|
||||
2900 3000 -0
|
||||
3000 3000 -0
|
||||
3100 3000 -0
|
||||
3200 3000 -0
|
||||
3300 3000 -0
|
||||
3400 3000 -0
|
||||
3500 3000 -0
|
||||
3600 3000 -0
|
||||
3700 3000 -0
|
||||
3800 3000 -0
|
||||
3900 3000 -0
|
||||
4000 3000 -0
|
||||
4100 3000 -0
|
||||
4200 3000 -0
|
||||
4300 3000 -0
|
||||
4400 3000 -0
|
||||
4500 3000 -0
|
||||
4600 3000 -0
|
||||
4700 3000 -0
|
||||
4800 3000 -0
|
||||
4900 3000 -0
|
||||
5000 3000 -0
|
||||
Loop time of 10.7721 on 1 procs for 5000 steps with 3000 atoms
|
||||
|
||||
Performance: 40103.467 tau/day, 464.160 timesteps/s, 1.392 Matom-step/s
|
||||
99.5% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 8.1117 | 8.1117 | 8.1117 | 0.0 | 75.30
|
||||
Neigh | 1.2885 | 1.2885 | 1.2885 | 0.0 | 11.96
|
||||
Comm | 0.059888 | 0.059888 | 0.059888 | 0.0 | 0.56
|
||||
Output | 0.0011158 | 0.0011158 | 0.0011158 | 0.0 | 0.01
|
||||
Modify | 1.2436 | 1.2436 | 1.2436 | 0.0 | 11.54
|
||||
Other | | 0.06727 | | | 0.62
|
||||
|
||||
Nlocal: 3000 ave 3000 max 3000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 471 ave 471 max 471 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 16713 ave 16713 max 16713 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 16713
|
||||
Ave neighs/atom = 5.571
|
||||
Neighbor list builds = 1102
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:10
|
||||
195
examples/granular/log.15Sep22.pour.flatwall.g++.4
Normal file
195
examples/granular/log.15Sep22.pour.flatwall.g++.4
Normal file
@ -0,0 +1,195 @@
|
||||
LAMMPS (15 Sep 2022)
|
||||
# pour two types of particles (cohesive and non-cohesive) on flat wall
|
||||
|
||||
variable name string pour_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 20
|
||||
variable boxy equal 20
|
||||
variable boxz equal 30
|
||||
|
||||
variable xc1 equal 0.3*${boxx}
|
||||
variable xc1 equal 0.3*20
|
||||
variable xc2 equal 0.7*${boxx}
|
||||
variable xc2 equal 0.7*20
|
||||
variable yc equal 0.5*${boxy}
|
||||
variable yc equal 0.5*20
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.3*${rhi}
|
||||
variable skin equal 0.3*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 30
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0 0 0) to (20 20 30)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 30
|
||||
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 30
|
||||
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10.0 vector 0 0 -1
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.15 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
|
||||
|
||||
thermo_style custom step atoms ke
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
run 5000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.15
|
||||
ghost atom cutoff = 1.15
|
||||
binsize = 0.575, bins = 35 35 53
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.04 | 15.04 | 15.04 Mbytes
|
||||
Step Atoms KinEng
|
||||
0 0 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
100 926 -0
|
||||
200 926 -0
|
||||
300 926 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
400 1498 -0
|
||||
500 1498 -0
|
||||
600 1498 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
700 2275 -0
|
||||
800 2275 -0
|
||||
900 2275 -0
|
||||
1000 2275 -0
|
||||
WARNING: Less insertions than requested (../fix_pour.cpp:681)
|
||||
1100 2954 -0
|
||||
1200 2954 -0
|
||||
1300 2954 -0
|
||||
1400 3000 -0
|
||||
1500 3000 -0
|
||||
1600 3000 -0
|
||||
1700 3000 -0
|
||||
1800 3000 -0
|
||||
1900 3000 -0
|
||||
2000 3000 -0
|
||||
2100 3000 -0
|
||||
2200 3000 -0
|
||||
2300 3000 -0
|
||||
2400 3000 -0
|
||||
2500 3000 -0
|
||||
2600 3000 -0
|
||||
2700 3000 -0
|
||||
2800 3000 -0
|
||||
2900 3000 -0
|
||||
3000 3000 -0
|
||||
3100 3000 -0
|
||||
3200 3000 -0
|
||||
3300 3000 -0
|
||||
3400 3000 -0
|
||||
3500 3000 -0
|
||||
3600 3000 -0
|
||||
3700 3000 -0
|
||||
3800 3000 -0
|
||||
3900 3000 -0
|
||||
4000 3000 -0
|
||||
4100 3000 -0
|
||||
4200 3000 -0
|
||||
4300 3000 -0
|
||||
4400 3000 -0
|
||||
4500 3000 -0
|
||||
4600 3000 -0
|
||||
4700 3000 -0
|
||||
4800 3000 -0
|
||||
4900 3000 -0
|
||||
5000 3000 -0
|
||||
Loop time of 4.06277 on 4 procs for 5000 steps with 3000 atoms
|
||||
|
||||
Performance: 106331.276 tau/day, 1230.686 timesteps/s, 3.692 Matom-step/s
|
||||
98.7% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.85426 | 1.7801 | 2.7631 | 64.4 | 43.82
|
||||
Neigh | 0.18775 | 0.25657 | 0.3279 | 11.5 | 6.32
|
||||
Comm | 0.23605 | 1.3334 | 2.3703 | 81.6 | 32.82
|
||||
Output | 0.00059456 | 0.0008165 | 0.0012002 | 0.0 | 0.02
|
||||
Modify | 0.59336 | 0.64066 | 0.6864 | 4.3 | 15.77
|
||||
Other | | 0.05122 | | | 1.26
|
||||
|
||||
Nlocal: 750 ave 1032 max 463 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 426.5 ave 482 max 375 min
|
||||
Histogram: 1 1 0 0 0 0 0 1 0 1
|
||||
Neighs: 4164.25 ave 6310 max 1941 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 16657
|
||||
Ave neighs/atom = 5.5523333
|
||||
Neighbor list builds = 1114
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:04
|
||||
1174
examples/granular/log.15Sep22.pour.heat.g++.1
Normal file
1174
examples/granular/log.15Sep22.pour.heat.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
1174
examples/granular/log.15Sep22.pour.heat.g++.4
Normal file
1174
examples/granular/log.15Sep22.pour.heat.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,271 +0,0 @@
|
||||
LAMMPS (29 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pour two types of particles (cohesive and non-cohesive) into cylinder
|
||||
# 'turn' cylinder by changing direction of gravity, then rotate it.
|
||||
# This simulates a rotating drum powder characterization experiment.
|
||||
|
||||
variable name string rotating_drum_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 30
|
||||
variable boxy equal 30
|
||||
variable boxz equal 50
|
||||
|
||||
variable drum_rad equal ${boxx}*0.5
|
||||
variable drum_rad equal 30*0.5
|
||||
variable drum_height equal 20
|
||||
|
||||
variable xc equal 0.5*${boxx}
|
||||
variable xc equal 0.5*30
|
||||
variable yc equal 0.5*${boxx}
|
||||
variable yc equal 0.5*30
|
||||
variable zc equal 0.5*${boxz}
|
||||
variable zc equal 0.5*50
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.4*${rhi}
|
||||
variable skin equal 0.4*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 50
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (30.000000 30.000000 50.000000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
|
||||
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
|
||||
|
||||
variable theta equal 0
|
||||
|
||||
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
|
||||
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 50
|
||||
|
||||
fix 0 all balance 100 1.0 shift xy 5 1.1
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10 vector 0 0 -1
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.2 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
|
||||
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
|
||||
|
||||
thermo_style custom step atoms ke v_theta
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
#For removal later
|
||||
compute 1 all property/atom radius
|
||||
variable zmax atom z+c_1>0.5*${drum_height}
|
||||
variable zmax atom z+c_1>0.5*20
|
||||
group delgroup dynamic all var zmax every 10000
|
||||
dynamic group delgroup defined
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.2
|
||||
ghost atom cutoff = 1.2
|
||||
binsize = 0.6, bins = 50 50 84
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 13.03 | 13.03 | 13.03 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
0 0 -0 0
|
||||
100 4000 -0 0
|
||||
200 4000 -0 0
|
||||
300 4000 -0 0
|
||||
400 4000 -0 0
|
||||
500 4000 -0 0
|
||||
600 4000 -0 0
|
||||
700 4000 -0 0
|
||||
800 4000 -0 0
|
||||
900 4000 -0 0
|
||||
1000 4000 -0 0
|
||||
1100 4000 -0 0
|
||||
1200 4000 -0 0
|
||||
1300 4000 -0 0
|
||||
1400 4000 -0 0
|
||||
1500 4000 -0 0
|
||||
1600 4000 -0 0
|
||||
1700 4000 -0 0
|
||||
1800 4000 -0 0
|
||||
1900 4000 -0 0
|
||||
2000 4000 -0 0
|
||||
Loop time of 10.5178 on 1 procs for 2000 steps with 4000 atoms
|
||||
|
||||
Performance: 16429.309 tau/day, 190.154 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.0701 | 1.0701 | 1.0701 | 0.0 | 10.17
|
||||
Neigh | 4.2135 | 4.2135 | 4.2135 | 0.0 | 40.06
|
||||
Comm | 0.38276 | 0.38276 | 0.38276 | 0.0 | 3.64
|
||||
Output | 0.0013647 | 0.0013647 | 0.0013647 | 0.0 | 0.01
|
||||
Modify | 4.7076 | 4.7076 | 4.7076 | 0.0 | 44.76
|
||||
Other | | 0.1424 | | | 1.35
|
||||
|
||||
Nlocal: 4000.00 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 171.000 ave 171 max 171 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 8093.00 ave 8093 max 8093 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 8093
|
||||
Ave neighs/atom = 2.0232500
|
||||
Neighbor list builds = 1004
|
||||
Dangerous builds = 4
|
||||
|
||||
#Remove any particles that are above z > 0.5*drum_height
|
||||
delete_atoms group delgroup
|
||||
Deleted 0 atoms, new total = 4000
|
||||
|
||||
#Add top lid
|
||||
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
|
||||
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
|
||||
|
||||
# 'Turn' drum by switching the direction of gravity
|
||||
unfix grav
|
||||
unfix ins1
|
||||
unfix ins2
|
||||
fix grav all gravity 10 vector 0 -1 0
|
||||
|
||||
variable theta equal 2*PI*elapsed/20000.0
|
||||
run 3000
|
||||
Per MPI rank memory allocation (min/avg/max) = 19.37 | 19.37 | 19.37 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
2000 4000 65.647582 0
|
||||
2100 4000 105.60001 0.031415927
|
||||
2200 4000 112.27573 0.062831853
|
||||
2300 4000 92.758671 0.09424778
|
||||
2400 4000 88.925835 0.12566371
|
||||
2500 4000 81.369163 0.15707963
|
||||
2600 4000 32.046943 0.18849556
|
||||
2700 4000 4.1926368 0.21991149
|
||||
2800 4000 3.9933453 0.25132741
|
||||
2900 4000 4.5062193 0.28274334
|
||||
3000 4000 5.3409521 0.31415927
|
||||
3100 4000 6.0165991 0.34557519
|
||||
3200 4000 6.606767 0.37699112
|
||||
3300 4000 7.3997751 0.40840704
|
||||
3400 4000 8.1098807 0.43982297
|
||||
3500 4000 8.6552424 0.4712389
|
||||
3600 4000 9.8445204 0.50265482
|
||||
3700 4000 10.098753 0.53407075
|
||||
3800 4000 10.039489 0.56548668
|
||||
3900 4000 9.6376278 0.5969026
|
||||
4000 4000 9.2598836 0.62831853
|
||||
4100 4000 8.7116037 0.65973446
|
||||
4200 4000 8.1274117 0.69115038
|
||||
4300 4000 7.1487627 0.72256631
|
||||
4400 4000 6.2253778 0.75398224
|
||||
4500 4000 5.3061398 0.78539816
|
||||
4600 4000 4.4319316 0.81681409
|
||||
4700 4000 4.205607 0.84823002
|
||||
4800 4000 3.2112987 0.87964594
|
||||
4900 4000 2.6449777 0.91106187
|
||||
5000 4000 2.3475497 0.9424778
|
||||
Loop time of 32.4926 on 1 procs for 3000 steps with 4000 atoms
|
||||
|
||||
Performance: 7977.205 tau/day, 92.329 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 8.0124 | 8.0124 | 8.0124 | 0.0 | 24.66
|
||||
Neigh | 10.993 | 10.993 | 10.993 | 0.0 | 33.83
|
||||
Comm | 0.86697 | 0.86697 | 0.86697 | 0.0 | 2.67
|
||||
Output | 0.0021827 | 0.0021827 | 0.0021827 | 0.0 | 0.01
|
||||
Modify | 12.367 | 12.367 | 12.367 | 0.0 | 38.06
|
||||
Other | | 0.2515 | | | 0.77
|
||||
|
||||
Nlocal: 4000.00 ave 4000 max 4000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 318.000 ave 318 max 318 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 14807.0 ave 14807 max 14807 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 14807
|
||||
Ave neighs/atom = 3.7017500
|
||||
Neighbor list builds = 2189
|
||||
Dangerous builds = 1536
|
||||
Total wall time: 0:00:43
|
||||
@ -1,271 +0,0 @@
|
||||
LAMMPS (29 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pour two types of particles (cohesive and non-cohesive) into cylinder
|
||||
# 'turn' cylinder by changing direction of gravity, then rotate it.
|
||||
# This simulates a rotating drum powder characterization experiment.
|
||||
|
||||
variable name string rotating_drum_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 30
|
||||
variable boxy equal 30
|
||||
variable boxz equal 50
|
||||
|
||||
variable drum_rad equal ${boxx}*0.5
|
||||
variable drum_rad equal 30*0.5
|
||||
variable drum_height equal 20
|
||||
|
||||
variable xc equal 0.5*${boxx}
|
||||
variable xc equal 0.5*30
|
||||
variable yc equal 0.5*${boxx}
|
||||
variable yc equal 0.5*30
|
||||
variable zc equal 0.5*${boxz}
|
||||
variable zc equal 0.5*50
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable cyl_rad_inner equal ${drum_rad}-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*${rhi}
|
||||
variable cyl_rad_inner equal 15-1.1*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.4*${rhi}
|
||||
variable skin equal 0.4*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 ${boxz}
|
||||
region boxreg block 0 30 0 30 0 50
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (30.000000 30.000000 50.000000)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * hertz/material 1e5 0.2 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji
|
||||
pair_coeff 2 2 jkr 1e5 0.1 0.3 50 tangential mindlin NULL 1.0 0.5 rolling sds 1e3 1e3 0.1 twisting marshall damping tsuji
|
||||
|
||||
variable theta equal 0
|
||||
|
||||
region curved_wall cylinder z ${xc} ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 ${yc} ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 ${drum_rad} 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 ${drum_height} side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region curved_wall cylinder z 15 15 15 0 20 side in rotate v_theta 15 15 0 0 0 1
|
||||
region bottom_wall plane ${xc} ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 ${yc} 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region bottom_wall plane 15 15 0 0 0 1 side in rotate v_theta 15 15 0 0 0 1
|
||||
|
||||
region insreg cylinder z ${xc} ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 ${yc} ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 ${cyl_rad_inner} ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 ${drum_height} ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 ${boxz}
|
||||
region insreg cylinder z 15 15 14.45 20 50
|
||||
|
||||
fix 0 all balance 100 1.0 shift xy 5 1.1
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10 vector 0 0 -1
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 2000 1 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 2000 2 1234 region insreg diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 9396 every 490 steps, 2000 by step 1
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.2 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region curved_wall
|
||||
fix 4 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region bottom_wall
|
||||
|
||||
thermo_style custom step atoms ke v_theta
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
#For removal later
|
||||
compute 1 all property/atom radius
|
||||
variable zmax atom z+c_1>0.5*${drum_height}
|
||||
variable zmax atom z+c_1>0.5*20
|
||||
group delgroup dynamic all var zmax every 10000
|
||||
dynamic group delgroup defined
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.2
|
||||
ghost atom cutoff = 1.2
|
||||
binsize = 0.6, bins = 50 50 84
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.25 | 12.25 | 12.25 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
0 0 -0 0
|
||||
100 4000 -0 0
|
||||
200 4000 -0 0
|
||||
300 4000 -0 0
|
||||
400 4000 -0 0
|
||||
500 4000 -0 0
|
||||
600 4000 -0 0
|
||||
700 4000 -0 0
|
||||
800 4000 -0 0
|
||||
900 4000 -0 0
|
||||
1000 4000 -0 0
|
||||
1100 4000 -0 0
|
||||
1200 4000 -0 0
|
||||
1300 4000 -0 0
|
||||
1400 4000 -0 0
|
||||
1500 4000 -0 0
|
||||
1600 4000 -0 0
|
||||
1700 4000 -0 0
|
||||
1800 4000 -0 0
|
||||
1900 4000 -0 0
|
||||
2000 4000 -0 0
|
||||
Loop time of 3.86825 on 4 procs for 2000 steps with 4000 atoms
|
||||
|
||||
Performance: 44671.398 tau/day, 517.030 timesteps/s
|
||||
96.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.26114 | 0.27918 | 0.28728 | 2.0 | 7.22
|
||||
Neigh | 1.2044 | 1.2414 | 1.3105 | 3.7 | 32.09
|
||||
Comm | 0.38592 | 0.47065 | 0.51052 | 7.4 | 12.17
|
||||
Output | 0.0007236 | 0.0013456 | 0.0024846 | 1.8 | 0.03
|
||||
Modify | 1.6217 | 1.6723 | 1.7801 | 5.0 | 43.23
|
||||
Other | | 0.2034 | | | 5.26
|
||||
|
||||
Nlocal: 1000.00 ave 1012 max 988 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 269.250 ave 278 max 256 min
|
||||
Histogram: 1 0 0 0 0 0 1 1 0 1
|
||||
Neighs: 2060.50 ave 2156 max 1921 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 8242
|
||||
Ave neighs/atom = 2.0605000
|
||||
Neighbor list builds = 1004
|
||||
Dangerous builds = 4
|
||||
|
||||
#Remove any particles that are above z > 0.5*drum_height
|
||||
delete_atoms group delgroup
|
||||
Deleted 0 atoms, new total = 4000
|
||||
|
||||
#Add top lid
|
||||
region top_wall plane ${xc} ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 ${yc} ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 ${drum_height} 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta ${xc} ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 ${yc} 0 0 0 1
|
||||
region top_wall plane 15 15 20 0 0 -1 side in rotate v_theta 15 15 0 0 0 1
|
||||
fix 5 all wall/gran/region granular hertz/material 1e5 0.1 0.3 tangential mindlin NULL 1.0 0.5 damping tsuji region top_wall
|
||||
|
||||
# 'Turn' drum by switching the direction of gravity
|
||||
unfix grav
|
||||
unfix ins1
|
||||
unfix ins2
|
||||
fix grav all gravity 10 vector 0 -1 0
|
||||
|
||||
variable theta equal 2*PI*elapsed/20000.0
|
||||
run 3000
|
||||
Per MPI rank memory allocation (min/avg/max) = 18.55 | 18.55 | 18.55 Mbytes
|
||||
Step Atoms KinEng v_theta
|
||||
2000 4000 65.819213 0
|
||||
2100 4000 105.02389 0.031415927
|
||||
2200 4000 112.02469 0.062831853
|
||||
2300 4000 92.271262 0.09424778
|
||||
2400 4000 89.369506 0.12566371
|
||||
2500 4000 80.910925 0.15707963
|
||||
2600 4000 31.620722 0.18849556
|
||||
2700 4000 4.3019937 0.21991149
|
||||
2800 4000 3.9913967 0.25132741
|
||||
2900 4000 4.5203726 0.28274334
|
||||
3000 4000 5.484886 0.31415927
|
||||
3100 4000 6.1085958 0.34557519
|
||||
3200 4000 6.7085635 0.37699112
|
||||
3300 4000 7.4787777 0.40840704
|
||||
3400 4000 8.2116413 0.43982297
|
||||
3500 4000 8.7979302 0.4712389
|
||||
3600 4000 9.871649 0.50265482
|
||||
3700 4000 10.012426 0.53407075
|
||||
3800 4000 9.9067754 0.56548668
|
||||
3900 4000 9.725458 0.5969026
|
||||
4000 4000 9.3350056 0.62831853
|
||||
4100 4000 8.8337295 0.65973446
|
||||
4200 4000 8.2712493 0.69115038
|
||||
4300 4000 6.9609934 0.72256631
|
||||
4400 4000 6.0120294 0.75398224
|
||||
4500 4000 5.0490036 0.78539816
|
||||
4600 4000 4.2796544 0.81681409
|
||||
4700 4000 4.1736483 0.84823002
|
||||
4800 4000 3.0860106 0.87964594
|
||||
4900 4000 2.6670909 0.91106187
|
||||
5000 4000 2.2901814 0.9424778
|
||||
Loop time of 10.7627 on 4 procs for 3000 steps with 4000 atoms
|
||||
|
||||
Performance: 24083.252 tau/day, 278.741 timesteps/s
|
||||
97.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.6731 | 2.0701 | 2.3327 | 18.9 | 19.23
|
||||
Neigh | 2.7389 | 3.1706 | 3.5146 | 15.7 | 29.46
|
||||
Comm | 0.93507 | 1.5441 | 2.1182 | 39.1 | 14.35
|
||||
Output | 0.0021682 | 0.0044412 | 0.006026 | 2.2 | 0.04
|
||||
Modify | 3.0031 | 3.4223 | 3.9262 | 18.3 | 31.80
|
||||
Other | | 0.5511 | | | 5.12
|
||||
|
||||
Nlocal: 1000.00 ave 1277 max 723 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 569.750 ave 809 max 454 min
|
||||
Histogram: 1 2 0 0 0 0 0 0 0 1
|
||||
Neighs: 3690.50 ave 4937 max 2426 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 14762
|
||||
Ave neighs/atom = 3.6905000
|
||||
Neighbor list builds = 2187
|
||||
Dangerous builds = 1610
|
||||
Total wall time: 0:00:14
|
||||
@ -1,188 +0,0 @@
|
||||
LAMMPS (29 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pour two types of particles (cohesive and non-cohesive) on flat wall
|
||||
|
||||
variable name string pour_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 20
|
||||
variable boxy equal 20
|
||||
variable boxz equal 30
|
||||
|
||||
variable xc1 equal 0.3*${boxx}
|
||||
variable xc1 equal 0.3*20
|
||||
variable xc2 equal 0.7*${boxx}
|
||||
variable xc2 equal 0.7*20
|
||||
variable yc equal 0.5*${boxy}
|
||||
variable yc equal 0.5*20
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.3*${rhi}
|
||||
variable skin equal 0.3*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 30
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (20.000000 20.000000 30.000000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 30
|
||||
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 30
|
||||
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10.0 vector 0 0 -1
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.15 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
|
||||
|
||||
thermo_style custom step atoms ke
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.15
|
||||
ghost atom cutoff = 1.15
|
||||
binsize = 0.575, bins = 35 35 53
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.22 | 12.22 | 12.22 Mbytes
|
||||
Step Atoms KinEng
|
||||
0 0 -0
|
||||
100 926 -0
|
||||
200 926 -0
|
||||
300 926 -0
|
||||
400 1498 -0
|
||||
500 1498 -0
|
||||
600 1498 -0
|
||||
700 2275 -0
|
||||
800 2275 -0
|
||||
900 2275 -0
|
||||
1000 2275 -0
|
||||
1100 2954 -0
|
||||
1200 2954 -0
|
||||
1300 2954 -0
|
||||
1400 3000 -0
|
||||
1500 3000 -0
|
||||
1600 3000 -0
|
||||
1700 3000 -0
|
||||
1800 3000 -0
|
||||
1900 3000 -0
|
||||
2000 3000 -0
|
||||
2100 3000 -0
|
||||
2200 3000 -0
|
||||
2300 3000 -0
|
||||
2400 3000 -0
|
||||
2500 3000 -0
|
||||
2600 3000 -0
|
||||
2700 3000 -0
|
||||
2800 3000 -0
|
||||
2900 3000 -0
|
||||
3000 3000 -0
|
||||
3100 3000 -0
|
||||
3200 3000 -0
|
||||
3300 3000 -0
|
||||
3400 3000 -0
|
||||
3500 3000 -0
|
||||
3600 3000 -0
|
||||
3700 3000 -0
|
||||
3800 3000 -0
|
||||
3900 3000 -0
|
||||
4000 3000 -0
|
||||
4100 3000 -0
|
||||
4200 3000 -0
|
||||
4300 3000 -0
|
||||
4400 3000 -0
|
||||
4500 3000 -0
|
||||
4600 3000 -0
|
||||
4700 3000 -0
|
||||
4800 3000 -0
|
||||
4900 3000 -0
|
||||
5000 3000 -0
|
||||
Loop time of 24.3889 on 1 procs for 5000 steps with 3000 atoms
|
||||
|
||||
Performance: 17713.003 tau/day, 205.012 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 14.362 | 14.362 | 14.362 | 0.0 | 58.89
|
||||
Neigh | 3.3483 | 3.3483 | 3.3483 | 0.0 | 13.73
|
||||
Comm | 0.42893 | 0.42893 | 0.42893 | 0.0 | 1.76
|
||||
Output | 0.0025065 | 0.0025065 | 0.0025065 | 0.0 | 0.01
|
||||
Modify | 6.059 | 6.059 | 6.059 | 0.0 | 24.84
|
||||
Other | | 0.1876 | | | 0.77
|
||||
|
||||
Nlocal: 3000.00 ave 3000 max 3000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 462.000 ave 462 max 462 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 17694.0 ave 17694 max 17694 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 17694
|
||||
Ave neighs/atom = 5.8980000
|
||||
Neighbor list builds = 1133
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:24
|
||||
@ -1,188 +0,0 @@
|
||||
LAMMPS (29 Oct 2020)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# pour two types of particles (cohesive and non-cohesive) on flat wall
|
||||
|
||||
variable name string pour_two_types
|
||||
|
||||
atom_style sphere
|
||||
units lj
|
||||
|
||||
###############################################
|
||||
# Geometry-related parameters
|
||||
###############################################
|
||||
|
||||
variable boxx equal 20
|
||||
variable boxy equal 20
|
||||
variable boxz equal 30
|
||||
|
||||
variable xc1 equal 0.3*${boxx}
|
||||
variable xc1 equal 0.3*20
|
||||
variable xc2 equal 0.7*${boxx}
|
||||
variable xc2 equal 0.7*20
|
||||
variable yc equal 0.5*${boxy}
|
||||
variable yc equal 0.5*20
|
||||
|
||||
###############################################
|
||||
# Particle-related parameters
|
||||
###############################################
|
||||
variable rlo equal 0.25
|
||||
variable rhi equal 0.5
|
||||
variable dlo equal 2.0*${rlo}
|
||||
variable dlo equal 2.0*0.25
|
||||
variable dhi equal 2.0*${rhi}
|
||||
variable dhi equal 2.0*0.5
|
||||
|
||||
variable dens equal 1.0
|
||||
|
||||
variable skin equal 0.3*${rhi}
|
||||
variable skin equal 0.3*0.5
|
||||
|
||||
#############
|
||||
processors * * 1
|
||||
region boxreg block 0 ${boxx} 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 ${boxy} 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 ${boxz}
|
||||
region boxreg block 0 20 0 20 0 30
|
||||
create_box 2 boxreg
|
||||
Created orthogonal box = (0.0000000 0.0000000 0.0000000) to (20.000000 20.000000 30.000000)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
change_box all boundary p p f
|
||||
Changing box ...
|
||||
|
||||
pair_style granular
|
||||
pair_coeff 1 * jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
|
||||
|
||||
comm_modify vel yes
|
||||
|
||||
region insreg1 cylinder z ${xc1} ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 ${yc} 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 ${boxz}
|
||||
region insreg1 cylinder z 6 10 5 15 30
|
||||
region insreg2 cylinder z ${xc2} ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 ${yc} 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 ${boxz}
|
||||
region insreg2 cylinder z 14 10 5 15 30
|
||||
|
||||
fix 1 all nve/sphere
|
||||
fix grav all gravity 10.0 vector 0 0 -1
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins1 all pour 1500 1 3123 region insreg1 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range ${dlo} ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 ${dhi} dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens ${dens} ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 ${dens}
|
||||
fix ins2 all pour 1500 2 3123 region insreg2 diam range 0.5 1 dens 1 1
|
||||
Particle insertion: 562 every 346 steps, 1500 by step 693
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.15 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 3 all wall/gran granular hertz/material 1e5 1e3 0.3 tangential mindlin NULL 1.0 0.5 zplane 0 NULL
|
||||
|
||||
thermo_style custom step atoms ke
|
||||
thermo_modify lost warn
|
||||
thermo 100
|
||||
|
||||
timestep 0.001
|
||||
|
||||
#dump 1 all custom 100 ${name}.dump id type radius mass x y z
|
||||
|
||||
run 5000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.15
|
||||
ghost atom cutoff = 1.15
|
||||
binsize = 0.575, bins = 35 35 53
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair granular, perpetual
|
||||
attributes: half, newton on, size, history
|
||||
pair build: half/size/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.98 | 11.98 | 11.98 Mbytes
|
||||
Step Atoms KinEng
|
||||
0 0 -0
|
||||
100 926 -0
|
||||
200 926 -0
|
||||
300 926 -0
|
||||
400 1498 -0
|
||||
500 1498 -0
|
||||
600 1498 -0
|
||||
700 2275 -0
|
||||
800 2275 -0
|
||||
900 2275 -0
|
||||
1000 2275 -0
|
||||
1100 2954 -0
|
||||
1200 2954 -0
|
||||
1300 2954 -0
|
||||
1400 3000 -0
|
||||
1500 3000 -0
|
||||
1600 3000 -0
|
||||
1700 3000 -0
|
||||
1800 3000 -0
|
||||
1900 3000 -0
|
||||
2000 3000 -0
|
||||
2100 3000 -0
|
||||
2200 3000 -0
|
||||
2300 3000 -0
|
||||
2400 3000 -0
|
||||
2500 3000 -0
|
||||
2600 3000 -0
|
||||
2700 3000 -0
|
||||
2800 3000 -0
|
||||
2900 3000 -0
|
||||
3000 3000 -0
|
||||
3100 3000 -0
|
||||
3200 3000 -0
|
||||
3300 3000 -0
|
||||
3400 3000 -0
|
||||
3500 3000 -0
|
||||
3600 3000 -0
|
||||
3700 3000 -0
|
||||
3800 3000 -0
|
||||
3900 3000 -0
|
||||
4000 3000 -0
|
||||
4100 3000 -0
|
||||
4200 3000 -0
|
||||
4300 3000 -0
|
||||
4400 3000 -0
|
||||
4500 3000 -0
|
||||
4600 3000 -0
|
||||
4700 3000 -0
|
||||
4800 3000 -0
|
||||
4900 3000 -0
|
||||
5000 3000 -0
|
||||
Loop time of 12.1982 on 4 procs for 5000 steps with 3000 atoms
|
||||
|
||||
Performance: 35414.923 tau/day, 409.895 timesteps/s
|
||||
97.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.7141 | 3.8131 | 6.2143 | 107.3 | 31.26
|
||||
Neigh | 0.77648 | 0.96585 | 1.1892 | 18.3 | 7.92
|
||||
Comm | 0.7427 | 3.5566 | 5.9731 | 128.4 | 29.16
|
||||
Output | 0.0067544 | 0.0086352 | 0.011408 | 1.8 | 0.07
|
||||
Modify | 3.3476 | 3.5826 | 3.8235 | 11.5 | 29.37
|
||||
Other | | 0.2715 | | | 2.23
|
||||
|
||||
Nlocal: 750.000 ave 1033 max 463 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 435.000 ave 492 max 378 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 4434.50 ave 7028 max 1967 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 17738
|
||||
Ave neighs/atom = 5.9126667
|
||||
Neighbor list builds = 1139
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:12
|
||||
20
src/.gitignore
vendored
20
src/.gitignore
vendored
@ -462,8 +462,6 @@
|
||||
/atom_vec_full.h
|
||||
/atom_vec_full_hars.cpp
|
||||
/atom_vec_full_hars.h
|
||||
/atom_vec_granular.cpp
|
||||
/atom_vec_granular.h
|
||||
/atom_vec_molecular.cpp
|
||||
/atom_vec_molecular.h
|
||||
/atom_vec_oxdna.cpp
|
||||
@ -1573,6 +1571,8 @@
|
||||
/fix_srp.h
|
||||
/fix_srp_react.cpp
|
||||
/fix_srp_react.h
|
||||
/fix_heat_flow.cpp
|
||||
/fix_heat_flow.h
|
||||
/fix_tfmc.cpp
|
||||
/fix_tfmc.h
|
||||
/fix_ttm.cpp
|
||||
@ -1581,6 +1581,22 @@
|
||||
/fix_ttm_grid.h
|
||||
/fix_ttm_mod.cpp
|
||||
/fix_ttm_mod.h
|
||||
/granular_model.cpp
|
||||
/granular_model.h
|
||||
/gran_sub_mod_normal.cpp
|
||||
/gran_sub_mod_normal.h
|
||||
/gran_sub_mod_damping.cpp
|
||||
/gran_sub_mod_damping.h
|
||||
/gran_sub_mod_tangential.cpp
|
||||
/gran_sub_mod_tangential.h
|
||||
/gran_sub_mod_twisting.cpp
|
||||
/gran_sub_mod_twisting.h
|
||||
/gran_sub_mod_rolling.cpp
|
||||
/gran_sub_mod_rolling.h
|
||||
/gran_sub_mod_heat.cpp
|
||||
/gran_sub_mod_heat.h
|
||||
/gran_sub_mod.cpp
|
||||
/gran_sub_mod.h
|
||||
/pair_born_coul_long_cs.cpp
|
||||
/pair_born_coul_long_cs.h
|
||||
/pair_born_coul_dsf_cs.cpp
|
||||
|
||||
238
src/GRANULAR/fix_heat_flow.cpp
Normal file
238
src/GRANULAR/fix_heat_flow.cpp
Normal file
@ -0,0 +1,238 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_heat_flow.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "modify.h"
|
||||
#include "respa.h"
|
||||
#include "update.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
||||
enum {NONE, CONSTANT, TYPE};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
FixHeatFlow::FixHeatFlow(LAMMPS *lmp, int narg, char **arg) :
|
||||
Fix(lmp, narg, arg)
|
||||
{
|
||||
if (narg < 4) error->all(FLERR,"Illegal fix command");
|
||||
|
||||
cp_style = NONE;
|
||||
comm_forward = 1;
|
||||
comm_reverse = 1;
|
||||
|
||||
int ntypes = atom->ntypes;
|
||||
if (strcmp(arg[3],"constant") == 0) {
|
||||
if (narg != 5) error->all(FLERR,"Illegal fix command");
|
||||
cp_style = CONSTANT;
|
||||
cp = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
if (cp < 0.0) error->all(FLERR,"Illegal fix command");
|
||||
} else if (strcmp(arg[3],"type") == 0) {
|
||||
if (narg != 4 + ntypes) error->all(FLERR,"Illegal fix command");
|
||||
cp_style = TYPE;
|
||||
memory->create(cp_type,ntypes+1,"fix/temp/integrate:cp_type");
|
||||
for (int i = 1; i <= ntypes; i++) {
|
||||
cp_type[i] = utils::numeric(FLERR,arg[3+i],false,lmp);
|
||||
if (cp_type[i] < 0.0) error->all(FLERR,"Illegal fix command");
|
||||
}
|
||||
} else {
|
||||
error->all(FLERR,"Illegal fix command");
|
||||
}
|
||||
|
||||
if (cp_style == NONE)
|
||||
error->all(FLERR, "Must specify specific heat in fix temp/integrate");
|
||||
dynamic_group_allow = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int FixHeatFlow::setmask()
|
||||
{
|
||||
int mask = 0;
|
||||
mask |= PRE_FORCE;
|
||||
mask |= FINAL_INTEGRATE;
|
||||
mask |= FINAL_INTEGRATE_RESPA;
|
||||
return mask;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::init()
|
||||
{
|
||||
dt = update->dt;
|
||||
|
||||
if (!atom->temperature_flag)
|
||||
error->all(FLERR,"Fix temp/integrate requires atom style with temperature property");
|
||||
if (!atom->heatflow_flag)
|
||||
error->all(FLERR,"Fix temp/integrate requires atom style with heatflow property");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::setup(int /*vflag*/)
|
||||
{
|
||||
// Identify whether this is the first instance of fix heat/flow
|
||||
first_flag = 0;
|
||||
|
||||
int i = 0;
|
||||
auto fixlist = modify->get_fix_by_style("heat/flow");
|
||||
for (const auto &ifix : fixlist) {
|
||||
if (strcmp(ifix->id, id) == 0) break;
|
||||
i++;
|
||||
}
|
||||
|
||||
if (i == 0) first_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::setup_pre_force(int /*vflag*/)
|
||||
{
|
||||
pre_force(0);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::pre_force(int /*vflag*/)
|
||||
{
|
||||
// send updated temperatures to ghosts if first instance of fix
|
||||
// then clear heatflow for next force calculation
|
||||
double *heatflow = atom->heatflow;
|
||||
if (first_flag) {
|
||||
comm->forward_comm(this);
|
||||
for (int i = 0; i < atom->nmax; i++) heatflow[i] = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::final_integrate()
|
||||
{
|
||||
// update temperature of atoms in group
|
||||
|
||||
double *temperature = atom->temperature;
|
||||
double *heatflow = atom->heatflow;
|
||||
double *rmass = atom->rmass;
|
||||
double *mass = atom->mass;
|
||||
int *type = atom->type;
|
||||
int *mask = atom->mask;
|
||||
int nlocal = atom->nlocal;
|
||||
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
|
||||
|
||||
// add ghost contributions to heatflow if first instance of fix
|
||||
if (first_flag)
|
||||
comm->reverse_comm(this);
|
||||
|
||||
if (rmass) {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
temperature[i] += dt * heatflow[i] / (calc_cp(i) * rmass[i]);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < nlocal; i++)
|
||||
if (mask[i] & groupbit) {
|
||||
temperature[i] += dt * heatflow[i] / (calc_cp(i) * mass[type[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::final_integrate_respa(int /*ilevel*/, int /*iloop*/)
|
||||
{
|
||||
dt = update->dt;
|
||||
final_integrate();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::reset_dt()
|
||||
{
|
||||
dt = update->dt;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double FixHeatFlow::calc_cp(int i)
|
||||
{
|
||||
if (cp_style == TYPE) {
|
||||
return cp_type[atom->type[i]];
|
||||
} else {
|
||||
return cp;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int FixHeatFlow::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
|
||||
{
|
||||
int i, j, m;
|
||||
|
||||
double *temperature = atom->temperature;
|
||||
|
||||
m = 0;
|
||||
for (i = 0; i < n; i++) {
|
||||
j = list[i];
|
||||
buf[m++] = temperature[j];
|
||||
}
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::unpack_forward_comm(int n, int first, double *buf)
|
||||
{
|
||||
int i, m, last;
|
||||
|
||||
m = 0;
|
||||
last = first + n;
|
||||
|
||||
double *temperature = atom->temperature;
|
||||
|
||||
for (i = first; i < last; i++) temperature[i] = buf[m++];
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int FixHeatFlow::pack_reverse_comm(int n, int first, double *buf)
|
||||
{
|
||||
int m = 0;
|
||||
int last = first + n;
|
||||
double *heatflow = atom->heatflow;
|
||||
|
||||
for (int i = first; i < last; i++) {
|
||||
buf[m++] = heatflow[i];
|
||||
}
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void FixHeatFlow::unpack_reverse_comm(int n, int *list, double *buf)
|
||||
{
|
||||
int m = 0;
|
||||
double *heatflow = atom->heatflow;
|
||||
|
||||
for (int i = 0; i < n; i++)
|
||||
heatflow[list[i]] += buf[m++];
|
||||
}
|
||||
56
src/GRANULAR/fix_heat_flow.h
Normal file
56
src/GRANULAR/fix_heat_flow.h
Normal file
@ -0,0 +1,56 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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
|
||||
// clang-format off
|
||||
FixStyle(heat/flow,FixHeatFlow);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_FIX_HEAT_FLOW_H
|
||||
#define LMP_FIX_HEAT_FLOW_H
|
||||
|
||||
#include "fix.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class FixHeatFlow : public Fix {
|
||||
public:
|
||||
FixHeatFlow(class LAMMPS *, int, char **);
|
||||
|
||||
int setmask() override;
|
||||
void init() override;
|
||||
void setup(int) override;
|
||||
void setup_pre_force(int) override;
|
||||
void pre_force(int) override;
|
||||
void final_integrate() override;
|
||||
void final_integrate_respa(int, int) override;
|
||||
int pack_forward_comm(int, int *, double *, int, int *) override;
|
||||
void unpack_forward_comm(int, int, double *) override;
|
||||
int pack_reverse_comm(int, int, double *) override;
|
||||
void unpack_reverse_comm(int, int *, double *) override;
|
||||
void reset_dt() override;
|
||||
|
||||
protected:
|
||||
double dt;
|
||||
double cp, *cp_type;
|
||||
int cp_style;
|
||||
int first_flag;
|
||||
|
||||
double calc_cp(int);
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
@ -270,6 +270,7 @@ FixPour::~FixPour()
|
||||
delete[] molfrac;
|
||||
delete[] idrigid;
|
||||
delete[] idshake;
|
||||
delete[] idregion;
|
||||
delete[] radius_poly;
|
||||
delete[] frac_poly;
|
||||
memory->destroy(coords);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -20,15 +20,17 @@ FixStyle(wall/gran,FixWallGran);
|
||||
#ifndef LMP_FIX_WALL_GRAN_H
|
||||
#define LMP_FIX_WALL_GRAN_H
|
||||
|
||||
#include "granular_model.h"
|
||||
#include "fix.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
namespace Granular_NS {
|
||||
class GranularModel;
|
||||
}
|
||||
|
||||
class FixWallGran : public Fix {
|
||||
public:
|
||||
enum { HOOKE, HOOKE_HISTORY, HERTZ_HISTORY, GRANULAR };
|
||||
enum { NORMAL_NONE, NORMAL_HOOKE, NORMAL_HERTZ, HERTZ_MATERIAL, DMT, JKR };
|
||||
|
||||
FixWallGran(class LAMMPS *, int, char **);
|
||||
~FixWallGran() override;
|
||||
int setmask() override;
|
||||
@ -49,54 +51,27 @@ class FixWallGran : public Fix {
|
||||
int maxsize_restart() override;
|
||||
void reset_dt() override;
|
||||
|
||||
void hooke(double, double, double, double, double *, double *, double *, double *, double *,
|
||||
double, double, double *);
|
||||
void hooke_history(double, double, double, double, double *, double *, double *, double *,
|
||||
double *, double, double, double *, double *);
|
||||
void hertz_history(double, double, double, double, double *, double, double *, double *, double *,
|
||||
double *, double, double, double *, double *);
|
||||
void granular(double, double, double, double, double *, double, double *, double *, double *,
|
||||
double *, double, double, double *, double *);
|
||||
|
||||
double pulloff_distance(double);
|
||||
|
||||
protected:
|
||||
int wallstyle, wiggle, wshear, axis;
|
||||
int pairstyle, nlevels_respa;
|
||||
int nlevels_respa;
|
||||
bigint time_origin;
|
||||
double kn, kt, gamman, gammat, xmu;
|
||||
|
||||
// for granular model choices
|
||||
int normal_model, damping_model;
|
||||
int tangential_model, roll_model, twist_model;
|
||||
int limit_damping;
|
||||
|
||||
// history flags
|
||||
int normal_history, tangential_history, roll_history, twist_history;
|
||||
|
||||
// indices of history entries
|
||||
int normal_history_index;
|
||||
int tangential_history_index;
|
||||
int roll_history_index;
|
||||
int twist_history_index;
|
||||
|
||||
// material coefficients
|
||||
double Emod, poiss, Gmod;
|
||||
|
||||
// contact model coefficients
|
||||
double normal_coeffs[4];
|
||||
double tangential_coeffs[3];
|
||||
double roll_coeffs[3];
|
||||
double twist_coeffs[3];
|
||||
class Granular_NS::GranularModel *model;
|
||||
|
||||
double lo, hi, cylradius;
|
||||
double amplitude, period, omega, vshear;
|
||||
double dt;
|
||||
double Twall;
|
||||
char *idregion;
|
||||
|
||||
int use_history; // if particle/wall interaction stores history
|
||||
int history_update; // flag for whether shear history is updated
|
||||
int size_history; // # of shear history values per contact
|
||||
int heat_flag;
|
||||
|
||||
int tvar;
|
||||
char *tstr;
|
||||
|
||||
// shear history for single contact per particle
|
||||
|
||||
|
||||
@ -12,23 +12,29 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Dan Bolintineanu (SNL)
|
||||
Contributing authors: Dan Bolintineanu (SNL), Joel Clemmer (SNL)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_wall_gran_region.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "granular_model.h"
|
||||
#include "comm.h"
|
||||
#include "domain.h"
|
||||
#include "error.h"
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
#include "neighbor.h"
|
||||
#include "math_extra.h"
|
||||
#include "region.h"
|
||||
#include "update.h"
|
||||
#include "variable.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathExtra;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -45,6 +51,8 @@ FixWallGranRegion::FixWallGranRegion(LAMMPS *lmp, int narg, char **arg) :
|
||||
tmax = region->tmax;
|
||||
c2r = new int[tmax];
|
||||
|
||||
model->contact_type = WALLREGION;
|
||||
|
||||
// re-allocate atom-based arrays with nshear
|
||||
// do not register with Atom class, since parent class did that
|
||||
|
||||
@ -116,13 +124,17 @@ void FixWallGranRegion::init()
|
||||
void FixWallGranRegion::post_force(int /*vflag*/)
|
||||
{
|
||||
int i, m, nc, iwall;
|
||||
double dx, dy, dz, rsq, meff;
|
||||
double dx, dy, dz, meff;
|
||||
double *forces, *torquesi;
|
||||
double vwall[3];
|
||||
double w0[3] = {0.0};
|
||||
bool touchflag = false;
|
||||
|
||||
// do not update shear history during setup
|
||||
|
||||
history_update = 1;
|
||||
if (update->setupflag) history_update = 0;
|
||||
model->history_update = history_update;
|
||||
|
||||
// if just reneighbored:
|
||||
// update rigid body masses for owned atoms if using FixRigid
|
||||
@ -157,7 +169,7 @@ void FixWallGranRegion::post_force(int /*vflag*/)
|
||||
double **torque = atom->torque;
|
||||
double *radius = atom->radius;
|
||||
double *rmass = atom->rmass;
|
||||
|
||||
double *temperature, *heatflow;
|
||||
int *mask = atom->mask;
|
||||
int nlocal = atom->nlocal;
|
||||
|
||||
@ -169,97 +181,112 @@ void FixWallGranRegion::post_force(int /*vflag*/)
|
||||
region->set_velocity();
|
||||
}
|
||||
|
||||
if (peratom_flag) { clear_stored_contacts(); }
|
||||
if (peratom_flag) clear_stored_contacts();
|
||||
|
||||
// Define constant wall properties (atom j)
|
||||
model->radj = 0.0;
|
||||
model->omegaj = w0;
|
||||
if (heat_flag) {
|
||||
temperature = atom->temperature;
|
||||
heatflow = atom->heatflow;
|
||||
if (tstr)
|
||||
Twall = input->variable->compute_equal(tvar);
|
||||
model->Tj = Twall;
|
||||
}
|
||||
|
||||
for (i = 0; i < nlocal; i++) {
|
||||
if (mask[i] & groupbit) {
|
||||
if (!region->match(x[i][0], x[i][1], x[i][2])) continue;
|
||||
if ((!mask[i]) & groupbit) continue;
|
||||
if (! region->match(x[i][0], x[i][1], x[i][2])) continue;
|
||||
|
||||
if (pairstyle == FixWallGran::GRANULAR && normal_model == FixWallGran::JKR) {
|
||||
nc = region->surface(x[i][0], x[i][1], x[i][2], radius[i] + pulloff_distance(radius[i]));
|
||||
} else {
|
||||
nc = region->surface(x[i][0], x[i][1], x[i][2], radius[i]);
|
||||
nc = region->surface(x[i][0], x[i][1], x[i][2], model->pulloff_distance(radius[i], 0.0));
|
||||
if (nc > tmax) error->one(FLERR, "Too many wallgran/region contacts for one particle");
|
||||
|
||||
// shear history maintenance
|
||||
// update ncontact,walls,shear2many for particle I
|
||||
// to reflect new and persistent shear historyvalues
|
||||
// also set c2r[] = indices into region->contact[]for each of N contacts
|
||||
// process zero or one contact here, otherwiseinvoke update_contacts()
|
||||
|
||||
if (use_history) {
|
||||
if (nc == 0) {
|
||||
ncontact[i] = 0;
|
||||
continue;
|
||||
}
|
||||
if (nc > tmax) error->one(FLERR, "Too many wall/gran/region contacts for one particle");
|
||||
|
||||
// shear history maintenance
|
||||
// update ncontact,walls,shear2many for particle I
|
||||
// to reflect new and persistent shear history values
|
||||
// also set c2r[] = indices into region->contact[] for each of N contacts
|
||||
// process zero or one contact here, otherwise invoke update_contacts()
|
||||
|
||||
if (use_history) {
|
||||
if (nc == 0) {
|
||||
ncontact[i] = 0;
|
||||
continue;
|
||||
}
|
||||
if (nc == 1) {
|
||||
c2r[0] = 0;
|
||||
iwall = region->contact[0].iwall;
|
||||
if (ncontact[i] == 0) {
|
||||
ncontact[i] = 1;
|
||||
walls[i][0] = iwall;
|
||||
for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0;
|
||||
} else if (ncontact[i] > 1 || iwall != walls[i][0])
|
||||
update_contacts(i, nc);
|
||||
} else
|
||||
if (nc == 1) {
|
||||
c2r[0] = 0;
|
||||
iwall = region->contact[0].iwall;
|
||||
if (ncontact[i] == 0) {
|
||||
ncontact[i] = 1;
|
||||
walls[i][0] = iwall;
|
||||
for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0;
|
||||
} else if (ncontact[i] > 1 || iwall != walls[i][0])
|
||||
update_contacts(i, nc);
|
||||
} else
|
||||
update_contacts(i, nc);
|
||||
}
|
||||
|
||||
// process current contacts
|
||||
for (int ic = 0; ic < nc; ic++) {
|
||||
|
||||
// Reset model and copy initial geometric data
|
||||
model->dx[0] = region->contact[ic].delx;
|
||||
model->dx[1] = region->contact[ic].dely;
|
||||
model->dx[2] = region->contact[ic].delz;
|
||||
model->radi = radius[i];
|
||||
model->radj = region->contact[ic].radius;
|
||||
model->r = region->contact[ic].r;
|
||||
if (model->beyond_contact) model->touch = history_many[i][c2r[ic]][0];
|
||||
|
||||
touchflag = model->check_contact();
|
||||
|
||||
if (!touchflag) {
|
||||
if (use_history)
|
||||
for (m = 0; m < size_history; m++)
|
||||
history_many[i][c2r[ic]][m] = 0.0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// process current contacts
|
||||
for (int ic = 0; ic < nc; ic++) {
|
||||
if (model->beyond_contact)
|
||||
history_many[i][c2r[ic]][0] = 1;
|
||||
|
||||
// rsq = squared contact distance
|
||||
// xc = contact point
|
||||
if (regiondynamic) region->velocity_contact(vwall, x[i], ic);
|
||||
model->vj = vwall;
|
||||
|
||||
rsq = region->contact[ic].r * region->contact[ic].r;
|
||||
// meff = effective mass of sphere
|
||||
// if I is part of rigid body, use body mass
|
||||
|
||||
if (pairstyle == FixWallGran::GRANULAR && normal_model == FixWallGran::JKR) {
|
||||
if (history_many[i][c2r[ic]][0] == 0.0 && rsq > radius[i] * radius[i]) {
|
||||
for (m = 0; m < size_history; m++) history_many[i][0][m] = 0.0;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
meff = rmass[i];
|
||||
if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i];
|
||||
|
||||
dx = region->contact[ic].delx;
|
||||
dy = region->contact[ic].dely;
|
||||
dz = region->contact[ic].delz;
|
||||
// Copy additional information and prepare force calculations
|
||||
model->meff = meff;
|
||||
model->vi = v[i];
|
||||
model->omegai = omega[i];
|
||||
|
||||
if (regiondynamic) region->velocity_contact(vwall, x[i], ic);
|
||||
if (use_history) model->history = history_many[i][c2r[ic]];
|
||||
if (heat_flag) model->Ti = temperature[i];
|
||||
|
||||
// meff = effective mass of sphere
|
||||
// if I is part of rigid body, use body mass
|
||||
model->calculate_forces();
|
||||
|
||||
meff = rmass[i];
|
||||
if (fix_rigid && mass_rigid[i] > 0.0) meff = mass_rigid[i];
|
||||
forces = model->forces;
|
||||
torquesi = model->torquesi;
|
||||
|
||||
// store contact info
|
||||
if (peratom_flag) {
|
||||
array_atom[i][0] = 1.0;
|
||||
array_atom[i][4] = x[i][0] - dx;
|
||||
array_atom[i][5] = x[i][1] - dy;
|
||||
array_atom[i][6] = x[i][2] - dz;
|
||||
array_atom[i][7] = radius[i];
|
||||
}
|
||||
// apply forces & torques
|
||||
add3(f[i], forces, f[i]);
|
||||
|
||||
// invoke sphere/wall interaction
|
||||
double *contact;
|
||||
if (peratom_flag)
|
||||
contact = array_atom[i];
|
||||
else
|
||||
contact = nullptr;
|
||||
add3(torque[i], torquesi, torque[i]);
|
||||
if (heat_flag) heatflow[i] += model->dq;
|
||||
|
||||
if (pairstyle == FixWallGran::HOOKE)
|
||||
hooke(rsq, dx, dy, dz, vwall, v[i], f[i], omega[i], torque[i], radius[i], meff, contact);
|
||||
else if (pairstyle == FixWallGran::HOOKE_HISTORY)
|
||||
hooke_history(rsq, dx, dy, dz, vwall, v[i], f[i], omega[i], torque[i], radius[i], meff,
|
||||
history_many[i][c2r[ic]], contact);
|
||||
else if (pairstyle == FixWallGran::HERTZ_HISTORY)
|
||||
hertz_history(rsq, dx, dy, dz, vwall, region->contact[ic].radius, v[i], f[i], omega[i],
|
||||
torque[i], radius[i], meff, history_many[i][c2r[ic]], contact);
|
||||
else if (pairstyle == FixWallGran::GRANULAR)
|
||||
granular(rsq, dx, dy, dz, vwall, region->contact[ic].radius, v[i], f[i], omega[i],
|
||||
torque[i], radius[i], meff, history_many[i][c2r[ic]], contact);
|
||||
// store contact info
|
||||
if (peratom_flag) {
|
||||
array_atom[i][0] = 1.0;
|
||||
array_atom[i][1] = forces[0];
|
||||
array_atom[i][2] = forces[1];
|
||||
array_atom[i][3] = forces[2];
|
||||
array_atom[i][4] = x[i][0] - dx;
|
||||
array_atom[i][5] = x[i][1] - dy;
|
||||
array_atom[i][6] = x[i][2] - dz;
|
||||
array_atom[i][7] = radius[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
128
src/GRANULAR/gran_sub_mod.cpp
Normal file
128
src/GRANULAR/gran_sub_mod.cpp
Normal file
@ -0,0 +1,128 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
This class contains a framework for granular sub models (GranSubMod):
|
||||
normal, damping, tangential, rolling, twisting, and heat
|
||||
These are used to calculate forces/torques/etc based on contact geometry
|
||||
|
||||
Contributing authors:
|
||||
Dan Bolintineanu (SNL), Joel Clemmer (SNL)
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
#include "error.h"
|
||||
#include "utils.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Parent class for all types of granular sub models
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubMod::GranSubMod(class GranularModel *gm, LAMMPS *lmp) : Pointers(lmp)
|
||||
{
|
||||
this->gm = gm;
|
||||
|
||||
allocated = 0;
|
||||
size_history = 0;
|
||||
history_index = 0;
|
||||
allow_cohesion = 1;
|
||||
beyond_contact = 0;
|
||||
num_coeffs = 0;
|
||||
area_flag = 0;
|
||||
|
||||
nondefault_history_transfer = 0;
|
||||
transfer_history_factor = nullptr;
|
||||
coeffs = nullptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
GranSubMod::~GranSubMod()
|
||||
{
|
||||
if (allocated) delete [] coeffs;
|
||||
delete [] transfer_history_factor;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubMod::allocate_coeffs()
|
||||
{
|
||||
allocated = 1;
|
||||
coeffs = new double[num_coeffs];
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubMod::mix_coeffs(double* icoeffs, double* jcoeffs)
|
||||
{
|
||||
for (int i = 0; i < num_coeffs; i++)
|
||||
coeffs[i] = mix_geom(icoeffs[i], jcoeffs[i]);
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
mixing of Young's modulus (E)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double GranSubMod::mix_stiffnessE(double E1, double E2,
|
||||
double poiss1, double poiss2)
|
||||
{
|
||||
double factor1 = (1 - poiss1 * poiss1) / E1;
|
||||
double factor2 = (1 - poiss2 * poiss2) / E2;
|
||||
return 1 / (factor1 + factor2);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
mixing of shear modulus (G)
|
||||
------------------------------------------------------------------------ */
|
||||
|
||||
double GranSubMod::mix_stiffnessG(double E1, double E2,
|
||||
double poiss1, double poiss2)
|
||||
{
|
||||
double factor1 = 2 * (2 - poiss1) * (1 + poiss1) / E1;
|
||||
double factor2 = 2 * (2 - poiss2) * (1 + poiss2) / E2;
|
||||
return 1 / (factor1 + factor2);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
mixing of Young's modulus (E) for walls
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double GranSubMod::mix_stiffnessE_wall(double E, double poiss)
|
||||
{
|
||||
double factor = 2 * (1 - poiss * poiss);
|
||||
return E / factor;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
mixing of shear modulus (G) for walls
|
||||
------------------------------------------------------------------------ */
|
||||
|
||||
double GranSubMod::mix_stiffnessG_wall(double E, double poiss)
|
||||
{
|
||||
double factor = 4.0 * (2 - poiss) * (1 + poiss);
|
||||
return E / factor;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
mixing of everything else
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double GranSubMod::mix_geom(double val1, double val2)
|
||||
{
|
||||
return sqrt(val1 * val2);
|
||||
}
|
||||
62
src/GRANULAR/gran_sub_mod.h
Normal file
62
src/GRANULAR/gran_sub_mod.h
Normal file
@ -0,0 +1,62 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_GRAN_SUB_MOD_H
|
||||
#define LMP_GRAN_SUB_MOD_H
|
||||
|
||||
#include "granular_model.h"
|
||||
#include "pointers.h" // IWYU pragma: export
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubMod : protected Pointers {
|
||||
public:
|
||||
GranSubMod(class GranularModel *, class LAMMPS *);
|
||||
virtual ~GranSubMod();
|
||||
|
||||
int num_coeffs;
|
||||
double *coeffs;
|
||||
void read_restart();
|
||||
virtual void mix_coeffs(double*, double*);
|
||||
virtual void coeffs_to_local() {};
|
||||
virtual void init() {}; // called after all sub models + coeffs defined
|
||||
|
||||
void allocate_coeffs();
|
||||
std::string name;
|
||||
|
||||
int size_history;
|
||||
int nondefault_history_transfer;
|
||||
double *transfer_history_factor;
|
||||
|
||||
int history_index;
|
||||
int beyond_contact; // If the sub model contact extends beyond overlap
|
||||
int allow_cohesion; // If the sub model works with a cohesive normal force
|
||||
int area_flag; // If the sub model requires area
|
||||
|
||||
GranularModel *gm;
|
||||
|
||||
protected:
|
||||
int allocated;
|
||||
|
||||
double mix_stiffnessE(double, double, double, double);
|
||||
double mix_stiffnessG(double, double, double, double);
|
||||
double mix_stiffnessE_wall(double, double);
|
||||
double mix_stiffnessG_wall(double, double);
|
||||
double mix_geom(double, double);
|
||||
};
|
||||
|
||||
} // namespace GranularModel
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /* GRAN_SUB_MOD_H */
|
||||
121
src/GRANULAR/gran_sub_mod_damping.cpp
Normal file
121
src/GRANULAR/gran_sub_mod_damping.cpp
Normal file
@ -0,0 +1,121 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod_damping.h"
|
||||
#include "gran_sub_mod_normal.h"
|
||||
#include "granular_model.h"
|
||||
#include "math_special.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathSpecial;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default damping model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModDamping::GranSubModDamping(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModDamping::init()
|
||||
{
|
||||
damp = gm->normal_model->damp;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
No model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModDampingNone::GranSubModDampingNone(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModDampingNone::calculate_forces()
|
||||
{
|
||||
damp_prefactor = 0.0;
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Velocity damping
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModDampingVelocity::GranSubModDampingVelocity(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModDampingVelocity::calculate_forces()
|
||||
{
|
||||
damp_prefactor = damp;
|
||||
return -damp_prefactor * gm->vnnr;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Mass velocity damping
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModDampingMassVelocity::GranSubModDampingMassVelocity(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModDampingMassVelocity::calculate_forces()
|
||||
{
|
||||
damp_prefactor = damp * gm->meff;
|
||||
return -damp_prefactor * gm->vnnr;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default, viscoelastic damping
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModDampingViscoelastic::GranSubModDampingViscoelastic(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp)
|
||||
{
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModDampingViscoelastic::calculate_forces()
|
||||
{
|
||||
damp_prefactor = damp * gm->meff * gm->area;
|
||||
return -damp_prefactor * gm->vnnr;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Tsuji damping
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModDampingTsuji::GranSubModDampingTsuji(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp)
|
||||
{
|
||||
allow_cohesion = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModDampingTsuji::init()
|
||||
{
|
||||
double tmp = gm->normal_model->damp;
|
||||
damp = 1.2728 - 4.2783 * tmp + 11.087 * square(tmp);
|
||||
damp += -22.348 * cube(tmp) + 27.467 * powint(tmp, 4);
|
||||
damp += -18.022 * powint(tmp, 5) + 4.8218 * powint(tmp,6);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModDampingTsuji::calculate_forces()
|
||||
{
|
||||
damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta);
|
||||
return -damp_prefactor * gm->vnnr;
|
||||
}
|
||||
104
src/GRANULAR/gran_sub_mod_damping.h
Normal file
104
src/GRANULAR/gran_sub_mod_damping.h
Normal file
@ -0,0 +1,104 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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 GRAN_SUB_MOD_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(none,
|
||||
GranSubModDampingNone,
|
||||
DAMPING);
|
||||
|
||||
GranSubModStyle(velocity,
|
||||
GranSubModDampingVelocity,
|
||||
DAMPING);
|
||||
|
||||
GranSubModStyle(mass_velocity,
|
||||
GranSubModDampingMassVelocity,
|
||||
DAMPING);
|
||||
|
||||
GranSubModStyle(viscoelastic,
|
||||
GranSubModDampingViscoelastic,
|
||||
DAMPING);
|
||||
|
||||
GranSubModStyle(tsuji,
|
||||
GranSubModDampingTsuji,
|
||||
DAMPING);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_DAMPING_H
|
||||
#define GRAN_SUB_MOD_DAMPING_H
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
#include "pointers.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModDamping : public GranSubMod {
|
||||
public:
|
||||
GranSubModDamping(class GranularModel *, class LAMMPS *);
|
||||
~GranSubModDamping() {};
|
||||
virtual void init();
|
||||
virtual double calculate_forces() = 0;
|
||||
double damp_prefactor; // Used by tangential models
|
||||
protected:
|
||||
double damp;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModDampingNone : public GranSubModDamping {
|
||||
public:
|
||||
GranSubModDampingNone(class GranularModel *, class LAMMPS *);
|
||||
void init() override {};
|
||||
double calculate_forces();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModDampingVelocity : public GranSubModDamping {
|
||||
public:
|
||||
GranSubModDampingVelocity(class GranularModel *, class LAMMPS *);
|
||||
double calculate_forces();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModDampingMassVelocity : public GranSubModDamping {
|
||||
public:
|
||||
GranSubModDampingMassVelocity(class GranularModel *, class LAMMPS *);
|
||||
double calculate_forces();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModDampingViscoelastic : public GranSubModDamping {
|
||||
public:
|
||||
GranSubModDampingViscoelastic(class GranularModel *, class LAMMPS *);
|
||||
double calculate_forces();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModDampingTsuji : public GranSubModDamping {
|
||||
public:
|
||||
GranSubModDampingTsuji(class GranularModel *, class LAMMPS *);
|
||||
void init() override;
|
||||
double calculate_forces();
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_DAMPING_H */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H */
|
||||
65
src/GRANULAR/gran_sub_mod_heat.cpp
Normal file
65
src/GRANULAR/gran_sub_mod_heat.cpp
Normal file
@ -0,0 +1,65 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod_heat.h"
|
||||
#include "granular_model.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default heat conduction
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModHeat::GranSubModHeat(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Area-based heat conduction
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModHeatNone::GranSubModHeatNone(GranularModel *gm, LAMMPS *lmp) : GranSubModHeat(gm, lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModHeatNone::calculate_heat()
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Area-based heat conduction
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModHeatArea::GranSubModHeatArea(GranularModel *gm, LAMMPS *lmp) : GranSubModHeat(gm, lmp)
|
||||
{
|
||||
num_coeffs = 1;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModHeatArea::coeffs_to_local()
|
||||
{
|
||||
conductivity = coeffs[0];
|
||||
|
||||
if (conductivity < 0.0) error->all(FLERR, "Illegal area heat model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModHeatArea::calculate_heat()
|
||||
{
|
||||
return conductivity * gm->area * (gm->Tj - gm->Ti);
|
||||
}
|
||||
64
src/GRANULAR/gran_sub_mod_heat.h
Normal file
64
src/GRANULAR/gran_sub_mod_heat.h
Normal file
@ -0,0 +1,64 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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 GRAN_SUB_MOD_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(none,
|
||||
GranSubModHeatNone,
|
||||
HEAT);
|
||||
|
||||
GranSubModStyle(area,
|
||||
GranSubModHeatArea,
|
||||
HEAT);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_HEAT_H
|
||||
#define GRAN_SUB_MOD_HEAT_H
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModHeat : public GranSubMod {
|
||||
public:
|
||||
GranSubModHeat(class GranularModel *, class LAMMPS *);
|
||||
~GranSubModHeat() {};
|
||||
virtual double calculate_heat() = 0;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModHeatNone : public GranSubModHeat {
|
||||
public:
|
||||
GranSubModHeatNone(class GranularModel *, class LAMMPS *);
|
||||
double calculate_heat();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModHeatArea : public GranSubModHeat {
|
||||
public:
|
||||
GranSubModHeatArea(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
double calculate_heat();
|
||||
protected:
|
||||
double conductivity;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_HEAT_H */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H */
|
||||
353
src/GRANULAR/gran_sub_mod_normal.cpp
Normal file
353
src/GRANULAR/gran_sub_mod_normal.cpp
Normal file
@ -0,0 +1,353 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod_normal.h"
|
||||
#include "granular_model.h"
|
||||
#include "error.h"
|
||||
#include "math_const.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathConst;
|
||||
|
||||
#define PI27SQ 266.47931882941264802866 // 27*PI**2
|
||||
#define THREEROOT3 5.19615242270663202362 // 3*sqrt(3)
|
||||
#define SIXROOT6 14.69693845669906728801 // 6*sqrt(6)
|
||||
#define INVROOT6 0.40824829046386307274 // 1/sqrt(6)
|
||||
#define FOURTHIRDS (4.0/3.0) // 4/3
|
||||
#define ONETHIRD (1.0/3.0) // 1/3
|
||||
#define THREEQUARTERS 0.75 // 3/4
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default normal model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormal::GranSubModNormal(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp)
|
||||
{
|
||||
material_properties = 0;
|
||||
cohesive_flag = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
bool GranSubModNormal::touch()
|
||||
{
|
||||
bool touchflag = (gm->rsq < gm->radsum * gm->radsum);
|
||||
return touchflag;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormal::pulloff_distance(double radi, double radj)
|
||||
{
|
||||
//called outside of compute(), do not assume correct geometry defined in contact
|
||||
return radi + radj;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormal::calculate_area()
|
||||
{
|
||||
return sqrt(gm->dR);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormal::set_fncrit()
|
||||
{
|
||||
Fncrit = fabs(gm->Fntot);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
No model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormalNone::GranSubModNormalNone(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp) {}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalNone::calculate_forces()
|
||||
{
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Hookean normal force
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormalHooke::GranSubModNormalHooke(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp)
|
||||
{
|
||||
num_coeffs = 2;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalHooke::coeffs_to_local()
|
||||
{
|
||||
k = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
|
||||
if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hooke normal model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalHooke::calculate_forces()
|
||||
{
|
||||
return k * gm->delta;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Hertzian normal force
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormalHertz::GranSubModNormalHertz(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp)
|
||||
{
|
||||
num_coeffs = 2;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalHertz::coeffs_to_local()
|
||||
{
|
||||
k = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
|
||||
if (k < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz normal model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalHertz::calculate_forces()
|
||||
{
|
||||
return k * gm->area * gm->delta;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Hertzian normal force with material properties
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormalHertzMaterial::GranSubModNormalHertzMaterial(GranularModel *gm, LAMMPS *lmp) : GranSubModNormalHertz(gm, lmp)
|
||||
{
|
||||
material_properties = 1;
|
||||
num_coeffs = 3;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalHertzMaterial::coeffs_to_local()
|
||||
{
|
||||
Emod = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
poiss = coeffs[2];
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss);
|
||||
}
|
||||
|
||||
if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalHertzMaterial::mix_coeffs(double* icoeffs, double* jcoeffs)
|
||||
{
|
||||
coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]);
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
DMT normal force
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormalDMT::GranSubModNormalDMT(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp)
|
||||
{
|
||||
material_properties = 1;
|
||||
cohesive_flag = 1;
|
||||
num_coeffs = 4;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalDMT::coeffs_to_local()
|
||||
{
|
||||
Emod = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
poiss = coeffs[2];
|
||||
cohesion = coeffs[3];
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss);
|
||||
}
|
||||
|
||||
if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalDMT::mix_coeffs(double* icoeffs, double* jcoeffs)
|
||||
{
|
||||
coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]);
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]);
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalDMT::calculate_forces()
|
||||
{
|
||||
Fne = k * gm->area * gm->delta;
|
||||
F_pulloff = 4.0 * MathConst::MY_PI * cohesion * gm->Reff;
|
||||
Fne -= F_pulloff;
|
||||
return Fne;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalDMT::set_fncrit()
|
||||
{
|
||||
Fncrit = fabs(Fne + 2.0 * F_pulloff);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
JKR normal force
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModNormalJKR::GranSubModNormalJKR(GranularModel *gm, LAMMPS *lmp) : GranSubModNormal(gm, lmp)
|
||||
{
|
||||
material_properties = 1;
|
||||
cohesive_flag = 1;
|
||||
beyond_contact = 1;
|
||||
num_coeffs = 4;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalJKR::coeffs_to_local()
|
||||
{
|
||||
Emod = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
poiss = coeffs[2];
|
||||
cohesion = coeffs[3];
|
||||
|
||||
if (gm->contact_type == PAIR) {
|
||||
Emix = mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
Emix = mix_stiffnessE_wall(Emod, poiss);
|
||||
}
|
||||
|
||||
k = FOURTHIRDS * Emix;
|
||||
|
||||
if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal JKR normal model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalJKR::mix_coeffs(double* icoeffs, double* jcoeffs)
|
||||
{
|
||||
coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0],icoeffs[2], jcoeffs[2]);
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]);
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
bool GranSubModNormalJKR::touch()
|
||||
{
|
||||
double area_at_pulloff, R2, delta_pulloff, dist_pulloff;
|
||||
bool touchflag;
|
||||
|
||||
if (gm->touch) {
|
||||
R2 = gm->Reff * gm->Reff;
|
||||
area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * R2 / (4.0 * Emix));
|
||||
delta_pulloff = area_at_pulloff * area_at_pulloff / gm->Reff - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix);
|
||||
dist_pulloff = gm->radsum - delta_pulloff;
|
||||
touchflag = gm->rsq < (dist_pulloff * dist_pulloff);
|
||||
} else {
|
||||
touchflag = gm->rsq < (gm->radsum * gm->radsum);
|
||||
}
|
||||
|
||||
return touchflag;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
called outside of compute(), do not assume geometry defined in contact
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalJKR::pulloff_distance(double radi, double radj)
|
||||
{
|
||||
double area_at_pulloff, Reff_tmp;
|
||||
|
||||
Reff_tmp = radi * radj / (radi + radj); // May not be defined
|
||||
if (Reff_tmp <= 0) return 0;
|
||||
|
||||
area_at_pulloff = cbrt(9.0 * MY_PI * cohesion * Reff_tmp * Reff_tmp / (4.0 * Emix));
|
||||
return area_at_pulloff * area_at_pulloff / Reff_tmp - 2.0 * sqrt(MY_PI * cohesion * area_at_pulloff / Emix);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalJKR::calculate_area()
|
||||
{
|
||||
double R2, dR2, t0, t1, t2, t3, t4, t5, t6;
|
||||
double sqrt1, sqrt2, sqrt3;
|
||||
|
||||
R2 = gm->Reff * gm->Reff;
|
||||
dR2 = gm->dR * gm->dR;
|
||||
t0 = cohesion * cohesion * R2 * R2 * Emix;
|
||||
t1 = PI27SQ * t0;
|
||||
t2 = 8.0 * gm->dR * dR2 * Emix * Emix * Emix;
|
||||
t3 = 4.0 * dR2 * Emix;
|
||||
|
||||
// in case sqrt(0) < 0 due to precision issues
|
||||
sqrt1 = MAX(0, t0 * (t1 + 2.0 * t2));
|
||||
t4 = cbrt(t1 + t2 + THREEROOT3 * MY_PI * sqrt(sqrt1));
|
||||
t5 = t3 / t4 + t4 / Emix;
|
||||
sqrt2 = MAX(0, 2.0 * gm->dR + t5);
|
||||
t6 = sqrt(sqrt2);
|
||||
sqrt3 = MAX(0, 4.0 * gm->dR - t5 + SIXROOT6 * cohesion * MY_PI * R2 / (Emix * t6));
|
||||
|
||||
return INVROOT6 * (t6 + sqrt(sqrt3));
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double GranSubModNormalJKR::calculate_forces()
|
||||
{
|
||||
double a2;
|
||||
a2 = gm->area * gm->area;
|
||||
Fne = k * gm->area * a2 / gm->Reff - MY_2PI * a2 * sqrt(4.0 * cohesion * Emix / (MY_PI * gm->area));
|
||||
F_pulloff = 3.0 * MY_PI * cohesion * gm->Reff;
|
||||
|
||||
return Fne;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModNormalJKR::set_fncrit()
|
||||
{
|
||||
Fncrit = fabs(Fne + 2.0 * F_pulloff);
|
||||
}
|
||||
139
src/GRANULAR/gran_sub_mod_normal.h
Normal file
139
src/GRANULAR/gran_sub_mod_normal.h
Normal file
@ -0,0 +1,139 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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 GRAN_SUB_MOD_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(none,
|
||||
GranSubModNormalNone,
|
||||
NORMAL);
|
||||
|
||||
GranSubModStyle(hooke,
|
||||
GranSubModNormalHooke,
|
||||
NORMAL);
|
||||
|
||||
GranSubModStyle(hertz,
|
||||
GranSubModNormalHertz,
|
||||
NORMAL);
|
||||
|
||||
GranSubModStyle(hertz/material,
|
||||
GranSubModNormalHertzMaterial,
|
||||
NORMAL);
|
||||
|
||||
GranSubModStyle(dmt,
|
||||
GranSubModNormalDMT,
|
||||
NORMAL);
|
||||
|
||||
GranSubModStyle(jkr,
|
||||
GranSubModNormalJKR,
|
||||
NORMAL);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_NORMAL_H
|
||||
#define GRAN_SUB_MOD_NORMAL_H
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModNormal : public GranSubMod {
|
||||
public:
|
||||
GranSubModNormal(class GranularModel *, class LAMMPS *);
|
||||
~GranSubModNormal() {};
|
||||
virtual bool touch();
|
||||
virtual double pulloff_distance(double, double);
|
||||
virtual double calculate_area();
|
||||
virtual double calculate_forces() = 0;
|
||||
virtual void set_fncrit();
|
||||
double damp; // argument historically needed by damping
|
||||
double Emod, poiss;
|
||||
double Fncrit;
|
||||
int material_properties, cohesive_flag;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModNormalNone : public GranSubModNormal {
|
||||
public:
|
||||
GranSubModNormalNone(class GranularModel *, class LAMMPS *);
|
||||
double calculate_forces();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModNormalHooke : public GranSubModNormal {
|
||||
public:
|
||||
GranSubModNormalHooke(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
double calculate_forces();
|
||||
protected:
|
||||
double k;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModNormalHertz : public GranSubModNormal {
|
||||
public:
|
||||
GranSubModNormalHertz(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
double calculate_forces();
|
||||
protected:
|
||||
double k;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModNormalHertzMaterial : public GranSubModNormalHertz {
|
||||
public:
|
||||
GranSubModNormalHertzMaterial(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void mix_coeffs(double*, double*) override;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModNormalDMT : public GranSubModNormal {
|
||||
public:
|
||||
GranSubModNormalDMT(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void mix_coeffs(double*, double*) override;
|
||||
double calculate_forces();
|
||||
void set_fncrit() override;
|
||||
protected:
|
||||
double k, cohesion;
|
||||
double F_pulloff, Fne;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModNormalJKR : public GranSubModNormal {
|
||||
public:
|
||||
GranSubModNormalJKR(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void mix_coeffs(double*, double*) override;
|
||||
bool touch() override;
|
||||
double pulloff_distance(double, double) override;
|
||||
double calculate_area() override;
|
||||
double calculate_forces();
|
||||
void set_fncrit() override;
|
||||
protected:
|
||||
double k, cohesion;
|
||||
double Emix, F_pulloff, Fne;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_NORMAL_H */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H */
|
||||
124
src/GRANULAR/gran_sub_mod_rolling.cpp
Normal file
124
src/GRANULAR/gran_sub_mod_rolling.cpp
Normal file
@ -0,0 +1,124 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod_normal.h"
|
||||
#include "gran_sub_mod_rolling.h"
|
||||
#include "granular_model.h"
|
||||
#include "error.h"
|
||||
#include "math_const.h"
|
||||
#include "math_extra.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathConst;
|
||||
using namespace MathExtra;
|
||||
|
||||
#define EPSILON 1e-10
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default rolling friction model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModRolling::GranSubModRolling(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
No model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModRollingNone::GranSubModRollingNone(GranularModel *gm, LAMMPS *lmp) : GranSubModRolling(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
SDS rolling friction model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModRollingSDS::GranSubModRollingSDS(GranularModel *gm, LAMMPS *lmp) : GranSubModRolling(gm, lmp)
|
||||
{
|
||||
num_coeffs = 3;
|
||||
size_history = 3;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModRollingSDS::coeffs_to_local()
|
||||
{
|
||||
k = coeffs[0];
|
||||
gamma = coeffs[1];
|
||||
mu = coeffs[2];
|
||||
|
||||
if (k < 0.0 || mu < 0.0 || gamma < 0.0)
|
||||
error->all(FLERR, "Illegal SDS rolling model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModRollingSDS::calculate_forces()
|
||||
{
|
||||
int rhist0, rhist1, rhist2, frameupdate;
|
||||
double Frcrit, rolldotn, rollmag, prjmag, magfr, hist_temp[3], scalefac, temp_array[3];
|
||||
double k_inv, magfr_inv;
|
||||
|
||||
rhist0 = history_index;
|
||||
rhist1 = rhist0 + 1;
|
||||
rhist2 = rhist1 + 1;
|
||||
|
||||
Frcrit = mu * gm->normal_model->Fncrit;
|
||||
|
||||
if (gm->history_update) {
|
||||
hist_temp[0] = gm->history[rhist0];
|
||||
hist_temp[1] = gm->history[rhist1];
|
||||
hist_temp[2] = gm->history[rhist2];
|
||||
rolldotn = dot3(hist_temp, gm->nx);
|
||||
|
||||
frameupdate = (fabs(rolldotn) * k) > (EPSILON * Frcrit);
|
||||
if (frameupdate) { // rotate into tangential plane
|
||||
rollmag = len3(hist_temp);
|
||||
// projection
|
||||
scale3(rolldotn, gm->nx, temp_array);
|
||||
sub3(hist_temp, temp_array, hist_temp);
|
||||
|
||||
// also rescale to preserve magnitude
|
||||
prjmag = len3(hist_temp);
|
||||
if (prjmag > 0) scalefac = rollmag / prjmag;
|
||||
else scalefac = 0;
|
||||
scale3(scalefac, hist_temp);
|
||||
}
|
||||
scale3(gm->dt, gm->vrl, temp_array);
|
||||
add3(hist_temp, temp_array, hist_temp);
|
||||
}
|
||||
|
||||
scaleadd3(-k, hist_temp, -gamma, gm->vrl, gm->fr);
|
||||
|
||||
// rescale frictional displacements and forces if needed
|
||||
magfr = len3(gm->fr);
|
||||
if (magfr > Frcrit) {
|
||||
rollmag = len3(hist_temp);
|
||||
if (rollmag != 0.0) {
|
||||
k_inv = 1.0 / k;
|
||||
magfr_inv = 1.0 / magfr;
|
||||
scale3(-Frcrit * k_inv * magfr_inv, gm->fr, hist_temp);
|
||||
scale3(-gamma * k_inv, gm->vrl, temp_array);
|
||||
add3(hist_temp, temp_array, hist_temp);
|
||||
|
||||
scale3(Frcrit * magfr_inv, gm->fr);
|
||||
} else {
|
||||
zero3(gm->fr);
|
||||
}
|
||||
}
|
||||
|
||||
if (gm->history_update) {
|
||||
gm->history[rhist0] = hist_temp[0];
|
||||
gm->history[rhist1] = hist_temp[1];
|
||||
gm->history[rhist2] = hist_temp[2];
|
||||
}
|
||||
}
|
||||
64
src/GRANULAR/gran_sub_mod_rolling.h
Normal file
64
src/GRANULAR/gran_sub_mod_rolling.h
Normal file
@ -0,0 +1,64 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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 GRAN_SUB_MOD_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(none,
|
||||
GranSubModRollingNone,
|
||||
ROLLING);
|
||||
|
||||
GranSubModStyle(sds,
|
||||
GranSubModRollingSDS,
|
||||
ROLLING);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_ROLLING_H
|
||||
#define GRAN_SUB_MOD_ROLLING_H
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModRolling : public GranSubMod {
|
||||
public:
|
||||
GranSubModRolling(class GranularModel *, class LAMMPS *);
|
||||
~GranSubModRolling() {};
|
||||
virtual void calculate_forces() = 0;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModRollingNone : public GranSubModRolling {
|
||||
public:
|
||||
GranSubModRollingNone(class GranularModel *, class LAMMPS *);
|
||||
void calculate_forces() {};
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModRollingSDS : public GranSubModRolling {
|
||||
public:
|
||||
GranSubModRollingSDS(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void calculate_forces();
|
||||
protected:
|
||||
double k, mu, gamma;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_ROLLING_H */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H */
|
||||
404
src/GRANULAR/gran_sub_mod_tangential.cpp
Normal file
404
src/GRANULAR/gran_sub_mod_tangential.cpp
Normal file
@ -0,0 +1,404 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod_damping.h"
|
||||
#include "gran_sub_mod_normal.h"
|
||||
#include "gran_sub_mod_tangential.h"
|
||||
#include "granular_model.h"
|
||||
#include "error.h"
|
||||
#include "math_const.h"
|
||||
#include "math_extra.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathConst;
|
||||
using namespace MathExtra;
|
||||
|
||||
#define EPSILON 1e-10
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangential::GranSubModTangential(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
No model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialNone::GranSubModTangentialNone(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Linear model with no history
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialLinearNoHistory::GranSubModTangentialLinearNoHistory(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp)
|
||||
{
|
||||
num_coeffs = 2;
|
||||
size_history = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialLinearNoHistory::coeffs_to_local()
|
||||
{
|
||||
k = 0.0; // No tangential stiffness with no history
|
||||
xt = coeffs[0];
|
||||
mu = coeffs[1];
|
||||
|
||||
if (k < 0.0 || xt < 0.0 || mu < 0.0)
|
||||
error->all(FLERR, "Illegal linear no history tangential model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialLinearNoHistory::calculate_forces()
|
||||
{
|
||||
// classic pair gran/hooke (no history)
|
||||
damp = xt * gm->damping_model->damp_prefactor;
|
||||
|
||||
double Fscrit = mu * gm->normal_model->Fncrit;
|
||||
double fsmag = damp * gm->vrel;
|
||||
|
||||
double Ft;
|
||||
if (gm->vrel != 0.0) Ft = MIN(Fscrit, fsmag) / gm->vrel;
|
||||
else Ft = 0.0;
|
||||
|
||||
scale3(-Ft, gm->vtr, gm->fs);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Linear model with history
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialLinearHistory::GranSubModTangentialLinearHistory(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp)
|
||||
{
|
||||
num_coeffs = 3;
|
||||
size_history = 3;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialLinearHistory::coeffs_to_local()
|
||||
{
|
||||
k = coeffs[0];
|
||||
xt = coeffs[1];
|
||||
mu = coeffs[2];
|
||||
|
||||
if (k < 0.0 || xt < 0.0 || mu < 0.0)
|
||||
error->all(FLERR, "Illegal linear tangential model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialLinearHistory::calculate_forces()
|
||||
{
|
||||
// Note: this is the same as the base Mindlin calculation except k isn't scaled by area
|
||||
double magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl, temp_array[3];
|
||||
int frame_update = 0;
|
||||
|
||||
damp = xt * gm->damping_model->damp_prefactor;
|
||||
|
||||
double Fscrit = gm->normal_model->Fncrit * mu;
|
||||
double *history = & gm->history[history_index];
|
||||
|
||||
// rotate and update displacements / force.
|
||||
// see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235
|
||||
if (gm->history_update) {
|
||||
rsht = dot3(history, gm->nx);
|
||||
frame_update = (fabs(rsht) * k) > (EPSILON * Fscrit);
|
||||
|
||||
if (frame_update) {
|
||||
shrmag = len3(history);
|
||||
|
||||
// projection
|
||||
scale3(rsht, gm->nx, temp_array);
|
||||
sub3(history, temp_array, history);
|
||||
|
||||
// also rescale to preserve magnitude
|
||||
prjmag = len3(history);
|
||||
if (prjmag > 0) temp_dbl = shrmag / prjmag;
|
||||
else temp_dbl = 0;
|
||||
scale3(temp_dbl, history);
|
||||
}
|
||||
|
||||
// update history, tangential force
|
||||
// see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46
|
||||
scale3(gm->dt, gm->vtr, temp_array);
|
||||
add3(history, temp_array, history);
|
||||
}
|
||||
|
||||
// tangential forces = history + tangential velocity damping
|
||||
scale3(-k, history, gm->fs);
|
||||
scale3(damp, gm->vtr, temp_array);
|
||||
sub3(gm->fs, temp_array, gm->fs);
|
||||
|
||||
// rescale frictional displacements and forces if needed
|
||||
magfs = len3(gm->fs);
|
||||
if (magfs > Fscrit) {
|
||||
shrmag = len3(history);
|
||||
if (shrmag != 0.0) {
|
||||
magfs_inv = 1.0 / magfs;
|
||||
scale3(Fscrit * magfs_inv, gm->fs, history);
|
||||
scale3(damp, gm->vtr, temp_array);
|
||||
add3(history, temp_array, history);
|
||||
scale3(-1.0 / k, history);
|
||||
scale3(Fscrit * magfs_inv, gm->fs);
|
||||
} else {
|
||||
zero3(gm->fs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Linear model with history from pair gran/hooke/history
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialLinearHistoryClassic::GranSubModTangentialLinearHistoryClassic(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialLinearHistory(gm, lmp)
|
||||
{
|
||||
area_flag = 1; // Sets gran/hooke/history behavior
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialLinearHistoryClassic::calculate_forces()
|
||||
{
|
||||
double magfs, magfs_inv, rsht, shrmag;
|
||||
double temp_array[3];
|
||||
|
||||
damp = xt * gm->damping_model->damp_prefactor;
|
||||
|
||||
double Fscrit = gm->normal_model->Fncrit * mu;
|
||||
double *history = & gm->history[history_index];
|
||||
|
||||
// update history
|
||||
if (gm->history_update) {
|
||||
scale3(gm->dt, gm->vtr, temp_array);
|
||||
add3(history, temp_array, history);
|
||||
}
|
||||
|
||||
shrmag = len3(history);
|
||||
|
||||
// rotate shear displacements
|
||||
if (gm->history_update) {
|
||||
rsht = dot3(history, gm->nx);
|
||||
scale3(rsht, gm->nx, temp_array);
|
||||
sub3(history, temp_array, history);
|
||||
}
|
||||
|
||||
// tangential forces = history + tangential velocity damping
|
||||
if (area_flag) scale3(-k * gm->area, history, gm->fs);
|
||||
else scale3(-k, history, gm->fs);
|
||||
scale3(damp, gm->vtr, temp_array);
|
||||
sub3(gm->fs, temp_array, gm->fs);
|
||||
|
||||
// rescale frictional displacements and forces if needed
|
||||
magfs = len3(gm->fs);
|
||||
if (magfs > Fscrit) {
|
||||
if (shrmag != 0.0) {
|
||||
magfs_inv = 1.0 / magfs;
|
||||
scale3(Fscrit * magfs_inv, gm->fs, history);
|
||||
scale3(damp, gm->vtr, temp_array);
|
||||
add3(history, temp_array, history);
|
||||
scale3(-1.0 / k, history);
|
||||
scale3(Fscrit * magfs_inv, gm->fs);
|
||||
} else {
|
||||
zero3(gm->fs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Mindlin from pair gran/hertz/history
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialMindlinClassic::GranSubModTangentialMindlinClassic(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialLinearHistoryClassic(gm, lmp)
|
||||
{
|
||||
area_flag = 1; // Sets gran/hertz/history behavior
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Mindlin model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialMindlin::GranSubModTangentialMindlin(GranularModel *gm, LAMMPS *lmp) : GranSubModTangential(gm, lmp)
|
||||
{
|
||||
num_coeffs = 3;
|
||||
size_history = 3;
|
||||
mindlin_force = 0;
|
||||
mindlin_rescale = 0;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialMindlin::coeffs_to_local()
|
||||
{
|
||||
k = coeffs[0];
|
||||
xt = coeffs[1];
|
||||
mu = coeffs[2];
|
||||
|
||||
if (k == -1) {
|
||||
if (!gm->normal_model->material_properties)
|
||||
error->all(FLERR, "Must either specify tangential stiffness or material properties for normal model for the Mindlin tangential style");
|
||||
|
||||
double Emod = gm->normal_model->Emod;
|
||||
double poiss = gm->normal_model->poiss;
|
||||
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = 8.0 * mix_stiffnessG(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = 8.0 * mix_stiffnessG_wall(Emod, poiss);
|
||||
}
|
||||
}
|
||||
|
||||
if (k < 0.0 || xt < 0.0 || mu < 0.0)
|
||||
error->all(FLERR, "Illegal Mindlin tangential model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialMindlin::mix_coeffs(double* icoeffs, double* jcoeffs)
|
||||
{
|
||||
if (icoeffs[0] == -1 || jcoeffs[0] == -1) coeffs[0] = -1;
|
||||
else coeffs[0] = mix_geom(icoeffs[0], jcoeffs[0]);
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTangentialMindlin::calculate_forces()
|
||||
{
|
||||
double k_scaled, magfs, magfs_inv, rsht, shrmag, prjmag, temp_dbl;
|
||||
double temp_array[3];
|
||||
int frame_update = 0;
|
||||
|
||||
damp = xt * gm->damping_model->damp_prefactor;
|
||||
|
||||
double *history = & gm->history[history_index];
|
||||
double Fscrit = gm->normal_model->Fncrit * mu;
|
||||
|
||||
k_scaled = k * gm->area;
|
||||
|
||||
// on unloading, rescale the shear displacements/force
|
||||
if (mindlin_rescale)
|
||||
if (gm->area < history[3])
|
||||
scale3(gm->area / history[3], history);
|
||||
|
||||
// rotate and update displacements / force.
|
||||
// see e.g. eq. 17 of Luding, Gran. Matter 2008, v10,p235
|
||||
if (gm->history_update) {
|
||||
rsht = dot3(history, gm->nx);
|
||||
if (mindlin_force) {
|
||||
frame_update = fabs(rsht) > (EPSILON * Fscrit);
|
||||
} else {
|
||||
frame_update = (fabs(rsht) * k_scaled) > (EPSILON * Fscrit);
|
||||
}
|
||||
|
||||
if (frame_update) {
|
||||
shrmag = len3(history);
|
||||
// projection
|
||||
scale3(rsht, gm->nx, temp_array);
|
||||
sub3(history, temp_array, history);
|
||||
// also rescale to preserve magnitude
|
||||
prjmag = len3(history);
|
||||
if (prjmag > 0) temp_dbl = shrmag / prjmag;
|
||||
else temp_dbl = 0;
|
||||
scale3(temp_dbl, history);
|
||||
}
|
||||
|
||||
// update history
|
||||
if (mindlin_force) {
|
||||
// tangential force
|
||||
// see e.g. eq. 18 of Thornton et al, Pow. Tech. 2013, v223,p30-46
|
||||
scale3(-k_scaled * gm->dt, gm->vtr, temp_array);
|
||||
} else {
|
||||
scale3(gm->dt, gm->vtr, temp_array);
|
||||
}
|
||||
add3(history, temp_array, history);
|
||||
|
||||
if (mindlin_rescale) history[3] = gm->area;
|
||||
}
|
||||
|
||||
// tangential forces = history + tangential velocity damping
|
||||
scale3(-damp, gm->vtr, gm->fs);
|
||||
|
||||
if (!mindlin_force) {
|
||||
scale3(k_scaled, history, temp_array);
|
||||
sub3(gm->fs, temp_array, gm->fs);
|
||||
} else {
|
||||
add3(gm->fs, history, gm->fs);
|
||||
}
|
||||
|
||||
// rescale frictional displacements and forces if needed
|
||||
magfs = len3(gm->fs);
|
||||
if (magfs > Fscrit) {
|
||||
shrmag = len3(history);
|
||||
if (shrmag != 0.0) {
|
||||
magfs_inv = 1.0 / magfs;
|
||||
scale3(Fscrit * magfs_inv, gm->fs, history);
|
||||
scale3(damp, gm->vtr, temp_array);
|
||||
add3(history, temp_array, history);
|
||||
|
||||
if (!mindlin_force)
|
||||
scale3(-1.0 / k_scaled, history);
|
||||
|
||||
scale3(Fscrit * magfs_inv, gm->fs);
|
||||
} else {
|
||||
zero3(gm->fs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Mindlin force model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialMindlinForce::GranSubModTangentialMindlinForce(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialMindlin(gm, lmp)
|
||||
{
|
||||
mindlin_force = 1;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Mindlin rescale model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialMindlinRescale::GranSubModTangentialMindlinRescale(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialMindlin(gm, lmp)
|
||||
{
|
||||
size_history = 4;
|
||||
mindlin_rescale = 1;
|
||||
|
||||
nondefault_history_transfer = 1;
|
||||
transfer_history_factor = new double[size_history];
|
||||
for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0;
|
||||
transfer_history_factor[3] = +1;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Mindlin rescale force model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTangentialMindlinRescaleForce::GranSubModTangentialMindlinRescaleForce(GranularModel *gm, LAMMPS *lmp) : GranSubModTangentialMindlin(gm, lmp)
|
||||
{
|
||||
size_history = 4;
|
||||
mindlin_force = 1;
|
||||
mindlin_rescale = 1;
|
||||
|
||||
nondefault_history_transfer = 1;
|
||||
transfer_history_factor = new double[size_history];
|
||||
for (int i = 0; i < size_history; i++) transfer_history_factor[i] = -1.0;
|
||||
transfer_history_factor[3] = +1;
|
||||
}
|
||||
153
src/GRANULAR/gran_sub_mod_tangential.h
Normal file
153
src/GRANULAR/gran_sub_mod_tangential.h
Normal file
@ -0,0 +1,153 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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 GRAN_SUB_MOD_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(none,
|
||||
GranSubModTangentialNone,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(linear_nohistory,
|
||||
GranSubModTangentialLinearNoHistory,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(linear_history,
|
||||
GranSubModTangentialLinearHistory,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(linear_history_classic,
|
||||
GranSubModTangentialLinearHistoryClassic,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(mindlin_classic,
|
||||
GranSubModTangentialMindlinClassic,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(mindlin,
|
||||
GranSubModTangentialMindlin,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(mindlin/force,
|
||||
GranSubModTangentialMindlinForce,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(mindlin_rescale,
|
||||
GranSubModTangentialMindlinRescale,
|
||||
TANGENTIAL);
|
||||
|
||||
GranSubModStyle(mindlin_rescale/force,
|
||||
GranSubModTangentialMindlinRescaleForce,
|
||||
TANGENTIAL);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_TANGENTIAL_H
|
||||
#define GRAN_SUB_MOD_TANGENTIAL_H
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModTangential : public GranSubMod {
|
||||
public:
|
||||
GranSubModTangential(class GranularModel *, class LAMMPS *);
|
||||
virtual ~GranSubModTangential() {};
|
||||
virtual void calculate_forces() = 0;
|
||||
double k, damp, mu; // Used by Marshall twisting model
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialNone : public GranSubModTangential {
|
||||
public:
|
||||
GranSubModTangentialNone(class GranularModel *, class LAMMPS *);
|
||||
void calculate_forces() {};
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialLinearNoHistory : public GranSubModTangential {
|
||||
public:
|
||||
GranSubModTangentialLinearNoHistory(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void calculate_forces();
|
||||
protected:
|
||||
double xt;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialLinearHistory : public GranSubModTangential {
|
||||
public:
|
||||
GranSubModTangentialLinearHistory(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void calculate_forces();
|
||||
protected:
|
||||
double xt;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialLinearHistoryClassic : public GranSubModTangentialLinearHistory {
|
||||
public:
|
||||
GranSubModTangentialLinearHistoryClassic(class GranularModel *, class LAMMPS *);
|
||||
void calculate_forces();
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialMindlinClassic : public GranSubModTangentialLinearHistoryClassic {
|
||||
public:
|
||||
GranSubModTangentialMindlinClassic(class GranularModel *, class LAMMPS *);
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialMindlin : public GranSubModTangential {
|
||||
public:
|
||||
GranSubModTangentialMindlin(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void mix_coeffs(double*, double*) override;
|
||||
void calculate_forces();
|
||||
protected:
|
||||
int mindlin_rescale, mindlin_force;
|
||||
double xt;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialMindlinForce : public GranSubModTangentialMindlin {
|
||||
public:
|
||||
GranSubModTangentialMindlinForce(class GranularModel *, class LAMMPS *);
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialMindlinRescale : public GranSubModTangentialMindlin {
|
||||
public:
|
||||
GranSubModTangentialMindlinRescale(class GranularModel *, class LAMMPS *);
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTangentialMindlinRescaleForce : public GranSubModTangentialMindlin {
|
||||
public:
|
||||
GranSubModTangentialMindlinRescaleForce(class GranularModel *, class LAMMPS *);
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_TANGENTIAL_H */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H */
|
||||
126
src/GRANULAR/gran_sub_mod_twisting.cpp
Normal file
126
src/GRANULAR/gran_sub_mod_twisting.cpp
Normal file
@ -0,0 +1,126 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "gran_sub_mod_normal.h"
|
||||
#include "gran_sub_mod_tangential.h"
|
||||
#include "gran_sub_mod_twisting.h"
|
||||
#include "granular_model.h"
|
||||
#include "error.h"
|
||||
#include "math_const.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathConst;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Default twisting model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTwisting::GranSubModTwisting(GranularModel *gm, LAMMPS *lmp) : GranSubMod(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
No model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTwistingNone::GranSubModTwistingNone(GranularModel *gm, LAMMPS *lmp) : GranSubModTwisting(gm, lmp) {}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Marshall twisting model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTwistingMarshall::GranSubModTwistingMarshall(GranularModel *gm, LAMMPS *lmp) : GranSubModTwisting(gm, lmp)
|
||||
{
|
||||
num_coeffs = 0;
|
||||
size_history = 3;
|
||||
area_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
|
||||
void GranSubModTwistingMarshall::init()
|
||||
{
|
||||
k_tang = gm->tangential_model->k;
|
||||
mu_tang = gm->tangential_model->mu;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTwistingMarshall::calculate_forces()
|
||||
{
|
||||
double signtwist, Mtcrit;
|
||||
|
||||
// Calculate twist coefficients from tangential model & contact geometry
|
||||
// eq 32 of Marshall paper
|
||||
double k = 0.5 * k_tang * gm->area * gm->area;
|
||||
double damp = 0.5 * gm->tangential_model->damp * gm->area * gm->area;
|
||||
double mu = TWOTHIRDS * mu_tang * gm->area;
|
||||
|
||||
if (gm->history_update) {
|
||||
gm->history[history_index] += gm->magtwist * gm->dt;
|
||||
}
|
||||
|
||||
// M_t torque (eq 30)
|
||||
gm->magtortwist = -k * gm->history[history_index] - damp * gm->magtwist;
|
||||
signtwist = (gm->magtwist > 0) - (gm->magtwist < 0);
|
||||
Mtcrit = mu * gm->normal_model->Fncrit; // critical torque (eq 44)
|
||||
|
||||
if (fabs(gm->magtortwist) > Mtcrit) {
|
||||
gm->history[history_index] = (Mtcrit * signtwist - damp * gm->magtwist) / k;
|
||||
gm->magtortwist = -Mtcrit * signtwist; // eq 34
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
SDS twisting model
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
GranSubModTwistingSDS::GranSubModTwistingSDS(GranularModel *gm, LAMMPS *lmp) : GranSubModTwisting(gm, lmp)
|
||||
{
|
||||
num_coeffs = 3;
|
||||
size_history = 3;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTwistingSDS::coeffs_to_local()
|
||||
{
|
||||
k = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
mu = coeffs[2];
|
||||
|
||||
if (k < 0.0 || mu < 0.0 || damp < 0.0)
|
||||
error->all(FLERR, "Illegal SDS twisting model");
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranSubModTwistingSDS::calculate_forces()
|
||||
{
|
||||
double signtwist, Mtcrit;
|
||||
|
||||
if (gm->history_update) {
|
||||
gm->history[history_index] += gm->magtwist * gm->dt;
|
||||
}
|
||||
|
||||
// M_t torque (eq 30)
|
||||
gm->magtortwist = -k * gm->history[history_index] - damp * gm->magtwist;
|
||||
signtwist = (gm->magtwist > 0) - (gm->magtwist < 0);
|
||||
Mtcrit = mu * gm->normal_model->Fncrit; // critical torque (eq 44)
|
||||
|
||||
if (fabs(gm->magtortwist) > Mtcrit) {
|
||||
gm->history[history_index] = (Mtcrit * signtwist - damp * gm->magtwist) / k;
|
||||
gm->magtortwist = -Mtcrit * signtwist; // eq 34
|
||||
}
|
||||
}
|
||||
79
src/GRANULAR/gran_sub_mod_twisting.h
Normal file
79
src/GRANULAR/gran_sub_mod_twisting.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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 GRAN_SUB_MOD_CLASS
|
||||
// clang-format off
|
||||
GranSubModStyle(none,
|
||||
GranSubModTwistingNone,
|
||||
TWISTING);
|
||||
|
||||
GranSubModStyle(marshall,
|
||||
GranSubModTwistingMarshall,
|
||||
TWISTING);
|
||||
|
||||
GranSubModStyle(sds,
|
||||
GranSubModTwistingSDS,
|
||||
TWISTING);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef GRAN_SUB_MOD_TWISTING_H
|
||||
#define GRAN_SUB_MOD_TWISTING_H
|
||||
|
||||
#include "gran_sub_mod.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModTwisting : public GranSubMod {
|
||||
public:
|
||||
GranSubModTwisting(class GranularModel *, class LAMMPS *);
|
||||
virtual ~GranSubModTwisting() {};
|
||||
virtual void calculate_forces() = 0;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTwistingNone : public GranSubModTwisting {
|
||||
public:
|
||||
GranSubModTwistingNone(class GranularModel *, class LAMMPS *);
|
||||
void calculate_forces() {};
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTwistingMarshall : public GranSubModTwisting {
|
||||
public:
|
||||
GranSubModTwistingMarshall(class GranularModel *, class LAMMPS *);
|
||||
void init() override;
|
||||
void calculate_forces();
|
||||
protected:
|
||||
double k_tang, mu_tang;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
class GranSubModTwistingSDS : public GranSubModTwisting {
|
||||
public:
|
||||
GranSubModTwistingSDS(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void calculate_forces();
|
||||
protected:
|
||||
double k, mu, damp;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif /*GRAN_SUB_MOD_TWISTING_H */
|
||||
#endif /*GRAN_SUB_MOD_CLASS_H */
|
||||
496
src/GRANULAR/granular_model.cpp
Normal file
496
src/GRANULAR/granular_model.cpp
Normal file
@ -0,0 +1,496 @@
|
||||
// clang-format off
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
This class contains a series of tools for DEM contacts
|
||||
Multiple models can be defined and used to calculate forces
|
||||
and torques based on contact geometry
|
||||
|
||||
Contributing authors:
|
||||
Dan Bolintineanu (SNL), Joel Clemmer (SNL)
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
#include "granular_model.h"
|
||||
#include "gran_sub_mod.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "math_extra.h"
|
||||
#include "style_gran_sub_mod.h" // IWYU pragma: keep
|
||||
|
||||
#include <cmath>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace Granular_NS;
|
||||
using namespace MathExtra;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
one instance per GranSubMod style in style_gran_sub_mod.h
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
template <typename T> static GranSubMod *gran_sub_mod_creator(GranularModel *gm, LAMMPS *lmp)
|
||||
{
|
||||
return new T(gm, lmp);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
GranularModel::GranularModel(LAMMPS *lmp) : Pointers(lmp)
|
||||
{
|
||||
limit_damping = 0;
|
||||
beyond_contact = 0;
|
||||
nondefault_history_transfer = 0;
|
||||
classic_model = 0;
|
||||
contact_type = PAIR;
|
||||
|
||||
normal_model = nullptr;
|
||||
damping_model = nullptr;
|
||||
tangential_model = nullptr;
|
||||
rolling_model = nullptr;
|
||||
twisting_model = nullptr;
|
||||
heat_model = nullptr;
|
||||
|
||||
for (int i = 0; i < NSUBMODELS; i++) sub_models[i] = nullptr;
|
||||
transfer_history_factor = nullptr;
|
||||
|
||||
// extract info from GranSubMod classes listed in style_gran_sub_mod.h
|
||||
|
||||
nclass = 0;
|
||||
|
||||
#define GRAN_SUB_MOD_CLASS
|
||||
#define GranSubModStyle(key,Class,type) nclass++;
|
||||
#include "style_gran_sub_mod.h" // IWYU pragma: keep
|
||||
#undef GranSubModStyle
|
||||
#undef GRAN_SUB_MOD_CLASS
|
||||
|
||||
gran_sub_mod_class = new GranSubModCreator[nclass];
|
||||
gran_sub_mod_names = new char*[nclass];
|
||||
gran_sub_mod_types = new int[nclass];
|
||||
nclass = 0;
|
||||
|
||||
#define GRAN_SUB_MOD_CLASS
|
||||
#define GranSubModStyle(key,Class,type) \
|
||||
gran_sub_mod_class[nclass] = &gran_sub_mod_creator<Class>; \
|
||||
gran_sub_mod_names[nclass] = (char *) #key; \
|
||||
gran_sub_mod_types[nclass++] = type;
|
||||
#include "style_gran_sub_mod.h" // IWYU pragma: keep
|
||||
#undef GranSubModStyle
|
||||
#undef GRAN_SUB_MOD_CLASS
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
GranularModel::~GranularModel()
|
||||
{
|
||||
delete [] transfer_history_factor;
|
||||
delete [] gran_sub_mod_class;
|
||||
delete [] gran_sub_mod_names;
|
||||
delete [] gran_sub_mod_types;
|
||||
|
||||
for (int i = 0; i < NSUBMODELS; i ++) delete sub_models[i];
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int GranularModel::add_sub_model(char **arg, int iarg, int narg, SubModelType model_type)
|
||||
{
|
||||
if (iarg >= narg)
|
||||
error->all(FLERR, "Must specify granular sub model name");
|
||||
|
||||
std::string model_name = std::string(arg[iarg++]);
|
||||
construct_sub_model(model_name, model_type);
|
||||
|
||||
int num_coeffs = sub_models[model_type]->num_coeffs;
|
||||
if (iarg + num_coeffs > narg)
|
||||
error->all(FLERR, "Insufficient arguments provided for {} model", model_name);
|
||||
|
||||
for (int i = 0; i < num_coeffs; i++) {
|
||||
// A few parameters (e.g. kt for tangential mindlin) allow null
|
||||
if (strcmp(arg[iarg + i], "NULL") == 0) sub_models[model_type]->coeffs[i] = -1;
|
||||
else sub_models[model_type]->coeffs[i] = utils::numeric(FLERR,arg[iarg + i],false,lmp);
|
||||
}
|
||||
|
||||
sub_models[model_type]->coeffs_to_local();
|
||||
|
||||
return iarg + num_coeffs;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranularModel::construct_sub_model(std::string model_name, SubModelType model_type)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < nclass; i++) {
|
||||
if (gran_sub_mod_types[i] == model_type) {
|
||||
if (strcmp(gran_sub_mod_names[i], model_name.c_str()) == 0) {
|
||||
GranSubModCreator &gran_sub_mod_creator = gran_sub_mod_class[i];
|
||||
delete sub_models[model_type];
|
||||
sub_models[model_type] = gran_sub_mod_creator(this, lmp);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (i == nclass)
|
||||
error->all(FLERR, "Illegal model type {}", model_name);
|
||||
|
||||
sub_models[model_type]->name.assign(model_name);
|
||||
sub_models[model_type]->allocate_coeffs();
|
||||
|
||||
// Assign specific sub model pointer
|
||||
if (model_type == NORMAL) normal_model = dynamic_cast<GranSubModNormal *> (sub_models[model_type]);
|
||||
if (model_type == DAMPING) damping_model = dynamic_cast<GranSubModDamping *> (sub_models[model_type]);
|
||||
if (model_type == TANGENTIAL) tangential_model = dynamic_cast<GranSubModTangential *> (sub_models[model_type]);
|
||||
if (model_type == ROLLING) rolling_model = dynamic_cast<GranSubModRolling *> (sub_models[model_type]);
|
||||
if (model_type == TWISTING) twisting_model = dynamic_cast<GranSubModTwisting *> (sub_models[model_type]);
|
||||
if (model_type == HEAT) heat_model = dynamic_cast<GranSubModHeat *> (sub_models[model_type]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int GranularModel::define_classic_model(char **arg, int iarg, int narg)
|
||||
{
|
||||
double kn, kt, gamman, gammat, xmu;
|
||||
|
||||
classic_model = 1;
|
||||
|
||||
if (iarg + 6 >= narg)
|
||||
error->all(FLERR,"Insufficient arguments provided for classic gran model command");
|
||||
|
||||
kn = utils::numeric(FLERR,arg[iarg + 1],false,lmp);
|
||||
if (strcmp(arg[iarg + 2],"NULL") == 0) kt = kn * 2.0 / 7.0;
|
||||
else kt = utils::numeric(FLERR,arg[iarg + 2],false,lmp);
|
||||
|
||||
gamman = utils::numeric(FLERR,arg[iarg + 3],false,lmp);
|
||||
if (strcmp(arg[iarg + 4],"NULL") == 0) gammat = 0.5 * gamman;
|
||||
else gammat = utils::numeric(FLERR,arg[iarg + 4],false,lmp);
|
||||
|
||||
xmu = utils::numeric(FLERR,arg[iarg + 5],false,lmp);
|
||||
int dampflag = utils::inumeric(FLERR,arg[iarg + 6],false,lmp);
|
||||
if (dampflag == 0) gammat = 0.0;
|
||||
|
||||
if (kn < 0.0 || kt < 0.0 || gamman < 0.0 || gammat < 0.0 ||
|
||||
xmu < 0.0 || xmu > 10000.0 || dampflag < 0 || dampflag > 1)
|
||||
error->all(FLERR,"Illegal classic gran model command");
|
||||
|
||||
if (strcmp(arg[iarg],"hooke") == 0) {
|
||||
construct_sub_model("hooke", NORMAL);
|
||||
construct_sub_model("linear_nohistory", TANGENTIAL);
|
||||
construct_sub_model("mass_velocity", DAMPING);
|
||||
} else if (strcmp(arg[iarg],"hooke/history") == 0) {
|
||||
construct_sub_model("hooke", NORMAL);
|
||||
construct_sub_model("linear_history_classic", TANGENTIAL);
|
||||
construct_sub_model("mass_velocity", DAMPING);
|
||||
} else if (strcmp(arg[iarg],"hertz/history") == 0) {
|
||||
// convert Kn and Kt from pressure units to force/distance^2 if Hertzian
|
||||
kn /= force->nktv2p;
|
||||
kt /= force->nktv2p;
|
||||
construct_sub_model("hertz", NORMAL);
|
||||
construct_sub_model("mindlin_classic", TANGENTIAL);
|
||||
construct_sub_model("viscoelastic", DAMPING);
|
||||
} else error->all(FLERR,"Invalid classic gran model");
|
||||
|
||||
// ensure additional models are undefined
|
||||
construct_sub_model("none", ROLLING);
|
||||
construct_sub_model("none", TWISTING);
|
||||
construct_sub_model("none", HEAT);
|
||||
|
||||
// manually parse coeffs
|
||||
normal_model->coeffs[0] = kn;
|
||||
normal_model->coeffs[1] = gamman;
|
||||
tangential_model->coeffs[0] = kt;
|
||||
tangential_model->coeffs[1] = gammat / gamman;
|
||||
tangential_model->coeffs[2] = xmu;
|
||||
|
||||
normal_model->coeffs_to_local();
|
||||
tangential_model->coeffs_to_local();
|
||||
damping_model->coeffs_to_local();
|
||||
|
||||
iarg += 7;
|
||||
return iarg;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranularModel::init()
|
||||
{
|
||||
for (int i = 0; i < NSUBMODELS; i++)
|
||||
if (!sub_models[i]) construct_sub_model("none", (SubModelType) i);
|
||||
|
||||
// Must have valid normal, damping, and tangential models
|
||||
if (normal_model->name == "none") error->all(FLERR, "Must specify normal granular model");
|
||||
if (damping_model->name == "none") error->all(FLERR, "Must specify damping granular model");
|
||||
if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential granular model");
|
||||
|
||||
// Twisting, rolling, and heat are optional
|
||||
twisting_defined = rolling_defined = heat_defined = 1;
|
||||
if (twisting_model->name == "none") twisting_defined = 0;
|
||||
if (rolling_model->name == "none") rolling_defined = 0;
|
||||
if (heat_model->name == "none") heat_defined = 0;
|
||||
|
||||
int size_cumulative;
|
||||
size_history = 0;
|
||||
area_flag = 0;
|
||||
for (int i = 0; i < NSUBMODELS; i++) {
|
||||
if (sub_models[i]->nondefault_history_transfer)
|
||||
nondefault_history_transfer = 1;
|
||||
if (sub_models[i]->beyond_contact)
|
||||
beyond_contact = 1;
|
||||
size_history += sub_models[i]->size_history;
|
||||
if (!sub_models[i]->allow_cohesion && normal_model->cohesive_flag)
|
||||
error->all(FLERR,"Cannot use {} model with a cohesive normal model, {}",
|
||||
sub_models[i]->name, normal_model->name);
|
||||
if (sub_models[i]->area_flag) area_flag = 1;
|
||||
}
|
||||
|
||||
if (limit_damping && normal_model->cohesive_flag)
|
||||
error->all(FLERR,"Cannot limit damping with a cohesive normal model, {}", normal_model->name);
|
||||
|
||||
if (nondefault_history_transfer) {
|
||||
transfer_history_factor = new double[size_history];
|
||||
|
||||
int j;
|
||||
for (int i = 0; i < size_history; i++) {
|
||||
// Find which sub model owns this history value
|
||||
size_cumulative = 0;
|
||||
for (j = 0; j < NSUBMODELS; j++) {
|
||||
if ((size_cumulative + sub_models[j]->size_history) > i) break;
|
||||
size_cumulative += sub_models[j]->size_history;
|
||||
}
|
||||
|
||||
// Check if sub model has nondefault transfers, if so copy its array
|
||||
transfer_history_factor[i] = -1;
|
||||
if (j != NSUBMODELS) {
|
||||
if (sub_models[j]->nondefault_history_transfer) {
|
||||
transfer_history_factor[i] = sub_models[j]->transfer_history_factor[i - size_cumulative];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < NSUBMODELS; i++) sub_models[i]->init();
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
int GranularModel::mix_coeffs(GranularModel *g1, GranularModel *g2)
|
||||
{
|
||||
for (int i = 0; i < NSUBMODELS; i++) {
|
||||
if (g1->sub_models[i]->name != g2->sub_models[i]->name) return i;
|
||||
|
||||
construct_sub_model(g1->sub_models[i]->name, (SubModelType) i);
|
||||
sub_models[i]->mix_coeffs(g1->sub_models[i]->coeffs, g2->sub_models[i]->coeffs);
|
||||
}
|
||||
|
||||
limit_damping = MAX(g1->limit_damping, g2->limit_damping);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranularModel::write_restart(FILE *fp)
|
||||
{
|
||||
int num_char, num_coeffs;
|
||||
|
||||
for (int i = 0; i < NSUBMODELS; i++) {
|
||||
num_char = sub_models[i]->name.length();
|
||||
num_coeffs = sub_models[i]->num_coeffs;
|
||||
fwrite(&num_char, sizeof(int), 1, fp);
|
||||
fwrite(sub_models[i]->name.data(), sizeof(char), num_char, fp);
|
||||
fwrite(&num_coeffs, sizeof(int), 1, fp);
|
||||
fwrite(sub_models[i]->coeffs, sizeof(double), num_coeffs, fp);
|
||||
}
|
||||
|
||||
fwrite(&limit_damping, sizeof(int), 1, fp);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranularModel::read_restart(FILE *fp)
|
||||
{
|
||||
int num_char, num_coeff;
|
||||
|
||||
for (int i = 0; i < NSUBMODELS; i++) {
|
||||
if (comm->me == 0)
|
||||
utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error);
|
||||
MPI_Bcast(&num_char, 1, MPI_INT, 0, world);
|
||||
|
||||
std::string model_name (num_char, ' ');
|
||||
if (comm->me == 0)
|
||||
utils::sfread(FLERR, const_cast<char*>(model_name.data()), sizeof(char),num_char, fp, nullptr, error);
|
||||
MPI_Bcast(const_cast<char*>(model_name.data()), num_char, MPI_CHAR, 0, world);
|
||||
construct_sub_model(model_name, (SubModelType) i);
|
||||
|
||||
if (comm->me == 0)
|
||||
utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error);
|
||||
MPI_Bcast(&num_coeff, 1, MPI_INT, 0, world);
|
||||
if (num_coeff != sub_models[i]->num_coeffs)
|
||||
error->all(FLERR, "Invalid granular model written to restart file");
|
||||
|
||||
if (comm->me == 0)
|
||||
utils::sfread(FLERR, sub_models[i]->coeffs, sizeof(double), num_coeff, fp, nullptr, error);
|
||||
MPI_Bcast(sub_models[i]->coeffs, num_coeff, MPI_DOUBLE, 0, world);
|
||||
sub_models[i]->coeffs_to_local();
|
||||
}
|
||||
|
||||
if (comm->me == 0)
|
||||
utils::sfread(FLERR, &limit_damping, sizeof(int), 1, fp, nullptr, error);
|
||||
MPI_Bcast(&limit_damping, 1, MPI_INT, 0, world);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
bool GranularModel::check_contact()
|
||||
{
|
||||
if (contact_type == WALL) {
|
||||
// Used by fix_wall_gran.cpp
|
||||
// radj = radius of wall
|
||||
// dx already provided
|
||||
rsq = lensq3(dx);
|
||||
radsum = radi;
|
||||
if (radj == 0) Reff = radi;
|
||||
else Reff = radi * radj / (radi + radj);
|
||||
} else if (contact_type == WALLREGION) {
|
||||
// Used by fix_wall_gran_region.cpp
|
||||
// radj = radius of wall
|
||||
// dx and r already provided
|
||||
rsq = r * r;
|
||||
radsum = radi;
|
||||
if (radj == 0) Reff = radi;
|
||||
else Reff = radi * radj / (radi + radj);
|
||||
} else {
|
||||
sub3(xi, xj, dx);
|
||||
rsq = lensq3(dx);
|
||||
radsum = radi + radj;
|
||||
Reff = radi * radj / radsum;
|
||||
}
|
||||
|
||||
touch = normal_model->touch();
|
||||
return touch;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void GranularModel::calculate_forces()
|
||||
{
|
||||
// Standard geometric quantities
|
||||
|
||||
if (contact_type != WALLREGION) r = sqrt(rsq);
|
||||
rinv = 1.0 / r;
|
||||
delta = radsum - r;
|
||||
dR = delta * Reff;
|
||||
scale3(rinv, dx, nx);
|
||||
|
||||
// relative translational velocity
|
||||
sub3(vi, vj, vr);
|
||||
|
||||
// normal component
|
||||
vnnr = dot3(vr, nx);
|
||||
scale3(vnnr, nx, vn);
|
||||
|
||||
// tangential component
|
||||
sub3(vr, vn, vt);
|
||||
|
||||
// relative rotational velocity
|
||||
scaleadd3(radi, omegai, radj, omegaj, wr);
|
||||
|
||||
// relative tangential velocities
|
||||
double temp[3];
|
||||
cross3(wr, nx, temp);
|
||||
sub3(vt, temp, vtr);
|
||||
vrel = len3(vtr);
|
||||
|
||||
// calculate forces/torques
|
||||
double Fdamp, dist_to_contact;
|
||||
if (area_flag)
|
||||
area = normal_model->calculate_area();
|
||||
Fnormal = normal_model->calculate_forces();
|
||||
|
||||
Fdamp = damping_model->calculate_forces();
|
||||
Fntot = Fnormal + Fdamp;
|
||||
if (limit_damping && Fntot < 0.0) Fntot = 0.0;
|
||||
|
||||
normal_model->set_fncrit(); // Needed for tangential, rolling, twisting
|
||||
tangential_model->calculate_forces();
|
||||
|
||||
// sum normal + tangential contributions
|
||||
|
||||
scale3(Fntot, nx, forces);
|
||||
add3(forces, fs, forces);
|
||||
|
||||
// May need to eventually rethink tris..
|
||||
cross3(nx, fs, torquesi);
|
||||
scale3(-1, torquesi);
|
||||
|
||||
if (contact_type == PAIR) {
|
||||
copy3(torquesi, torquesj);
|
||||
|
||||
// Classic pair styles don't scale, but classic option is currently only used by walls
|
||||
dist_to_contact = radi - 0.5 * delta;
|
||||
scale3(dist_to_contact, torquesi);
|
||||
dist_to_contact = radj - 0.5 * delta;
|
||||
scale3(dist_to_contact, torquesj);
|
||||
} else {
|
||||
scale3(radi, torquesi);
|
||||
}
|
||||
|
||||
// Extra modes
|
||||
|
||||
if (rolling_defined || twisting_defined)
|
||||
sub3(omegai, omegaj, relrot);
|
||||
|
||||
if (rolling_defined) {
|
||||
// rolling velocity, see eq. 31 of Wang et al, Particuology v 23, p 49 (2015)
|
||||
// this is different from the Marshall papers, which use the Bagi/Kuhn formulation
|
||||
// for rolling velocity (see Wang et al for why the latter is wrong)
|
||||
vrl[0] = Reff * (relrot[1] * nx[2] - relrot[2] * nx[1]);
|
||||
vrl[1] = Reff * (relrot[2] * nx[0] - relrot[0] * nx[2]);
|
||||
vrl[2] = Reff * (relrot[0] * nx[1] - relrot[1] * nx[0]);
|
||||
|
||||
rolling_model->calculate_forces();
|
||||
|
||||
double torroll[3];
|
||||
cross3(nx, fr, torroll);
|
||||
scale3(Reff, torroll);
|
||||
add3(torquesi, torroll, torquesi);
|
||||
if (contact_type == PAIR) sub3(torquesj, torroll, torquesj);
|
||||
}
|
||||
|
||||
if (twisting_defined) {
|
||||
// omega_T (eq 29 of Marshall)
|
||||
magtwist = dot3(relrot, nx);
|
||||
|
||||
twisting_model->calculate_forces();
|
||||
|
||||
double tortwist[3];
|
||||
scale3(magtortwist, nx, tortwist);
|
||||
add3(torquesi, tortwist, torquesi);
|
||||
if (contact_type == PAIR) sub3(torquesj, tortwist, torquesj);
|
||||
}
|
||||
|
||||
if (heat_defined) {
|
||||
dq = heat_model->calculate_heat();
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
compute pull-off distance (beyond contact) for a given radius and atom type
|
||||
use temporary variables since this does not use a specific contact geometry
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double GranularModel::pulloff_distance(double radi, double radj)
|
||||
{
|
||||
return normal_model->pulloff_distance(radi, radj);
|
||||
}
|
||||
112
src/GRANULAR/granular_model.h
Normal file
112
src/GRANULAR/granular_model.h
Normal file
@ -0,0 +1,112 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_GRANULAR_MODEL_H
|
||||
#define LMP_GRANULAR_MODEL_H
|
||||
|
||||
#include "pointers.h" // IWYU pragma: export
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
enum SubModelType {
|
||||
NORMAL = 0,
|
||||
DAMPING,
|
||||
TANGENTIAL,
|
||||
ROLLING,
|
||||
TWISTING,
|
||||
HEAT,
|
||||
NSUBMODELS
|
||||
};
|
||||
|
||||
enum ContactType {
|
||||
PAIR = 0,
|
||||
WALL = 1,
|
||||
WALLREGION = 2
|
||||
};
|
||||
|
||||
// forward declarations
|
||||
class GranSubMod;
|
||||
class GranSubModNormal;
|
||||
class GranSubModDamping;
|
||||
class GranSubModTangential;
|
||||
class GranSubModRolling;
|
||||
class GranSubModTwisting;
|
||||
class GranSubModHeat;
|
||||
|
||||
class GranularModel : protected Pointers {
|
||||
public:
|
||||
GranularModel(class LAMMPS *);
|
||||
~GranularModel();
|
||||
void init();
|
||||
bool check_contact();
|
||||
void calculate_forces();
|
||||
double pulloff_distance(double, double);
|
||||
|
||||
int add_sub_model(char **, int, int, SubModelType);
|
||||
int define_classic_model(char **, int, int);
|
||||
void construct_sub_model(std::string, SubModelType);
|
||||
int mix_coeffs(GranularModel*, GranularModel*);
|
||||
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
|
||||
// Sub models
|
||||
GranSubModNormal *normal_model;
|
||||
GranSubModDamping *damping_model;
|
||||
GranSubModTangential *tangential_model;
|
||||
GranSubModRolling *rolling_model;
|
||||
GranSubModTwisting *twisting_model;
|
||||
GranSubModHeat *heat_model;
|
||||
GranSubMod *sub_models[NSUBMODELS];
|
||||
|
||||
// Extra options
|
||||
int beyond_contact, limit_damping, history_update;
|
||||
ContactType contact_type;
|
||||
|
||||
// History variables
|
||||
int size_history, nondefault_history_transfer;
|
||||
double *transfer_history_factor;
|
||||
double *history;
|
||||
|
||||
// Contact properties/output
|
||||
double Fnormal, forces[3], torquesi[3], torquesj[3], dq;
|
||||
|
||||
double radi, radj, meff, dt, Ti, Tj, area;
|
||||
double Fntot, magtortwist;
|
||||
|
||||
double *xi, *xj, *vi, *vj, *omegai, *omegaj;
|
||||
double fs[3], fr[3], ft[3];
|
||||
|
||||
double dx[3], nx[3], r, rsq, rinv, Reff, radsum, delta, dR;
|
||||
double vr[3], vn[3], vnnr, vt[3], wr[3], vtr[3], vrl[3], relrot[3], vrel;
|
||||
double magtwist;
|
||||
bool touch;
|
||||
|
||||
protected:
|
||||
int rolling_defined, twisting_defined, heat_defined; // Flag optional sub models
|
||||
int classic_model; // Flag original pair/gran calculations
|
||||
int area_flag; // Flag whether area is needed
|
||||
|
||||
int nclass;
|
||||
|
||||
typedef class GranSubMod *(*GranSubModCreator)(class GranularModel *, class LAMMPS *);
|
||||
GranSubModCreator *gran_sub_mod_class;
|
||||
char **gran_sub_mod_names;
|
||||
int *gran_sub_mod_types;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@ -21,9 +21,14 @@ PairStyle(granular,PairGranular);
|
||||
#define LMP_PAIR_GRANULAR_H
|
||||
|
||||
#include "pair.h"
|
||||
#include <vector>
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
namespace Granular_NS {
|
||||
class GranularModel;
|
||||
}
|
||||
|
||||
class PairGranular : public Pair {
|
||||
public:
|
||||
PairGranular(class LAMMPS *);
|
||||
@ -44,7 +49,6 @@ class PairGranular : public Pair {
|
||||
double radii2cut(double, double) override;
|
||||
|
||||
protected:
|
||||
double dt;
|
||||
int freeze_group_bit;
|
||||
int use_history;
|
||||
|
||||
@ -63,43 +67,21 @@ class PairGranular : public Pair {
|
||||
int nmax; // allocated size of mass_rigid
|
||||
|
||||
void allocate();
|
||||
void transfer_history(double *, double *) override;
|
||||
void transfer_history(double *, double *, int, int) override;
|
||||
void prune_models();
|
||||
|
||||
private:
|
||||
int size_history;
|
||||
int *history_transfer_factors;
|
||||
int heat_flag;
|
||||
|
||||
// model choices
|
||||
int **normal_model, **damping_model;
|
||||
int **tangential_model, **roll_model, **twist_model;
|
||||
int **limit_damping;
|
||||
|
||||
// history flags
|
||||
int normal_history, tangential_history, roll_history, twist_history;
|
||||
|
||||
// indices of history entries
|
||||
int normal_history_index;
|
||||
int tangential_history_index;
|
||||
int roll_history_index;
|
||||
int twist_history_index;
|
||||
|
||||
// per-type material coefficients
|
||||
double **Emod, **poiss, **Gmod;
|
||||
|
||||
// per-type coefficients, set in pair coeff command
|
||||
double ***normal_coeffs;
|
||||
double ***tangential_coeffs;
|
||||
double ***roll_coeffs;
|
||||
double ***twist_coeffs;
|
||||
// granular models
|
||||
int nmodels, maxmodels;
|
||||
class Granular_NS::GranularModel** models_list;
|
||||
int **types_indices;
|
||||
|
||||
// optional user-specified global cutoff, per-type user-specified cutoffs
|
||||
double **cutoff_type;
|
||||
double cutoff_global;
|
||||
|
||||
double mix_stiffnessE(double, double, double, double);
|
||||
double mix_stiffnessG(double, double, double, double);
|
||||
double mix_geom(double, double);
|
||||
double pulloff_distance(double, double, int, int);
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
@ -514,7 +514,7 @@ double PairTracker::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, d
|
||||
only needed if any history entries i-j are not just negative of j-i entries
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairTracker::transfer_history(double *source, double *target)
|
||||
void PairTracker::transfer_history(double *source, double *target, int itype, int jtype)
|
||||
{
|
||||
for (int i = 0; i < size_history; i++) target[i] = source[i];
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ class PairTracker : public Pair {
|
||||
double single(int, int, int, int, double, double, double, double &) override;
|
||||
double atom2cut(int) override;
|
||||
double radii2cut(double, double) override;
|
||||
void transfer_history(double *, double *) override;
|
||||
void transfer_history(double *, double *, int, int) override;
|
||||
|
||||
protected:
|
||||
int sizeflag;
|
||||
|
||||
41
src/Make.sh
41
src/Make.sh
@ -78,26 +78,27 @@ cmd=$1
|
||||
|
||||
if (test $cmd = "style") || (test $cmd = "packages") then
|
||||
|
||||
$cmd ANGLE_CLASS angle_ angle force
|
||||
$cmd ATOM_CLASS atom_vec_ atom atom atom_vec_hybrid
|
||||
$cmd BODY_CLASS body_ body atom_vec_body
|
||||
$cmd BOND_CLASS bond_ bond force
|
||||
$cmd COMMAND_CLASS "" command input
|
||||
$cmd COMPUTE_CLASS compute_ compute modify
|
||||
$cmd DIHEDRAL_CLASS dihedral_ dihedral force
|
||||
$cmd DUMP_CLASS dump_ dump output write_dump
|
||||
$cmd FIX_CLASS fix_ fix modify
|
||||
$cmd IMPROPER_CLASS improper_ improper force
|
||||
$cmd INTEGRATE_CLASS "" integrate update
|
||||
$cmd KSPACE_CLASS "" kspace force
|
||||
$cmd MINIMIZE_CLASS min_ minimize update
|
||||
$cmd NBIN_CLASS nbin_ nbin neighbor
|
||||
$cmd NPAIR_CLASS npair_ npair neighbor
|
||||
$cmd NSTENCIL_CLASS nstencil_ nstencil neighbor
|
||||
$cmd NTOPO_CLASS ntopo_ ntopo neighbor
|
||||
$cmd PAIR_CLASS pair_ pair force
|
||||
$cmd READER_CLASS reader_ reader read_dump
|
||||
$cmd REGION_CLASS region_ region domain
|
||||
$cmd ANGLE_CLASS angle_ angle force
|
||||
$cmd ATOM_CLASS atom_vec_ atom atom atom_vec_hybrid
|
||||
$cmd BODY_CLASS body_ body atom_vec_body
|
||||
$cmd BOND_CLASS bond_ bond force
|
||||
$cmd COMMAND_CLASS "" command input
|
||||
$cmd COMPUTE_CLASS compute_ compute modify
|
||||
$cmd DIHEDRAL_CLASS dihedral_ dihedral force
|
||||
$cmd DUMP_CLASS dump_ dump output write_dump
|
||||
$cmd FIX_CLASS fix_ fix modify
|
||||
$cmd GRAN_SUB_MOD_CLASS gran_sub_mod_ gran_sub_mod granular_model
|
||||
$cmd IMPROPER_CLASS improper_ improper force
|
||||
$cmd INTEGRATE_CLASS "" integrate update
|
||||
$cmd KSPACE_CLASS "" kspace force
|
||||
$cmd MINIMIZE_CLASS min_ minimize update
|
||||
$cmd NBIN_CLASS nbin_ nbin neighbor
|
||||
$cmd NPAIR_CLASS npair_ npair neighbor
|
||||
$cmd NSTENCIL_CLASS nstencil_ nstencil neighbor
|
||||
$cmd NTOPO_CLASS ntopo_ ntopo neighbor
|
||||
$cmd PAIR_CLASS pair_ pair force
|
||||
$cmd READER_CLASS reader_ reader read_dump
|
||||
$cmd REGION_CLASS region_ region domain
|
||||
|
||||
# edit Makefile.lib, for creating non-shared lib
|
||||
# called by "make makelib"
|
||||
|
||||
18
src/atom.cpp
18
src/atom.cpp
@ -125,6 +125,8 @@ Atom::Atom(LAMMPS *_lmp) : Pointers(_lmp)
|
||||
radius = rmass = nullptr;
|
||||
ellipsoid = line = tri = body = nullptr;
|
||||
quat = nullptr;
|
||||
temperature = nullptr;
|
||||
heatflow = nullptr;
|
||||
|
||||
// molecular systems
|
||||
|
||||
@ -421,6 +423,9 @@ void Atom::peratom_create()
|
||||
add_peratom("tri",&tri,INT,0);
|
||||
add_peratom("body",&body,INT,0);
|
||||
|
||||
add_peratom("temperature",&temperature,DOUBLE,0);
|
||||
add_peratom("heatflow",&heatflow,DOUBLE,0);
|
||||
|
||||
// BPM package
|
||||
|
||||
add_peratom("quat",&quat,DOUBLE,4);
|
||||
@ -623,6 +628,7 @@ void Atom::set_atomflag_defaults()
|
||||
molecule_flag = molindex_flag = molatom_flag = 0;
|
||||
q_flag = mu_flag = 0;
|
||||
rmass_flag = radius_flag = omega_flag = torque_flag = angmom_flag = 0;
|
||||
temperature_flag = heatflow_flag = 0;
|
||||
vfrac_flag = spin_flag = eradius_flag = ervel_flag = erforce_flag = 0;
|
||||
cs_flag = csforce_flag = vforce_flag = ervelforce_flag = etag_flag = 0;
|
||||
rho_flag = esph_flag = cv_flag = vest_flag = 0;
|
||||
@ -2835,6 +2841,14 @@ length of the data area, and a short description.
|
||||
- double
|
||||
- 4
|
||||
- four quaternion components of the particles
|
||||
* - temperature
|
||||
- double
|
||||
- 1
|
||||
- temperature of the particles
|
||||
* - heatflow
|
||||
- double
|
||||
- 1
|
||||
- heatflow of the particles
|
||||
* - i_name
|
||||
- int
|
||||
- 1
|
||||
@ -2891,6 +2905,8 @@ void *Atom::extract(const char *name)
|
||||
if (strcmp(name,"tri") == 0) return (void *) tri;
|
||||
if (strcmp(name,"body") == 0) return (void *) body;
|
||||
if (strcmp(name,"quat") == 0) return (void *) quat;
|
||||
if (strcmp(name,"temperature") == 0) return (void *) temperature;
|
||||
if (strcmp(name,"heatflow") == 0) return (void *) heatflow;
|
||||
|
||||
// PERI PACKAGE
|
||||
|
||||
@ -3018,6 +3034,8 @@ int Atom::extract_datatype(const char *name)
|
||||
if (strcmp(name,"tri") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"body") == 0) return LAMMPS_INT;
|
||||
if (strcmp(name,"quat") == 0) return LAMMPS_DOUBLE_2D;
|
||||
if (strcmp(name,"temperature") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"heatflow") == 0) return LAMMPS_DOUBLE;
|
||||
|
||||
if (strcmp(name,"vfrac") == 0) return LAMMPS_DOUBLE;
|
||||
if (strcmp(name,"s0") == 0) return LAMMPS_DOUBLE;
|
||||
|
||||
@ -83,6 +83,7 @@ class Atom : protected Pointers {
|
||||
double **omega, **angmom, **torque;
|
||||
int *ellipsoid, *line, *tri, *body;
|
||||
double **quat;
|
||||
double *temperature, *heatflow;
|
||||
|
||||
// molecular systems
|
||||
|
||||
@ -186,6 +187,7 @@ class Atom : protected Pointers {
|
||||
int molecule_flag, molindex_flag, molatom_flag;
|
||||
int q_flag, mu_flag;
|
||||
int rmass_flag, radius_flag, omega_flag, torque_flag, angmom_flag, quat_flag;
|
||||
int temperature_flag, heatflow_flag;
|
||||
int vfrac_flag, spin_flag, eradius_flag, ervel_flag, erforce_flag;
|
||||
int cs_flag, csforce_flag, vforce_flag, ervelforce_flag, etag_flag;
|
||||
int rho_flag, esph_flag, cv_flag, vest_flag;
|
||||
|
||||
@ -41,7 +41,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS,
|
||||
XSU,YSU,ZSU,XSUTRI,YSUTRI,ZSUTRI,
|
||||
IX,IY,IZ,
|
||||
VX,VY,VZ,FX,FY,FZ,
|
||||
Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,
|
||||
Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,HEATFLOW,TEMPERATURE,
|
||||
OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ,
|
||||
TQX,TQY,TQZ,
|
||||
COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY};
|
||||
@ -931,6 +931,18 @@ int DumpCustom::count()
|
||||
for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i];
|
||||
ptr = dchoose;
|
||||
nstride = 1;
|
||||
} else if (thresh_array[ithresh] == HEATFLOW) {
|
||||
if (!atom->heatflow_flag)
|
||||
error->all(FLERR,
|
||||
"Threshold for an atom property that isn't allocated");
|
||||
ptr = atom->heatflow;
|
||||
nstride = 1;
|
||||
} else if (thresh_array[ithresh] == TEMPERATURE) {
|
||||
if (!atom->temperature_flag)
|
||||
error->all(FLERR,
|
||||
"Threshold for an atom property that isn't allocated");
|
||||
ptr = atom->temperature;
|
||||
nstride = 1;
|
||||
} else if (thresh_array[ithresh] == OMEGAX) {
|
||||
if (!atom->omega_flag)
|
||||
error->all(FLERR,
|
||||
@ -1385,6 +1397,16 @@ int DumpCustom::parse_fields(int narg, char **arg)
|
||||
error->all(FLERR,"Dumping an atom property that isn't allocated");
|
||||
pack_choice[iarg] = &DumpCustom::pack_diameter;
|
||||
vtype[iarg] = Dump::DOUBLE;
|
||||
} else if (strcmp(arg[iarg],"heatflow") == 0) {
|
||||
if (!atom->heatflow_flag)
|
||||
error->all(FLERR,"Dumping an atom property that isn't allocated");
|
||||
pack_choice[iarg] = &DumpCustom::pack_heatflow;
|
||||
vtype[iarg] = Dump::DOUBLE;
|
||||
} else if (strcmp(arg[iarg],"temperature") == 0) {
|
||||
if (!atom->temperature_flag)
|
||||
error->all(FLERR,"Dumping an atom property that isn't allocated");
|
||||
pack_choice[iarg] = &DumpCustom::pack_temperature;
|
||||
vtype[iarg] = Dump::DOUBLE;
|
||||
} else if (strcmp(arg[iarg],"omegax") == 0) {
|
||||
if (!atom->omega_flag)
|
||||
error->all(FLERR,"Dumping an atom property that isn't allocated");
|
||||
@ -1850,6 +1872,8 @@ int DumpCustom::modify_param(int narg, char **arg)
|
||||
|
||||
else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS;
|
||||
else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER;
|
||||
else if (strcmp(arg[1],"heatflow") == 0) thresh_array[nthresh] = HEATFLOW;
|
||||
else if (strcmp(arg[1],"temperature") == 0) thresh_array[nthresh] = TEMPERATURE;
|
||||
else if (strcmp(arg[1],"omegax") == 0) thresh_array[nthresh] = OMEGAX;
|
||||
else if (strcmp(arg[1],"omegay") == 0) thresh_array[nthresh] = OMEGAY;
|
||||
else if (strcmp(arg[1],"omegaz") == 0) thresh_array[nthresh] = OMEGAZ;
|
||||
@ -2764,6 +2788,30 @@ void DumpCustom::pack_diameter(int n)
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void DumpCustom::pack_heatflow(int n)
|
||||
{
|
||||
double *heatflow = atom->heatflow;
|
||||
|
||||
for (int i = 0; i < nchoose; i++) {
|
||||
buf[n] = heatflow[clist[i]];
|
||||
n += size_one;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void DumpCustom::pack_temperature(int n)
|
||||
{
|
||||
double *temperature = atom->temperature;
|
||||
|
||||
for (int i = 0; i < nchoose; i++) {
|
||||
buf[n] = temperature[clist[i]];
|
||||
n += size_one;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void DumpCustom::pack_omegax(int n)
|
||||
{
|
||||
double **omega = atom->omega;
|
||||
|
||||
@ -188,6 +188,8 @@ class DumpCustom : public Dump {
|
||||
void pack_mu(int);
|
||||
void pack_radius(int);
|
||||
void pack_diameter(int);
|
||||
void pack_heatflow(int);
|
||||
void pack_temperature(int);
|
||||
|
||||
void pack_omegax(int);
|
||||
void pack_omegay(int);
|
||||
|
||||
@ -337,6 +337,7 @@ void FixNeighHistory::pre_exchange_newton()
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
int *allflags;
|
||||
double *allvalues,*onevalues,*jvalues;
|
||||
int *type = atom->type;
|
||||
|
||||
// NOTE: all operations until very end are with
|
||||
// nlocal_neigh <= current nlocal and nall_neigh
|
||||
@ -351,7 +352,10 @@ void FixNeighHistory::pre_exchange_newton()
|
||||
// 1st loop over neighbor list
|
||||
// calculate npartner for owned+ghost atoms
|
||||
|
||||
for (i = 0; i < nall_neigh; i++) npartner[i] = 0;
|
||||
// Ensure npartner is zeroed across all atoms, nall_neigh can be less than nall
|
||||
// when writing restarts when comm calls are made but modify->post_neighbor() isn't
|
||||
int nall = atom->nlocal + atom->nghost;
|
||||
for (i = 0; i < MAX(nall_neigh, nall); i++) npartner[i] = 0;
|
||||
|
||||
tagint *tag = atom->tag;
|
||||
NeighList *list = pair->list;
|
||||
@ -406,7 +410,7 @@ void FixNeighHistory::pre_exchange_newton()
|
||||
// store partner IDs and values for owned+ghost atoms
|
||||
// re-zero npartner to use as counter
|
||||
|
||||
for (i = 0; i < nall_neigh; i++) npartner[i] = 0;
|
||||
for (i = 0; i < MAX(nall_neigh, nall); i++) npartner[i] = 0;
|
||||
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii];
|
||||
@ -427,7 +431,7 @@ void FixNeighHistory::pre_exchange_newton()
|
||||
partner[j][m] = tag[i];
|
||||
jvalues = &valuepartner[j][dnum*m];
|
||||
if (pair->nondefault_history_transfer)
|
||||
pair->transfer_history(onevalues,jvalues);
|
||||
pair->transfer_history(onevalues,jvalues,type[i],type[j]);
|
||||
else for (n = 0; n < dnum; n++) jvalues[n] = -onevalues[n];
|
||||
}
|
||||
}
|
||||
@ -466,6 +470,7 @@ void FixNeighHistory::pre_exchange_no_newton()
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
int *allflags;
|
||||
double *allvalues,*onevalues,*jvalues;
|
||||
int *type = atom->type;
|
||||
|
||||
// NOTE: all operations until very end are with nlocal_neigh <= current nlocal
|
||||
// because previous neigh list was built with nlocal_neigh
|
||||
@ -541,7 +546,7 @@ void FixNeighHistory::pre_exchange_no_newton()
|
||||
partner[j][m] = tag[i];
|
||||
jvalues = &valuepartner[j][dnum*m];
|
||||
if (pair->nondefault_history_transfer)
|
||||
pair->transfer_history(onevalues, jvalues);
|
||||
pair->transfer_history(onevalues, jvalues,type[i],type[j]);
|
||||
else for (n = 0; n < dnum; n++) jvalues[n] = -onevalues[n];
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
||||
enum { MOLECULE, CHARGE, RMASS, IVEC, DVEC, IARRAY, DARRAY };
|
||||
enum { MOLECULE, CHARGE, RMASS, TEMPERATURE, HEATFLOW, IVEC, DVEC, IARRAY, DARRAY };
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -46,6 +46,8 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) :
|
||||
molecule_flag = 0;
|
||||
q_flag = 0;
|
||||
rmass_flag = 0;
|
||||
temperature_flag = 0;
|
||||
heatflow_flag = 0;
|
||||
|
||||
nvalue = 0;
|
||||
values_peratom = 0;
|
||||
@ -81,6 +83,26 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) :
|
||||
values_peratom++;
|
||||
nvalue++;
|
||||
iarg++;
|
||||
} else if (strcmp(arg[iarg], "temperature") == 0) {
|
||||
if (atom->temperature_flag)
|
||||
error->all(FLERR, "Fix property/atom temperature when atom_style already has temperature attribute");
|
||||
if (temperature_flag) error->all(FLERR, "Fix property/atom cannot specify temperature twice");
|
||||
styles[nvalue] = TEMPERATURE;
|
||||
cols[nvalue] = 0;
|
||||
atom->temperature_flag = temperature_flag = 1;
|
||||
values_peratom++;
|
||||
nvalue++;
|
||||
iarg++;
|
||||
} else if (strcmp(arg[iarg], "heatflow") == 0) {
|
||||
if (atom->heatflow_flag)
|
||||
error->all(FLERR, "Fix property/atom heatflow when atom_style already has heatflow attribute");
|
||||
if (heatflow_flag) error->all(FLERR, "Fix property/atom cannot specify heatflow twice");
|
||||
styles[nvalue] = HEATFLOW;
|
||||
cols[nvalue] = 0;
|
||||
atom->heatflow_flag = heatflow_flag = 1;
|
||||
values_peratom++;
|
||||
nvalue++;
|
||||
iarg++;
|
||||
|
||||
// custom atom vector
|
||||
|
||||
@ -163,14 +185,15 @@ FixPropertyAtom::FixPropertyAtom(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
if (border) comm_border = values_peratom;
|
||||
|
||||
// warn if mol or charge keyword used without ghost yes
|
||||
// warn if mol, charge, rmass, temperature, or heatflow keyword used without ghost yes
|
||||
|
||||
if (border == 0) {
|
||||
int flag = 0;
|
||||
for (int i = 0; i < nvalue; i++)
|
||||
if (styles[i] == MOLECULE || styles[i] == CHARGE || styles[i] == RMASS) flag = 1;
|
||||
if (styles[i] == MOLECULE || styles[i] == CHARGE || styles[i] == RMASS ||
|
||||
styles[i] == TEMPERATURE || styles[i] == HEATFLOW) flag = 1;
|
||||
if (flag && comm->me == 0)
|
||||
error->warning(FLERR, "Fix property/atom mol or charge or rmass w/out ghost communication");
|
||||
error->warning(FLERR, "Fix property/atom mol, charge, rmass, temperature, or heatflow w/out ghost communication");
|
||||
}
|
||||
|
||||
// store current atom style
|
||||
@ -213,6 +236,14 @@ FixPropertyAtom::~FixPropertyAtom()
|
||||
atom->rmass_flag = 0;
|
||||
memory->destroy(atom->rmass);
|
||||
atom->rmass = nullptr;
|
||||
} else if (styles[nv] == TEMPERATURE) {
|
||||
atom->temperature_flag = 0;
|
||||
memory->destroy(atom->temperature);
|
||||
atom->temperature = nullptr;
|
||||
} else if (styles[nv] == HEATFLOW) {
|
||||
atom->heatflow_flag = 0;
|
||||
memory->destroy(atom->heatflow);
|
||||
atom->heatflow = nullptr;
|
||||
} else if (styles[nv] == IVEC) {
|
||||
atom->remove_custom(index[nv], 0, cols[nv]);
|
||||
} else if (styles[nv] == DVEC) {
|
||||
@ -298,6 +329,10 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint
|
||||
atom->q[m] = values.next_double();
|
||||
} else if (styles[j] == RMASS) {
|
||||
atom->rmass[m] = values.next_double();
|
||||
} else if (styles[j] == TEMPERATURE) {
|
||||
atom->temperature[m] = values.next_double();
|
||||
} else if (styles[j] == HEATFLOW) {
|
||||
atom->heatflow[m] = values.next_double();
|
||||
} else if (styles[j] == IVEC) {
|
||||
atom->ivector[index[j]][m] = values.next_int();
|
||||
} else if (styles[j] == DVEC) {
|
||||
@ -377,6 +412,14 @@ void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf)
|
||||
double *rmass = atom->rmass;
|
||||
for (i = 0; i < nlocal; i++) buf[i][icol] = rmass[i];
|
||||
icol++;
|
||||
} else if (styles[nv] == TEMPERATURE) {
|
||||
double *temperature = atom->temperature;
|
||||
for (i = 0; i < nlocal; i++) buf[i][icol] = temperature[i];
|
||||
icol++;
|
||||
} else if (styles[nv] == HEATFLOW) {
|
||||
double *heatflow = atom->heatflow;
|
||||
for (i = 0; i < nlocal; i++) buf[i][icol] = heatflow[i];
|
||||
icol++;
|
||||
} else if (styles[nv] == IVEC) {
|
||||
int *ivec = atom->ivector[index[nv]];
|
||||
for (i = 0; i < nlocal; i++) buf[i][icol] = ubuf(ivec[i]).d;
|
||||
@ -424,6 +467,10 @@ void FixPropertyAtom::write_data_section_keyword(int /*mth*/, FILE *fp)
|
||||
fputs(" q", fp);
|
||||
else if (styles[i] == RMASS)
|
||||
fputs(" rmass", fp);
|
||||
else if (styles[i] == TEMPERATURE)
|
||||
fputs(" temperature", fp);
|
||||
else if (styles[i] == HEATFLOW)
|
||||
fputs(" heatflow", fp);
|
||||
else if (styles[i] == IVEC)
|
||||
fprintf(fp, " i_%s", atom->ivname[index[i]]);
|
||||
else if (styles[i] == DVEC)
|
||||
@ -459,6 +506,10 @@ void FixPropertyAtom::write_data_section(int /*mth*/, FILE *fp, int n, double **
|
||||
line += fmt::format(" {}", buf[i][icol++]);
|
||||
else if (styles[nv] == RMASS)
|
||||
line += fmt::format(" {}", buf[i][icol++]);
|
||||
else if (styles[nv] == TEMPERATURE)
|
||||
line += fmt::format(" {}", buf[i][icol++]);
|
||||
else if (styles[nv] == HEATFLOW)
|
||||
line += fmt::format(" {}", buf[i][icol++]);
|
||||
else if (styles[nv] == IVEC)
|
||||
line += fmt::format(" {}", (int) ubuf(buf[i][icol++]).i);
|
||||
else if (styles[nv] == DVEC)
|
||||
@ -491,6 +542,10 @@ double FixPropertyAtom::memory_usage()
|
||||
bytes = atom->nmax * sizeof(double);
|
||||
else if (styles[m] == RMASS)
|
||||
bytes = atom->nmax * sizeof(double);
|
||||
else if (styles[m] == TEMPERATURE)
|
||||
bytes = atom->nmax * sizeof(double);
|
||||
else if (styles[m] == HEATFLOW)
|
||||
bytes = atom->nmax * sizeof(double);
|
||||
else if (styles[m] == IVEC)
|
||||
bytes = atom->nmax * sizeof(int);
|
||||
else if (styles[m] == DVEC)
|
||||
@ -525,6 +580,14 @@ void FixPropertyAtom::grow_arrays(int nmax)
|
||||
memory->grow(atom->rmass, nmax, "atom:rmass");
|
||||
size_t nbytes = (nmax - nmax_old) * sizeof(double);
|
||||
memset(&atom->rmass[nmax_old], 0, nbytes);
|
||||
} else if (styles[nv] == TEMPERATURE) {
|
||||
memory->grow(atom->temperature, nmax, "atom:temperature");
|
||||
size_t nbytes = (nmax - nmax_old) * sizeof(double);
|
||||
memset(&atom->temperature[nmax_old], 0, nbytes);
|
||||
} else if (styles[nv] == HEATFLOW) {
|
||||
memory->grow(atom->heatflow, nmax, "atom:heatflow");
|
||||
size_t nbytes = (nmax - nmax_old) * sizeof(double);
|
||||
memset(&atom->heatflow[nmax_old], 0, nbytes);
|
||||
} else if (styles[nv] == IVEC) {
|
||||
memory->grow(atom->ivector[index[nv]], nmax, "atom:ivector");
|
||||
size_t nbytes = (nmax - nmax_old) * sizeof(int);
|
||||
@ -562,6 +625,10 @@ void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/)
|
||||
atom->q[j] = atom->q[i];
|
||||
else if (styles[nv] == RMASS)
|
||||
atom->rmass[j] = atom->rmass[i];
|
||||
else if (styles[nv] == TEMPERATURE)
|
||||
atom->temperature[j] = atom->temperature[i];
|
||||
else if (styles[nv] == HEATFLOW)
|
||||
atom->heatflow[j] = atom->heatflow[i];
|
||||
else if (styles[nv] == IVEC)
|
||||
atom->ivector[index[nv]][j] = atom->ivector[index[nv]][i];
|
||||
else if (styles[nv] == DVEC)
|
||||
@ -604,6 +671,18 @@ int FixPropertyAtom::pack_border(int n, int *list, double *buf)
|
||||
j = list[i];
|
||||
buf[m++] = rmass[j];
|
||||
}
|
||||
} else if (styles[nv] == TEMPERATURE) {
|
||||
double *temperature = atom->temperature;
|
||||
for (i = 0; i < n; i++) {
|
||||
j = list[i];
|
||||
buf[m++] = temperature[j];
|
||||
}
|
||||
} else if (styles[nv] == HEATFLOW) {
|
||||
double *heatflow = atom->heatflow;
|
||||
for (i = 0; i < n; i++) {
|
||||
j = list[i];
|
||||
buf[m++] = heatflow[j];
|
||||
}
|
||||
} else if (styles[nv] == IVEC) {
|
||||
int *ivector = atom->ivector[index[nv]];
|
||||
for (i = 0; i < n; i++) {
|
||||
@ -658,6 +737,14 @@ int FixPropertyAtom::unpack_border(int n, int first, double *buf)
|
||||
double *rmass = atom->rmass;
|
||||
last = first + n;
|
||||
for (i = first; i < last; i++) rmass[i] = buf[m++];
|
||||
} else if (styles[nv] == TEMPERATURE) {
|
||||
double *temperature = atom->temperature;
|
||||
last = first + n;
|
||||
for (i = first; i < last; i++) temperature[i] = buf[m++];
|
||||
} else if (styles[nv] == HEATFLOW) {
|
||||
double *heatflow = atom->heatflow;
|
||||
last = first + n;
|
||||
for (i = first; i < last; i++) heatflow[i] = buf[m++];
|
||||
} else if (styles[nv] == IVEC) {
|
||||
int *ivector = atom->ivector[index[nv]];
|
||||
last = first + n;
|
||||
@ -700,6 +787,10 @@ int FixPropertyAtom::pack_exchange(int i, double *buf)
|
||||
buf[m++] = atom->q[i];
|
||||
else if (styles[nv] == RMASS)
|
||||
buf[m++] = atom->rmass[i];
|
||||
else if (styles[nv] == TEMPERATURE)
|
||||
buf[m++] = atom->temperature[i];
|
||||
else if (styles[nv] == HEATFLOW)
|
||||
buf[m++] = atom->heatflow[i];
|
||||
else if (styles[nv] == IVEC)
|
||||
buf[m++] = ubuf(atom->ivector[index[nv]][i]).d;
|
||||
else if (styles[nv] == DVEC)
|
||||
@ -732,6 +823,10 @@ int FixPropertyAtom::unpack_exchange(int nlocal, double *buf)
|
||||
atom->q[nlocal] = buf[m++];
|
||||
else if (styles[nv] == RMASS)
|
||||
atom->rmass[nlocal] = buf[m++];
|
||||
else if (styles[nv] == TEMPERATURE)
|
||||
atom->temperature[nlocal] = buf[m++];
|
||||
else if (styles[nv] == HEATFLOW)
|
||||
atom->heatflow[nlocal] = buf[m++];
|
||||
else if (styles[nv] == IVEC)
|
||||
atom->ivector[index[nv]][nlocal] = (int) ubuf(buf[m++]).i;
|
||||
else if (styles[nv] == DVEC)
|
||||
@ -768,6 +863,10 @@ int FixPropertyAtom::pack_restart(int i, double *buf)
|
||||
buf[m++] = atom->q[i];
|
||||
else if (styles[nv] == RMASS)
|
||||
buf[m++] = atom->rmass[i];
|
||||
else if (styles[nv] == TEMPERATURE)
|
||||
buf[m++] = atom->temperature[i];
|
||||
else if (styles[nv] == HEATFLOW)
|
||||
buf[m++] = atom->heatflow[i];
|
||||
else if (styles[nv] == IVEC)
|
||||
buf[m++] = ubuf(atom->ivector[index[nv]][i]).d;
|
||||
else if (styles[nv] == DVEC)
|
||||
@ -807,6 +906,10 @@ void FixPropertyAtom::unpack_restart(int nlocal, int nth)
|
||||
atom->q[nlocal] = extra[nlocal][m++];
|
||||
else if (styles[nv] == RMASS)
|
||||
atom->rmass[nlocal] = extra[nlocal][m++];
|
||||
else if (styles[nv] == TEMPERATURE)
|
||||
atom->temperature[nlocal] = extra[nlocal][m++];
|
||||
else if (styles[nv] == HEATFLOW)
|
||||
atom->heatflow[nlocal] = extra[nlocal][m++];
|
||||
else if (styles[nv] == IVEC)
|
||||
atom->ivector[index[nv]][nlocal] = (int) ubuf(extra[nlocal][m++]).i;
|
||||
else if (styles[nv] == DVEC)
|
||||
|
||||
@ -54,6 +54,7 @@ class FixPropertyAtom : public Fix {
|
||||
protected:
|
||||
int nvalue, border;
|
||||
int molecule_flag, q_flag, rmass_flag; // flags for specific fields
|
||||
int temperature_flag, heatflow_flag;
|
||||
int *styles; // style of each value, see enum
|
||||
int *index; // indices into atom custom data structs
|
||||
int *cols; // columns per value, for arrays
|
||||
|
||||
@ -223,7 +223,7 @@ class Pair : protected Pointers {
|
||||
virtual void min_xf_pointers(int, double **, double **) {}
|
||||
virtual void min_xf_get(int) {}
|
||||
virtual void min_x_set(int) {}
|
||||
virtual void transfer_history(double *, double *) {}
|
||||
virtual void transfer_history(double *, double *, int, int) {}
|
||||
virtual double atom2cut(int) { return 0.0; }
|
||||
virtual double radii2cut(double, double) { return 0.0; }
|
||||
|
||||
|
||||
19
src/set.cpp
19
src/set.cpp
@ -47,7 +47,7 @@ enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT};
|
||||
enum{TYPE,TYPE_FRACTION,TYPE_RATIO,TYPE_SUBSET,
|
||||
MOLECULE,X,Y,Z,VX,VY,VZ,CHARGE,MASS,SHAPE,LENGTH,TRI,
|
||||
DIPOLE,DIPOLE_RANDOM,SPIN_ATOM,SPIN_RANDOM,SPIN_ELECTRON,RADIUS_ELECTRON,
|
||||
QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA,
|
||||
QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA,TEMPERATURE,
|
||||
DIAMETER,RADIUS_ATOM,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER,
|
||||
SPH_E,SPH_CV,SPH_RHO,EDPD_TEMP,EDPD_CV,CC,SMD_MASS_DENSITY,
|
||||
SMD_CONTACT_RADIUS,DPDTHETA,EPSILON,IVEC,DVEC,IARRAY,DARRAY};
|
||||
@ -426,6 +426,15 @@ void Set::command(int narg, char **arg)
|
||||
set(DENSITY);
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"temperature") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal set command");
|
||||
if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1);
|
||||
else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp);
|
||||
if (!atom->temperature_flag)
|
||||
error->all(FLERR,"Cannot set this attribute for this atom style");
|
||||
set(TEMPERATURE);
|
||||
iarg += 2;
|
||||
|
||||
} else if (strcmp(arg[iarg],"volume") == 0) {
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set volume", error);
|
||||
if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1);
|
||||
@ -806,6 +815,7 @@ void Set::set(int keyword)
|
||||
case SHAPE:
|
||||
case DIAMETER:
|
||||
case DENSITY:
|
||||
case TEMPERATURE:
|
||||
case QUAT:
|
||||
case IMAGE:
|
||||
if (modify->check_rigid_list_overlap(select))
|
||||
@ -1068,6 +1078,13 @@ void Set::set(int keyword)
|
||||
atom->omega[i][2] = zvalue;
|
||||
}
|
||||
|
||||
// set temperature of particle
|
||||
|
||||
else if (keyword == ANGMOM) {
|
||||
if (dvalue < 0.0) error->one(FLERR,"Invalid temperature in set command");
|
||||
atom->temperature[i] = dvalue;
|
||||
}
|
||||
|
||||
// reset any or all of 3 image flags
|
||||
|
||||
else if (keyword == IMAGE) {
|
||||
|
||||
Reference in New Issue
Block a user