# Applying Body Force to 3DEC zones

**URL:** <https://forum.itascainternational.com/t/applying-body-force-to-3dec-zones/2196>\
**Category:** 3DEC\
**Created:** [August 6, 2025, 8:09pm UTC](https://forum.itascainternational.com/t/applying-body-force-to-3dec-zones/2196 "2025-08-06T20:09:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![RRay](https://avatars.discourse-cdn.com/v4/letter/r/ed655f/32.png) [@RRay](https://forum.itascainternational.com/u/RRay)\
**Post date:** [August 6, 2025, 8:09pm UTC](https://forum.itascainternational.com/t/applying-body-force-to-3dec-zones/2196/1 "2025-08-06T20:09:04Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jhazzard](https://avatars.discourse-cdn.com/v4/letter/j/4af34b/32.png) [@jhazzard](https://forum.itascainternational.com/u/jhazzard)\
**Post date:** [August 14, 2025, 6:14pm UTC](https://forum.itascainternational.com/t/applying-body-force-to-3dec-zones/2196/2 "2025-08-14T18:14:03Z")

</div>

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.

```auto
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]

```
