Applying Body Force to 3DEC zones

How to apply body force on all the zones in a block?

The 3DEC manual says that “block gridpoint apply force-y” will only apply to the block gridpoints and not the zone gridpoints.

In FLAC3D I had been using this code “zone apply force-y [-115*0.39] range group” to model body forces.

If you apply forces with a command, they are only applied to block boundaries. If you want to apply forces to internal gridpoints, you need to use FISH. e.g.

block gridpoint group 'whatever' range ...

fish def apply_force
  loop foreach gp block.gp.list
    if block.gp.group(gp) = 'whatever'
      block.gp.force.app(gp)->z = -115*0.39
    endif
  end_loop
end
[apply_force]
1 Like