particle_template concave command

Purpose

Command for defining concave triangulated particles (examples).

Warning

GPU support for this command has not been tested and may not work as expected.

Syntax

particle_template [general_keywords] shape concave keyword value

General particle_template keywords are documented here. This document only describes the specific keywords for the definition of concave triangulated particles.

Return to the particle_template documentation.

Keyword

Description

convex_bodies_file ¹

path to file generated by the concave_decomposition command

convex_bodies ¹

list of convex body IDs defined by the convex_body command {body-ID1, …, body-ID1}

moment_of_inertia ¹

principal vector1 off_diagonal vector2; vector1: 3D vector with the principal values
of the inertia tensor; vector2: vector with the off-diagonal values of the inertia (Iyx, Ixz, Iyz)
only mandatory if convex_bodies have a mass```and a ``center_of_mass but no
moment_of_inertia; not mandatory for convex_bodies_file;

scale ²

factor for scaling up or down the template
default: 1; range: (0,∞); units: [-]

scale_axes ²

vector with factors to scale the template in x, y and z direction
default: (1,1,1); range: (0,∞); units: [-]

rotate

axis vector angle value: vector = axis vector (rotation axis goes through origin)
value: rotation angle in degrees

¹ The keywords convex_bodies_file and convex_bodies are mutually exclusive, one of them is obligatory.

² The keywords scale and scale_axes are mutually exclusive.

Examples

particle_template it pts1 material steel shape concave convex_bodies_file data/a.asx
particle_template id myConcaveParticles material rubber shape concave &
    convex_bodies {c1,c2,c3}
particle_template it pts1 material steel shape concave convex_bodies_file data/a.asx &
    scale_axes (1,1,2)
particle_template id myConcaveScaled material rubber shape concave &
    convex_bodies {c1,c2,c3} scale 0.6 rotate axis (1,0,0) angle 45
particle_template id myConcaveParticles material rubber convex_bodies {c1,c2,c3} &
    moment_of_inertia principal (0.266666,0.26666,0.266666) off_diagonal (0.,0.,0.)

Description

_images/concave.png

A concave particle is obtained by combining multiple convex objects. There are two ways of supplying a list of convex bodies: The keyword convex_bodies defines a list of convex body IDs, which are defined by the convex_body command. Alternatively, the convex_bodies_file command can be used to include a file generated by the concave_decomposition command. If the latter is used, the overlay_mesh_file allows to overwrite the path to the original concave file (by default it will be provided by the convex_bodies_file). This can be used in conjunction with the write_overlay_mesh in the output_settings command.

Note

convex_bodies and convex_bodies_file are mutually exclusive.

If the moment of inertia is not defined by the convex_body command, then the moment_of_inertia must be specified in the particle template.

The scale, scale_axes and rotate keywords work in the same way as described above for convex particles, except for two differences:

  • Only one rotate and one scale / scale_axes keyword can be present

  • rotation is always executed before scaling

Also, the treatment of user-provided mass, center of mass and moment of inertia is identical.

If a convex_bodies_file is used coming from an originally convex object, then this command will permit this without any additional changes. In this case the convex bodies file, will contain just one convex body and it will be treated as such.