• Announcements

    • Rahul Ponginan

      Please click here for a short but important announcement   03/26/17

      Dear Users Our Commercial and Academic users around the world can use these same forums here as before i.e. the Altair Support Forum , Commercial users from India with solver queries can go to the Solver Forum for India Commercial Users , Academic Users from India and AOC India Participants are requested to go to the Forum for India Academic Users and AOC India Participants , We will be tending to all queries in all the forums promptly as before, thank you for your understanding. 
  • 0
zyuce

Creating RBE3 element with 1946 independent nodes

Question

Hello all,

 

I am trying to create rbe3 element with 1.0 weight to independent nodes , however, following code generates 0.0 weight for independent nodes.

 

my tcl code is ;

 

##################################################################

*createmark nodes 1 "by sphere" -341.255 -75.946 6.482 0.25 inside 1 all 0
*appendmark nodes 1 "by face"
set rbl [hm_getmark nodes 1]
set nrbl [llength $rbl]

 

for {set i 0} {$i < $nrbl} {incr i 1} { 
lappend dofl 123456
}
*createarray $nrbl [puts $dofl]

for {set i 0} {$i < $nrbl} {incr i 1} { 
lappend wgh1 1.500000
}

*createdoublearray $nrbl [puts $wgh1]
*createnode -341.761 9.994e-02 1.549 0 0 0
*createmark nodes 2 "by sphere" -341.761 9.994e-02 1.549 0.2 inside 1 all 0
*rbe3 1 1 $nrbl 1 $nrbl [hm_getmark nodes 2] 123456 0

 

########################################################################
 

At the end of the day, I want to generate following RBE3;

 

 

rbe.PNG

Share this post


Link to post
Share on other sites

3 answers to this question

  • 0

Hey,

 

as help says:

*rbe3 mark_id independent_dofs dof_size independent_weights weight_size dependent_node dof weight

 

the last parameter is the weight, which is zero in your case.

 

If you bother, here is my way of creating rbe3:

 

eval *createmark nodes 1 {"by box"} [expr $x-$delta] [expr $y-$delta] [expr $z-$delta] [expr $x+$delta] [expr $y+$delta] [expr $z+$delta] 0 inside 0 0 0
hm_createmark nodes 2 [expr $nodeId]
*markdifference nodes 1 nodes 2
set numberOfNodes [hm_marklength node 1]
#Arrays
set arrI() [lrepeat $numberOfNodes 123]
set arrD() [lrepeat $numberOfNodes 1.0]
eval *createarray $numberOfNodes $arrI()    ;
eval *createdoublearray $numberOfNodes $arrD();

eval *rbe3 1 1 $numberOfNodes 1 $numberOfNodes $nodeId 123456 1;

 

Best regards,

Merula

 

zyuce likes this

Share this post


Link to post
Share on other sites
  • 0

He was wrong at 'puts dofl' and 'puts wgh1', the puts command returns nothing

Merula likes this

Share this post


Link to post
Share on other sites
  • 0

Hi Merula,

 

Tank you for support. I have developed following code based on your suggestions. Finally it works :)

 

Hi Tinh,

 

Thank you for your help.

 

######################################################################

*clearmark nodes all
*createmark nodes 1 "by sphere" -341.255 -75.946 6.482 0.25 inside 1 all 0
*appendmark nodes 1 "by sphere" -341.252 76.398 -3.898 0.25 inside 1 all 0
*appendmark nodes 1 "by face"
set nrbl [hm_marklength node 1]
set dofl [lrepeat $nrbl 123456]
set wgh1 [lrepeat $nrbl 1]
eval *createarray $nrbl $dofl
eval *createdoublearray $nrbl $wgh1
*createnode -341.761 9.994e-02 1.549 0 0 0
*createmark nodes 2 "by sphere" -341.761 9.994e-02 1.549 0.2 inside 1 all 0
eval *rbe3 1 1 $nrbl 1 $nrbl [hm_getmark nodes 2] 123456 1
*nodecleartempmark 

###################################################################

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now