Mask reversed element mark does not work?

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Hi there,

I'm a bit confused. I was successfully using masked elements in my scripts for quite a while but now something is wrong. I created a new database in Abaqus template (see below). And executed the following code:

*createmark elements 1 6*createmark elements 1 reverse*maskentitymark elements 1 0
SURPRISE: No (!) elements are displayed !?!

Can somebody please try and verify that I don't have a problem with my installation - thanks!

Abaqus Input-File test.inp:

**** ABAQUS Input Deck Generated by HyperMesh Version  : 8.0SR1** Generated using HyperMesh-Abaqus Template Version : 8.0sr1****   Template:  ABAQUS/STANDARD 3D***NODE         1,  0.0            ,  0.0            ,  0.0                     2,  20.0           ,  0.0            ,  0.0                     3,  40.0           ,  0.0            ,  0.0                     4,  60.0           ,  0.0            ,  0.0                     5,  0.0            ,  30.0           ,  0.0                     6,  0.0            ,  20.0           ,  0.0                     7,  0.0            ,  10.0           ,  0.0                     8,  60.0           ,  30.0           ,  0.0                     9,  60.0           ,  20.0           ,  0.0                    10,  60.0           ,  10.0           ,  0.0                    11,  20.0           ,  10.0           ,  0.0                    12,  20.0           ,  20.0           ,  0.0                    13,  20.0           ,  30.0           ,  0.0                    14,  40.0           ,  20.0           ,  0.0                    15,  40.0           ,  10.0           ,  0.0                    16,  40.0           ,  30.0           ,  0.0            *ELEMENT,TYPE=S4,ELSET=test         1,         1,         2,        11,         7         2,         7,        11,        12,         6         3,         6,        12,        13,         5         4,         9,        14,        15,        10         5,        10,        15,         3,         4         6,        14,        12,        11,        15         7,        15,        11,         2,         3         8,         8,        16,        14,         9         9,        16,        13,        12,        14*SHELL SECTION, ELSET=test, MATERIAL=tst_mat5.0       ,**HWCOLOR COMP          1    31*MATERIAL, NAME=tst_mat*DENSITY11.1      ,0.0       *ELASTIC, TYPE = ISOTROPIC7777.7     ,0.3       ,0.0       *****

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2008

    try

    hm_createmark elements 1 advanced reverse
  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2008

    try

    hm_createmark elements 1 advanced reverse

    already did that - no difference ...

    tried mark 2 instead of mark 1; tried hm7 and hm8; tried short form (elems) instead of elements; tried all combinantions of hm_createmark and *createmark - NO difference ...

    it's awkward: when using this code with bigger, older hm-databases everything works as it should!?!

    so I think I have to find a workaround maybe something with hm_tabletomark and hm_tabledifference ...

    any suggestions?

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2008

    I think the issue is with '*maskentitymark elements 1 0'. if you put a 'hm_getmark elems 1', before the *maskentitymark command, it shows all the elements but number 6.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2008

    Hi Cesar,

    the hm_getmark trick did not work. I want to display element 6 and only element 6 ...

    I'm doing a workaround for the reversed mark now, which is slower but works every time:

    proc isolateElems {eIDs} {    eval *createmark elements 1 $eIDs    hm_marktotable elements 1 Selection    *clearmark elements 1    *createmark elements 1 all    hm_marktotable elements 1 MaskEntities    *clearmark elements 1    hm_tabledifference MaskEntities Selection    hm_tabletomark MaskEntities 1 1    *maskentitymark elements 1 0    hm_tableclear Selection    hm_tableclear MaskEntities}isolateElems 6

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2008

    have you look into the '*marknotintersection' command

    Obtains everything but the intersection between two marks and stores everything but the intersection in the first passed mark.

    *createmark elements 1  1 2 3 4*createmark elements 2  4 5 6 7*marknotintersection elements 1 elements 2 *deletemark elements 1 
  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited February 2008

    No I've never noticed the *marknotintersection before - it's nice - still: would be more convenient for me if the mask reverse algorithm would work proper in all cases. because it's the same thing I would do on the HM GUI: select elems reverse the selection and mask them ...

    but thanks for your advice!