Help with an incompatible error

A forum dedicated to users with questions regarding soil materials and elements.

forum currently locked

Moderator: Moderators

Locked
mlw
Posts: 49
Joined: Sun Feb 20, 2011 7:27 pm
Location: New Zealand

Help with an incompatible error

Post by mlw »

Hi all,

I keep getting this error and am at a loss as to what to do.
Opensees returns the message WARNING: Model dimensions and/or nodal DOF not compatible with QuadUP element.
And I'm not even using QuadUP elements!!!!
I'm using BrickUP elements because it is three dimensional problem!

So the code follows. Help would be much appreciated.
P.S. I haven't been able to finish debugging because of this error - any suggestions for the rest of the text, especially regarding the correctness/incorrectness of the contact elements, would be doubly appreciated.


#################################################
# Simplified 9m long beam element pile buried in 9mx5mx2.5m soil.
# Includes interface contact elements
# 3D
#################################################


#### Analysis Properties ####

set g 9.81
wipe

model BasicBuilder -ndm 3 -ndf 6

geomTransf Linear 1001 0 1 0

node 1 0.0 0.0 0.5
node 2 -0.5 0.0 0.0
node 3 -2.5 0.0 0.0
node 4 -2.5 0.0 2.5
node 5 0.0 0.0 2.5
node 6 2.5 0.0 2.5
node 7 2.5 0.0 0.0
node 8 0.5 0.0 0.0
node 9 0.0 -3.0 0.5
node 10 -0.5 -3.0 0.0
node 11 -2.5 -3.0 0.0
node 12 -2.5 -3.0 2.5
node 13 0.0 -3.0 2.5
node 14 2.5 -3.0 2.5
node 15 2.5 -3.0 0.0
node 16 0.5 -3.0 0.0
node 17 0.0 -6.0 0.5
node 18 -0.5 -6.0 0.0
node 19 -2.5 -6.0 0.0
node 20 -2.5 -6.0 2.5
node 21 0.0 -6.0 2.5
node 22 2.5 -6.0 2.5
node 23 2.5 -6.0 0.0
node 24 0.5 -6.0 0.0
node 25 0.0 -9.0 0.5
node 26 -0.5 -9.0 0.0
node 27 -2.5 -9.0 0.0
node 28 -2.5 -9.0 2.5
node 29 0.0 -9.0 2.5
node 30 2.5 -9.0 2.5
node 31 2.5 -9.0 0.0
node 32 0.5 -9.0 0.0
node 33 -1.25 0.0 2.5
node 34 1.25 0.0 2.5
node 35 -1.25 -3.0 2.5
node 36 1.25 -3.0 2.5
node 37 -1.25 -6.0 2.5
node 38 1.25 -6.0 2.5
node 39 -1.25 -9.0 2.5
node 40 1.25 -9.0 2.5

# fix nodes along line of symmetry at the pile from moving in the z direction
fix 2 0 0 1 0 0 0
fix 8 0 0 1 0 0 0
fix 10 0 0 1 0 0 0
fix 16 0 0 1 0 0 0
fix 18 0 0 1 0 0 0
fix 24 0 0 1 0 0 0
fix 26 0 0 1 0 0 0
fix 32 0 0 1 0 0 0

# Set equal degress of freedom to create periodic boundary
equalDOF 3 7 1 1 1
equalDOF 11 15 1 1 1
equalDOF 19 23 1 1 1
equalDOF 27 31 1 1 1
equalDOF 4 6 1 1 1
equalDOF 12 14 1 1 1
equalDOF 20 22 1 1 1
equalDOF 28 29 1 1 1

equalDOF 3 4 1 1 1
equalDOF 7 6 1 1 1
equalDOF 11 12 1 1 1
equalDOF 15 14 1 1 1
equalDOF 19 20 1 1 1
equalDOF 23 22 1 1 1
equalDOF 27 28 1 1 1
equalDOF 31 30 1 1 1

# Define pressuredependmultiyield material for soft clay
nDMaterial PressureIndependMultiYield 1 3 1.3 1.3e+4 6.5e+04 18 .1

# Define 3d contact material
nDMaterial ContactMaterial3D 2 0.34 7142 5 0

set xperm 1
set yperm 1
set zperm 1
set gravX 0
set gravZ -9.81
set gravY 0
set press 0
set bulk 2.2000e+006
set fmass 1

# code runs without errors up to this point

element brickUP 1 3 4 33 2 11 12 35 10 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 2 11 12 35 10 19 20 37 18 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 3 19 20 37 18 27 28 39 26 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 4 2 33 5 1 10 35 13 9 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 5 10 35 13 9 18 37 21 17 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 6 18 37 21 17 26 39 29 25 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 7 1 5 34 8 9 13 36 16 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 8 9 13 36 16 17 21 38 24 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 9 17 21 38 24 25 29 40 32 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 10 8 34 6 7 16 36 14 15 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 11 16 36 14 16 24 38 22 23 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ
element brickUP 12 24 38 22 23 32 40 30 31 1 $bulk $fmass $xperm $yperm $zperm $gravX $gravY $gravZ

puts 1

#### Solver properties ####

constraints Penalty 1.e18 1.e18
numberer RCM
system "Mumps"
test NormDispIncr 1.00e-004 100 1
algorithm ModifiedNewton
integrator Newmark 1.5 1.
analysis Transient

set nonlinear 1

# Properties for pushover analysis
set gamma 0.600000

# use large damping for pushover analysis
set am 0
set ak 1
set numSteps 20
set compdT 1.000000
set dT 1



#### Gravity application ####


# elastic behavior #

set ok [analyze 1 5.00e+003]
if {$ok != 0} { return $ok }
puts "First run done."


# switch material stage from elastic (gravity) to plastic #

updateMaterialStage -material 1 -stage $nonlinear
updateMaterials -material 1 shearModulus 1.62000e+005
updateMaterials -material 1 bulkModulus 7.56000e+005

set ok [analyze 1 1.00e+000]
if {$ok != 0} { return $ok }
puts "Second run done."

wipeAnalysis


#### Insert pile and contact materials ####

model basic -ndm 3 -ndf 6

# pile nodes
node 41 0.0 0.0 0.0
node 42 0.0 -3.0 0.0
node 43 0.0 -6.0 0.0
node 44 0.0 -9.0 0.0

# fix pile nodes from moving out of the symmetrical plane
fix 41 0 1 0 0 0 1
fix 42 0 1 0 0 0 1
fix 43 0 1 0 0 0 1
fix 44 0 1 0 0 0 1

# Pile properties
set I 2.454369e-002
set A 3.926991e-001
set E 3.000000e+007
set G 1.153846e+007
set Jx 4.910000e-002

element elasticBeamColumn 25 41 42 $A $E $G $Jx $I $I 1001
element elasticBeamColumn 26 42 43 $A $E $G $Jx $I $I 1001
element elasticBeamColumn 27 43 44 $A $E $G $Jx $I $I 1001

# Lagrange multiplier nodes
node 45 -0.5 0.0 0.0
node 46 0.0 0.0 0.5
node 47 0.5 0.0 0.0
node 48 -0.5 -3.0 0.0
node 49 0.0 -3.0 0.5
node 50 0.5 -3.0 0.0
node 51 -0.5 -6.0 0.0
node 52 0.0 -6.0 0.5
node 53 0.5 -6.0 0.0
node 54 -0.5 -9.0 0.0
node 55 0.0 -9.0 0.5
node 56 0.5 -9.0 0.0

element BeamContact3D 13 41 42 2 45 0.5 1001 2 3.0 100
element BeamContact3D 14 41 42 1 46 0.5 1001 2 3.0 100
element BeamContact3D 15 41 42 8 47 0.5 1001 2 3.0 100
element BeamContact3D 16 41 42 10 48 0.5 1001 2 3.0 100
element BeamContact3D 17 41 42 9 49 0.5 1001 2 3.0 100
element BeamContact3D 18 41 42 16 50 0.5 1001 2 3.0 100
element BeamContact3D 19 43 42 18 51 0.5 1001 2 3.0 100
element BeamContact3D 20 43 42 17 52 0.5 1001 2 3.0 100
element BeamContact3D 21 43 42 24 53 0.5 1001 2 3.0 100
element BeamContact3D 22 43 44 26 54 0.5 1001 2 3.0 100
element BeamContact3D 23 43 44 25 55 0.5 1001 2 3.0 100
element BeamContact3D 24 43 44 32 56 0.5 1001 2 3.0 100


set numSteps3rdRun 1

# set loads to constant and reset time to zero
loadConst -time 0.0
mass 42 5.890486e-001 5.890486e-001 5.890486e-001 5.890486e-001 5.890486e-001 5.890486e-001
mass 43 5.890486e-001 5.890486e-001 5.890486e-001 5.890486e-001 5.890486e-001 5.890486e-001
pattern Plain 101 Linear {
load 42 [expr 0.000000e+000*$g/$numSteps3rdRun] 0.0 [expr -5.890486e-001*$g/$numSteps3rdRun] 0.0 0.0 0.0
load 43 [expr 0.000000e+000*$g/$numSteps3rdRun] 0.0 [expr -5.890486e-001*$g/$numSteps3rdRun] 0.0 0.0 0.0
}

# add pile gravity

constraints Penalty 1.e18 1.e18
numberer RCM
system "Mumps"
test NormDispIncr 1.00e-004 100 1
algorithm ModifiedNewton
integrator Newmark 1.5 1.
analysis Transient

set ok [analyze $numSteps3rdRun 1.00e+000]
if {$ok != 0} { return $ok }
puts "Third run done."



#### Pushover loading ####

wipeAnalysis
loadConst -time 0.0

model basic -ndm 3 -ndf 6

# Define loading rate
pattern Plain 2 Linear {
load 41 5.0e-001 0.0e+000 0.0e+000 0.0e+000 0.0e+000 0.0e+000
}

set paraTag1 30
set paraTag2 60

# Layer #1
parameter [expr $paraTag1+1] element 1 hPerm
parameter [expr $paraTag2+1] element 1 vPerm
for {set i 2} {$i<=30} {incr i 1} {
addToParameter [expr $paraTag1+1] element $i hPerm
addToParameter [expr $paraTag2+1] element $i vPerm
}
updateParameter [expr $paraTag1+1] [expr 1.0000e-009/$g/$fmass]
updateParameter [expr $paraTag2+1] [expr 1.0000e-009/$g/$fmass]


#### set up recorders ####

# record force frictionforce and masterforce at soil-pile interface
recorder Element -file force.out -time -ele 13 14 15 16 17 18 19 20 21 22 23 24 force
recorder Element -file frictionforce.out -time -ele 13 14 15 16 17 18 19 20 21 22 23 24 frictionforce
recorder Element -file masterforce.out -time -ele 13 14 15 16 17 18 19 20 21 22 23 24 masterforce

#record soil and pile displacements
recorder Node - piledisp.out -time -node 41 42 43 44 -dof 1 disp
recorder Node - soildisp.out -time -node 2 10 18 26 8 16 24 32 -dof 1 disp

#record pore water pressure in soil elements
recorder Node -file pwp.out -time -node 8 16 24 32 7 15 23 31 -dof 4 vel

#### Run analysis ####

constraints Lagrange
numberer RCM
system "Mumps"
test NormDispIncr 1.00e-004 50 1
algorithm KrylovNewton
rayleigh $am 0.0 $ak 0.0
integrator Newmark $gamma [expr pow($gamma+0.5, 2)/4]
analysis VariableTransient


set ok [analyze $numSteps $compdT [expr $compdT/100] $compdT 15]
if {$ok != 0} { return $ok }
puts "Finished."

wipe; #need wipe to finish writing buffer to files
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Help with an incompatible error

Post by fmk »

the brickUp has 3 translational dof and 1 for the pressure .. i.e. ndf = 4 and before you ask, yes your beams will have ndf=6. .. you need to use 2 model commands and tie the 2 models together with the equalDOF command.
mlw
Posts: 49
Joined: Sun Feb 20, 2011 7:27 pm
Location: New Zealand

Re: Help with an incompatible error

Post by mlw »

fmk,

I have tried using 'model BasicBuilder -ndm 3 -ndf 4' replacing the -ndf 6 command in the third line of code.

However this does not work as opensees gives the error:
'WARNING NDM 3 and NDF 4 is incompatible with available frame elements'

Thank you for your time
Locked