block2d or block3d element

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
mokiao
Posts: 22
Joined: Tue Aug 30, 2011 9:19 am

block2d or block3d element

Post by mokiao »

Is it true that when we use block element to generate the mesh, we can only have translation degrees of freedom for each node?

Because when I create "model BasicBuilder -ndm 2 -ndf 3", it showed the error: WARNING -- model dimensions and/or nodal DOF not compatible with quad element.
After change it to "model BasicBuilder -ndm 2 -ndf 2", then it ran very well.
How can we have 6 degree of freedoms for each node when we use block3d?
anyone can help me? thanks
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: block2d or block3d element

Post by fmk »

i am afraid you need to replicate the command in a tcl procedure. if the region is rectangular if 2d, or brick shaped if 3d this is easy to do.
mokiao
Posts: 22
Joined: Tue Aug 30, 2011 9:19 am

Re: block2d or block3d element

Post by mokiao »

fmk wrote:
> i am afraid you need to replicate the command in a tcl procedure. if the
> region is rectangular if 2d, or brick shaped if 3d this is easy to do.
Thanks, Frank
I did try to use model BasicBuilder -ndm 2 -ndf 3 right after the block element again, but it warned that I should put 2 degrees of freedom for the load pattern, when I use pattern Plain 1 Linear {load 41 1.0 0.0 0.0}. Even when I also put the model command with 3 ndf in the very beginning, and then model command with 2 ndf before block element, and 3 ndf right after block element again, the same warning to use 2 ndf of loading pattern appeared, the weird thing is when I change it to 2 ndf load pattern in the same condition, it gave warning to use 3 ndf load pattern. what do you think? Thanks very very much.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: block2d or block3d element

Post by fmk »

the ndf of the loads must match those of the current model command .. they do not look at the ndf at the existing node.
mokiao
Posts: 22
Joined: Tue Aug 30, 2011 9:19 am

Re: block2d or block3d element

Post by mokiao »

fmk wrote:
> the ndf of the loads must match those of the current model command .. they
> do not look at the ndf at the existing node.

Ok, I see the difference now. Thank you so much, it is really helpful.
mokiao
Posts: 22
Joined: Tue Aug 30, 2011 9:19 am

Re: block2d or block3d element

Post by mokiao »

fmk wrote:
> the ndf of the loads must match those of the current model command .. they
> do not look at the ndf at the existing node.

Hi, Frank, can I bother you to see the codes below? When I run it, it showed"WARNING ZeroLength::setDomain(): nodes 5 and 1have differing dof at ends for ZeroLength 11". how can I solve it? Thanks so much.

## unit: inch, kips, sec
wipe;
model BasicBuilder -ndm 2 -ndf 2;
# create the material
nDMaterial ElasticIsotropic 1 10000 0.25 3.0 0.001;
set Quad quad
set eleArgs "1 PlaneStrain2D 1"

block2D 1 1 1 1 $Quad $eleArgs {
1 0 0
2 96 0
3 96 120
4 0 120
}

model BasicBuilder -ndm 3 -ndf 6;

node 5 0 0 -96;
node 6 0 120 -96;
node 7 120 0 -96;
node 8 120 120 -96;

fix 5 1 1 1 1 1 1;
fix 6 1 1 1 0 0 0;
fix 7 1 1 1 1 1 1;
fix 8 1 1 1 0 0 0;

set smallnumber 1e-8;
set bignumber 1e8;
set flex 3;
set stiff 4;
set mat 5;
uniaxialMaterial Elastic $flex $smallnumber
uniaxialMaterial Elastic $stiff $bignumber;
uniaxialMaterial Elastic $mat 100;

element zeroLength 11 5 1 -mat $flex $mat $stiff $stiff $stiff $stiff -dir 1 2 3 4 5 6;
element zeroLength 12 7 2 -mat $flex $mat $stiff $stiff $stiff $stiff -dir 1 2 3 4 5 6;

geomTransf Linear 1 0 -1 0;
element elasticBeamColumn 13 6 4 $A $rigid $flexible $flexible $flexible $flexible 1;
element elasticBeamColumn 14 8 3 $A $rigid $flexible $flexible $flexible $flexible 1;


pattern Plain 1 Linear { load 1 1.0 0.0 0 0 0 0 }
test EnergyIncr 1.0e-8 300 0
#test NormDispIncr 1.0e-10 100 1
algorithm KrylovNewton
system BandGeneral; #
numberer RCM
constraints Transformation;#Penalty 1e12 1e12;#Plain

set peaks [list 1]

for {set cntr 1} { $cntr < 12 } {incr cntr} {
for {set cntr2 1} { $cntr2 <= 2 } {incr cntr2} {
set peaks [linsert $peaks $cntr [expr $cntr*1 ] ]
puts $peaks
}
}
for {set i 1 } { $i <= [llength $peaks] } {incr i } {
set dU [expr -1.0*pow((-1.0),$i)*[lindex $peaks [expr $i-1] ]/50 ]
#puts $dU
integrator DisplacementControl 1 1 $dU 1 $dU $dU
analysis Static
analyze 50
}
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: block2d or block3d element

Post by fmk »

tie the nodes using the equalDOF command, here is an example:

http://opensees.berkeley.edu/wiki/index ... Foundation
jcford
Posts: 2
Joined: Tue Jun 24, 2014 1:48 pm
Location: UC Davis

Re: block2d or block3d element

Post by jcford »

Hi Frank,

I'm unfortunately having a similar problem. I'm trying to create a zeroLength element between a 2dof node and a 3dof node. I have a block2D line that generates a 16x4 mesh and connects to a 16 element long string of nodes by a zeroLength element. I'll upload the full tcl if you need to see it, but the meat is below:

model BasicBuilder -ndm 2 -ndf 2
nDMaterial ...
block2D ... { }
fix 1 1 1;
modelBasicBuilder -ndm 2 -ndf 3
node ...
equal DOF 100 51 3
fix 115 0 1 0;
uniaxialMaterial ...
element zeroLength 65 51 100 -mat 2 -dir 1
geomTransf Linear 1
element elasticBeamColumn ...
recorder Node ...
pattern Plain 1 Linear { }
----------
Analysis
----------

I'm not sure where else the equalDOF line could go that would make the node that connects the end of the mesh (51) not have a different number of dof from the node (100) that starts the "beam." Thanks in advance.

-- Jarrod
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: block2d or block3d element

Post by fmk »

you have it in the correct position .. your choice of dof's to make equal is incorrect as one of the nodes will not have a 3'rd dof! .. typically you would constrain 1 and 2 to move together .. do note that that makes the pt were beam meets soil a pinned connection.

equalDOF 100 51 1 2

note: no space between equal and DOF
jcford
Posts: 2
Joined: Tue Jun 24, 2014 1:48 pm
Location: UC Davis

Re: block2d or block3d element

Post by jcford »

I changed the line and the same message still comes up before it crashes, "WARNING ZeroLength::setDomain<>: nodes 51 and 100have differing dof at ends for ZeroLength 65" Could it be something else?
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: block2d or block3d element

Post by fmk »

the problem is as the message says! .. if you need these zeroLength between the 2 and 3 dof nodes, you have to create duplicate nodes and use equalDOF beween them

e.g. say node 1 has 3dof and node 11 has 2 dof
model Basic -ndm 2 -ndf 2
node 111 $nd1Xrd $nd1Ycrd
element zeroLength 1001 111 11 ....
equalDOF 111 1 1 2
Synergical
Posts: 3
Joined: Sat Mar 07, 2015 7:37 pm

Re: block2d or block3d element

Post by Synergical »

hi fmk,
if node 1 is 6 dofs and 111 3 dofs, then
the
equalDOF 111 1 1 2 3
2 translations (x and y) and 1 rotation (z)
rigth ?

thanks
sb1966
Posts: 151
Joined: Wed Jul 23, 2008 8:08 am
Location: NERIST, INDIA
Contact:

Re: block2d or block3d element

Post by sb1966 »

Hi,
Regarding correct numbering of dofs in ndf 2 and ndf 3 domains, the following may be helpful:
http://opensees.berkeley.edu/community/ ... =2&t=62391
----------------------------------
With Regards,
sb1966
Synergical
Posts: 3
Joined: Sat Mar 07, 2015 7:37 pm

Re: block2d or block3d element

Post by Synergical »

Thanks fb1966,

I am using OSN and figured out the problem late this night :)
Finally I should assign 3 DOFs to zerolength via the menu "assign---->`node...". I do not know if it is correcte, I will see.

Thanks again for your reply, for sure I will read the entire informations in the link you gave me.

Regards
Post Reply