Possible error in equalDOF command
Moderator: Moderators
Possible error in equalDOF command
Hi,
I have two different domains one with quad element (2DOF) and another with quadup(3DOF) elements. I connect them with equalDOF command (DOF 1 & 2).
e.g. lets say we have node 1 (2DOF) and
node 2 (3DOF).
I am using a Transformation constraints handler.
If I make the node 1 master and then try to apply a constant multiple support velocity groundmotion command in node 2 at the 3rd DOF it treats the boundary condition as homogeneous (vel=0) no matter the value of the condition.
If node 2 is the master then the constant multiple support velocity groundmotion command in the 3rd DOF of node 2 gets applied correctly, even if non homogeneous conditions are applied.
I think equalDOF command completely removes the DOF's of the slave node, could it be that it actually removes all the DOF's of the slave node?
Antonios Vytiniotis
I have two different domains one with quad element (2DOF) and another with quadup(3DOF) elements. I connect them with equalDOF command (DOF 1 & 2).
e.g. lets say we have node 1 (2DOF) and
node 2 (3DOF).
I am using a Transformation constraints handler.
If I make the node 1 master and then try to apply a constant multiple support velocity groundmotion command in node 2 at the 3rd DOF it treats the boundary condition as homogeneous (vel=0) no matter the value of the condition.
If node 2 is the master then the constant multiple support velocity groundmotion command in the 3rd DOF of node 2 gets applied correctly, even if non homogeneous conditions are applied.
I think equalDOF command completely removes the DOF's of the slave node, could it be that it actually removes all the DOF's of the slave node?
Antonios Vytiniotis
Error
#
# 8 _____ 7 Free drainage on top
# | |
# | 3DOF |
# | |
# 5 / 4 -------- 6 / 3 (3DOF /2DOF) Nodal load in node 6
# | |
# | 2DOF |
# | |
# 1 ------- 2
#
# 2DOF domain
model BasicBuilder -ndm 2 -ndf 2
node 1 0. 0.
node 2 1. 0.
node 3 1. 1.
node 4 0. 1.
# Material for quad elements - elastic mode
nDMaterial PressureIndependMultiYield 1 2 1.37 13000 65000 6. .1
updateMaterialStage -material 1 -stage 0
# Quad element
set gravX 0.0
set gravY 0.0
set press 0.0
element quad 1 1 2 3 4 1.0 "PlaneStrain" 1 $press 1.3 $gravX $gravY
# 3DOF domain
model BasicBuilder -ndm 2 -ndf 3
node 5 3.511 7.348
node 6 3.706 7.337
node 7 3.901 7.326
node 8 4.096 7.316
# Material for quadUP elems - elastic mode
nDMaterial PressureDependMultiYield02 2 2 2.07 130000 260000 36.5 .1 80 0.5 26. 0.013 0.0 0.3 0.0
updateMaterialStage -material 2 -stage 0
# Quadup element
set bulk_f 2.2e6
set n_por 0.333
set bulk [expr $bulk_f/$n_por]
element quadUP 2 5 6 7 8 1.0 2 $bulk 1. [expr 0.0003/9.81/1.] [expr 0.0003/9.81/1.] $gravX $gravY $press
# Fixities - drainage on top
fix 1 1 1 0
fix 2 1 0 0
fix 7 0 0 1
fix 8 0 0 1
# These are fixities on the non-linear part of the the connection:
equalDOF 4 5 1 2
equalDOF 3 6 1 2
set Timeseries1 "Constant -factor 10."
# Set the pore pressure boundary for gravity
pattern MultipleSupport 1 {
groundMotion 1 Plain -vel $Timeseries1
imposedMotion 6 3 1
}
set massProportionalDamping 0. ;
set InitStiffnessProportionalDamping 0.002;
set gamma 0.65
test NormDispIncr 5.0e-4 50 2;
integrator Newmark $gamma [expr pow($gamma+0.5, 2)/4] \
$massProportionalDamping 0.0 $InitStiffnessProportionalDamping 0.0
constraints Transformation
algorithm KrylovNewton
numberer RCM
system ProfileSPD
# create the analysis object
analysis Transient
puts "Starting analysis"
# perform analysis
set startT [clock seconds]
set ok 0
set currentTime 0.0
set dt 0.01
set disp_incr 5.0e-4
set iter 30
test NormDispIncr $disp_incr $iter 2;
# Analysis
set ok [analyze 10 $dt]
set endT [clock seconds]
puts "Execution time: [expr $endT-$startT] seconds."
print node 6
print node 5
# 8 _____ 7 Free drainage on top
# | |
# | 3DOF |
# | |
# 5 / 4 -------- 6 / 3 (3DOF /2DOF) Nodal load in node 6
# | |
# | 2DOF |
# | |
# 1 ------- 2
#
# 2DOF domain
model BasicBuilder -ndm 2 -ndf 2
node 1 0. 0.
node 2 1. 0.
node 3 1. 1.
node 4 0. 1.
# Material for quad elements - elastic mode
nDMaterial PressureIndependMultiYield 1 2 1.37 13000 65000 6. .1
updateMaterialStage -material 1 -stage 0
# Quad element
set gravX 0.0
set gravY 0.0
set press 0.0
element quad 1 1 2 3 4 1.0 "PlaneStrain" 1 $press 1.3 $gravX $gravY
# 3DOF domain
model BasicBuilder -ndm 2 -ndf 3
node 5 3.511 7.348
node 6 3.706 7.337
node 7 3.901 7.326
node 8 4.096 7.316
# Material for quadUP elems - elastic mode
nDMaterial PressureDependMultiYield02 2 2 2.07 130000 260000 36.5 .1 80 0.5 26. 0.013 0.0 0.3 0.0
updateMaterialStage -material 2 -stage 0
# Quadup element
set bulk_f 2.2e6
set n_por 0.333
set bulk [expr $bulk_f/$n_por]
element quadUP 2 5 6 7 8 1.0 2 $bulk 1. [expr 0.0003/9.81/1.] [expr 0.0003/9.81/1.] $gravX $gravY $press
# Fixities - drainage on top
fix 1 1 1 0
fix 2 1 0 0
fix 7 0 0 1
fix 8 0 0 1
# These are fixities on the non-linear part of the the connection:
equalDOF 4 5 1 2
equalDOF 3 6 1 2
set Timeseries1 "Constant -factor 10."
# Set the pore pressure boundary for gravity
pattern MultipleSupport 1 {
groundMotion 1 Plain -vel $Timeseries1
imposedMotion 6 3 1
}
set massProportionalDamping 0. ;
set InitStiffnessProportionalDamping 0.002;
set gamma 0.65
test NormDispIncr 5.0e-4 50 2;
integrator Newmark $gamma [expr pow($gamma+0.5, 2)/4] \
$massProportionalDamping 0.0 $InitStiffnessProportionalDamping 0.0
constraints Transformation
algorithm KrylovNewton
numberer RCM
system ProfileSPD
# create the analysis object
analysis Transient
puts "Starting analysis"
# perform analysis
set startT [clock seconds]
set ok 0
set currentTime 0.0
set dt 0.01
set disp_incr 5.0e-4
set iter 30
test NormDispIncr $disp_incr $iter 2;
# Analysis
set ok [analyze 10 $dt]
set endT [clock seconds]
puts "Execution time: [expr $endT-$startT] seconds."
print node 6
print node 5
Correct
#
# 8 _____ 7 Free drainage on top
# | |
# | 3DOF |
# | |
# 5 / 4 -------- 6 / 3 (3DOF /2DOF) Nodal load in node 6
# | |
# | 2DOF |
# | |
# 1 ------- 2
#
# 2DOF domain
model BasicBuilder -ndm 2 -ndf 2
node 1 0. 0.
node 2 1. 0.
node 3 1. 1.
node 4 0. 1.
# Material for quad elements - elastic mode
nDMaterial PressureIndependMultiYield 1 2 1.37 13000 65000 6. .1
updateMaterialStage -material 1 -stage 0
# Quad element
set gravX 0.0
set gravY 0.0
set press 0.0
element quad 1 1 2 3 4 1.0 "PlaneStrain" 1 $press 1.3 $gravX $gravY
# 3DOF domain
model BasicBuilder -ndm 2 -ndf 3
node 5 3.511 7.348
node 6 3.706 7.337
node 7 3.901 7.326
node 8 4.096 7.316
# Material for quadUP elems - elastic mode
nDMaterial PressureDependMultiYield02 2 2 2.07 130000 260000 36.5 .1 80 0.5 26. 0.013 0.0 0.3 0.0
updateMaterialStage -material 2 -stage 0
# Quadup element
set bulk_f 2.2e6
set n_por 0.333
set bulk [expr $bulk_f/$n_por]
element quadUP 2 5 6 7 8 1.0 2 $bulk 1. [expr 0.0003/9.81/1.] [expr 0.0003/9.81/1.] $gravX $gravY $press
# Fixities - drainage on top
fix 1 1 1 0
fix 2 1 0 0
fix 7 0 0 1
fix 8 0 0 1
# These are fixities on the non-linear part of the the connection:
equalDOF 5 4 1 2
equalDOF 6 3 1 2
set Timeseries1 "Constant -factor 10."
# Set the pore pressure boundary for gravity
pattern MultipleSupport 1 {
groundMotion 1 Plain -vel $Timeseries1
imposedMotion 6 3 1
}
set massProportionalDamping 0. ;
set InitStiffnessProportionalDamping 0.002;
set gamma 0.65
test NormDispIncr 5.0e-4 50 2;
integrator Newmark $gamma [expr pow($gamma+0.5, 2)/4] \
$massProportionalDamping 0.0 $InitStiffnessProportionalDamping 0.0
constraints Transformation
algorithm KrylovNewton
numberer RCM
system ProfileSPD
# create the analysis object
analysis Transient
puts "Starting analysis"
# perform analysis
set startT [clock seconds]
set ok 0
set currentTime 0.0
set dt 0.01
set disp_incr 5.0e-4
set iter 30
test NormDispIncr $disp_incr $iter 2;
# Analysis
set ok [analyze 10 $dt]
set endT [clock seconds]
puts "Execution time: [expr $endT-$startT] seconds."
print node 6
print node 5
# 8 _____ 7 Free drainage on top
# | |
# | 3DOF |
# | |
# 5 / 4 -------- 6 / 3 (3DOF /2DOF) Nodal load in node 6
# | |
# | 2DOF |
# | |
# 1 ------- 2
#
# 2DOF domain
model BasicBuilder -ndm 2 -ndf 2
node 1 0. 0.
node 2 1. 0.
node 3 1. 1.
node 4 0. 1.
# Material for quad elements - elastic mode
nDMaterial PressureIndependMultiYield 1 2 1.37 13000 65000 6. .1
updateMaterialStage -material 1 -stage 0
# Quad element
set gravX 0.0
set gravY 0.0
set press 0.0
element quad 1 1 2 3 4 1.0 "PlaneStrain" 1 $press 1.3 $gravX $gravY
# 3DOF domain
model BasicBuilder -ndm 2 -ndf 3
node 5 3.511 7.348
node 6 3.706 7.337
node 7 3.901 7.326
node 8 4.096 7.316
# Material for quadUP elems - elastic mode
nDMaterial PressureDependMultiYield02 2 2 2.07 130000 260000 36.5 .1 80 0.5 26. 0.013 0.0 0.3 0.0
updateMaterialStage -material 2 -stage 0
# Quadup element
set bulk_f 2.2e6
set n_por 0.333
set bulk [expr $bulk_f/$n_por]
element quadUP 2 5 6 7 8 1.0 2 $bulk 1. [expr 0.0003/9.81/1.] [expr 0.0003/9.81/1.] $gravX $gravY $press
# Fixities - drainage on top
fix 1 1 1 0
fix 2 1 0 0
fix 7 0 0 1
fix 8 0 0 1
# These are fixities on the non-linear part of the the connection:
equalDOF 5 4 1 2
equalDOF 6 3 1 2
set Timeseries1 "Constant -factor 10."
# Set the pore pressure boundary for gravity
pattern MultipleSupport 1 {
groundMotion 1 Plain -vel $Timeseries1
imposedMotion 6 3 1
}
set massProportionalDamping 0. ;
set InitStiffnessProportionalDamping 0.002;
set gamma 0.65
test NormDispIncr 5.0e-4 50 2;
integrator Newmark $gamma [expr pow($gamma+0.5, 2)/4] \
$massProportionalDamping 0.0 $InitStiffnessProportionalDamping 0.0
constraints Transformation
algorithm KrylovNewton
numberer RCM
system ProfileSPD
# create the analysis object
analysis Transient
puts "Starting analysis"
# perform analysis
set startT [clock seconds]
set ok 0
set currentTime 0.0
set dt 0.01
set disp_incr 5.0e-4
set iter 30
test NormDispIncr $disp_incr $iter 2;
# Analysis
set ok [analyze 10 $dt]
set endT [clock seconds]
puts "Execution time: [expr $endT-$startT] seconds."
print node 6
print node 5