dynamic_refinement command

Warning

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

Syntax

dynamic_refinement keyword value

Keywords

Description

target_coarsegraining

scalar defining the target coarsegraining value.
Parcels with a coarsegraining value larger than this value will be be refined.

region

obligatory; id of the region command the command should be active in

id

string; user-assigned name for the command call (used for referencing
this command in the disable_command command)

bounding_sphere_ratio

scalar defining the ratio of bounding radius of new packing to original
parcel radius, to avoid overlaps.
default: 0.99

growth_rate

scalar defining the growth rate of child parcel radius per time.
default: 10

Examples

dynamic_refinement id dR region reg target_coarsegraining 1.0
dynamic_refinement id dR region reg bounding_sphere_ratio 0.4 &
    growth_rate 0.001 target_coarsegraining 1.0

define_group id big
define_group id small
dynamic_refinement id dR1 region reg target_coarsegraining 1.0 particle_group big
dynamic_refinement id dR2 region reg target_coarsegraining 2.0 particle_group small

Description

The command refines parcels that have a coarsegraining value larger than target_coarsegraining. The created child parcels have the target_coarsegraining value. Upon entering the region each parent parcel is split into multiple child parcels. In order to avoid overlaps with walls or other particles, those are arranged within a bounding sphere that has the size of the original parent parcel multiplied by the bounding_sphere_ratio. Subsequently, the child parcels grow by growth_rate until their volume matches that of the original parent parcel.

Schematic of the dynamic refinement

Note

Coarsegraining values below 1 result in ill-defined behavior. Consequently, refinement is only possible until reaching this value. This restriction needs to be taken into account for setups using this command, especially when nesting corresponding regions.

Note

In case the ratio of parent and target coarsegraining values cubed is not an integer, the number of child parcels is rounded up (equal to ceil((current_cg/target_cg)^3)). Moreover, the coarsegraining value of the child parcels is adjusted to satisfy the mass conservation.

Restart, fix_modify, output, run start/stop

This command writes no data to binary restart files. None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command.

Restrictions

This command does not work with non-spherical particles! This command does not work with bonds!