# Heterogenous Contacts in UDEC

**URL:** <https://forum.itascainternational.com/t/heterogenous-contacts-in-udec/1724>\
**Category:** UDEC\
**Created:** [October 1, 2024, 3:36am UTC](https://forum.itascainternational.com/t/heterogenous-contacts-in-udec/1724 "2024-10-01T03:36:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![SamVarun10](https://avatars.discourse-cdn.com/v4/letter/s/b782af/32.png) [@SamVarun10](https://forum.itascainternational.com/u/SamVarun10)\
**Post date:** [October 1, 2024, 3:36am UTC](https://forum.itascainternational.com/t/heterogenous-contacts-in-udec/1724/1 "2024-10-01T03:36:33Z")

</div>

Hello all,  
I want to create a heterogenous contact heterogenous grain model in UDEC. I defined block grain groups and also defined contact groups after which this is the FISH code I wrote:  
fish define contact\_group  
ic = block.contact.head  
loop while ic # 0  
ind\_b1 = block.contact.block1(ic)  
ind\_b2 = block.contact.block1(ic)

```
if block.group(ind_b1) = 'Dolomite'
    if block.group(ind_b2) = 'Dolomite'
        command
        block contact group 'Homogenous_Dolomite' range contact ic
        endcommand
    endif
    if block.group(ind_b2) = 'Periclase'
        command
        block contact group 'Heterogenous_Dolomite_Periclase' range contact ic
        endcommand
    endif
endif

if block.group(ind_b1) = 'Periclase'
    if block.group(ind_b2) = 'Periclase'
        command
        block contact group 'Homogenous_Periclase' range contact ic
        endcommand
    endif
    if block.group(ind_b2) = 'Dolomite'
        command
        block contact group 'Heterogenous_Dolomite_Periclase' range contact ic
        endcommand
    endif
endif

```

ic = block.contact.next(ic)  
endloop  
end

When I run this, I get this error:  
 ![image](https://canada1.discourse-cdn.com/flex031/uploads/itasca/original/2X/b/b5ced1aac992f90b3d5763d65281822fcb1ff8c9.jpeg)t

What I think is ic is a local variable working inside FISH code only and command option works outside FISH(I may be wrong in this). How to rectify this problem?

Thanking You

---

<div class="post-metadata">

**Author:** ![markus](https://yyz1.discourse-cdn.com/flex031/user_avatar/forum.itascainternational.com/markus/32/288_2.png) [@markus](https://forum.itascainternational.com/u/markus)\
**Post date:** [October 2, 2024, 9:06am UTC](https://forum.itascainternational.com/t/heterogenous-contacts-in-udec/1724/2 "2024-10-02T09:06:23Z")

</div>

The index for the range command should be found using. **block.contact.id(ic)**

---

<div class="post-metadata">

**Author:** ![udecsupport](https://avatars.discourse-cdn.com/v4/letter/u/e9c0ed/32.png) [@udecsupport](https://forum.itascainternational.com/u/udecsupport)\
**Post date:** [October 2, 2024, 2:02pm UTC](https://forum.itascainternational.com/t/heterogenous-contacts-in-udec/1724/3 "2024-10-02T14:02:01Z")

</div>

If you are using command-end\_command, you need to tell the command that ic is a FISH variable.  
Use:  
block contact group “name” range contact @ic  
or:  
block contact group “name” range contact [ic]
