three dimensional contact element

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

Moderators: silvia, selimgunay, Moderators

shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

three dimensional contact element

Post by shivanirani11 »

Hi,

IS anyone knows how to use SimpleContact3D element. In it, I am facin problem of giving the lagrangian node. I am not able to understand where is it have to give and how.
Please reply........ :|
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

Here is an example:

wipe;
file mkdir Data;

model basic -ndm 3 -ndf 6;
#nodes
node 1 0 0 0;
node 2 0 0 10;
node 3 0 0 10;
# Single point constraints -- Boundary Conditions
fix 1 1 1 1 1 1 1;
fix 3 1 1 1 1 1 1;
#mass
mass 2 100 100 100 10e-10 10e-10 10e-10;

# Define ELEMENTS -----------------------------------------------------------
geomTransf Linear 1 0 -1 0;
element elasticBeamColumn 1 1 2 0.01 3.29e10 1.0e20 2.0e-5 1.0e-5 1.0e-5 1;

#contact element
model basic -ndm 3 -ndf 3;
node 12 0 0 10;
node 13 0 0 10;

equalDOF 3 13 1 2 3;
equalDOF 2 12 1 2 3;

element zeroLengthContact3D 3 12 13 1.0e+5 0.5e+5 0.5 0 3;

# Define RECORDERS ---------------------------------------------------------
recorder Node -file data/nodevel.out -time -node 2 -dof 1 vel;
recorder Node -file data/nodeDisp.out -time -node 2 -dof 1 disp;
recorder Node -file data/nodeaccel.out -time -node 2 -dof 1 accel;

# define load and analysis -----------------------------------------------------------
set dt 0.02;
set Scale 1.0;
set accelSeries "Path -filePath elcentro.txt -dt $dt -factor [expr 1*$Scale]";
pattern UniformExcitation 1 1 -accel $accelSeries;

constraints Penalty 10e15 10e15;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.0e-6 100
algorithm Newton
integrator Newmark 0.5 0.25;
analysis Transient;

set tFinal [expr 2000 * 0.02];
set tCurrent [getTime];
set ok 0;
while {$ok == 0 && $tCurrent < $tFinal} {
set ok [analyze 1 0.002]
if {$ok != 0} {
puts "regular newton failed .. lets try an initail stiffness for this step"
test NormDispIncr 1.0e-6 100
algorithm ModifiedNewton -initial
set ok [analyze 1 0.002]
if {$ok == 0} {puts "that worked .. back to regular newton"}
test NormDispIncr 1.0e-6 100
algorithm Newton
}
set tCurrent [getTime]
}
# Print a message to indicate if analysis succesfull or not
if {$ok == 0} {
puts "Transient analysis completed SUCCESSFULLY";
} else {
puts "Transient analysis completed FAILED";
};
puts "Done!"
shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

Re: three dimensional contact element

Post by shivanirani11 »

Thank you for your reply. But I am trying to use the SimpleContact3D element. Please have a look on the following program, in which I am trying to join two brick element to another two brick element. Here I use SimpleContact3D element for the simulation of the contact between the brick element. But I am getting error. My program is not running. Please check it, and tell me where did I make a mistake.

I will look forward for your reply.



wipe;
model BasicBuilder -ndm 3 -ndf 3
node 1 0 0 0;
node 2 1 0 0;
node 3 1 1 0;
node 4 0 1 0;
node 5 0 0 1;
node 6 0 1 1;
node 7 1 1 1;
node 8 0 1 1;
node 9 0 0 2;
node 10 1 0 2;
node 11 1 1 2;
node 12 0 1 2;

fixZ 0.0 1 1 1 1 1 1 -tol 0.0001;
fixZ 1.0 0 0 0 0 0 0 -tol 0.0001;
fixZ 2.0 0 0 0 0 0 0 -tol 0.0001;

nDMaterial ElasticIsotropic 1 70000 0.3 0; # Material having property like soil

element stdBrick 1 1 2 3 4 5 6 7 8 1; # Brick element
element stdBrick 2 5 6 7 8 9 10 11 12 1;

node 13 1 0 0;
node 14 2 0 0;
node 15 2 1 0;
node 16 1 1 0;
node 17 1 0 1;
node 18 2 0 1;
node 19 2 1 1;
node 20 1 1 1;
node 21 1 0 2;
node 22 2 0 2;
node 23 2 1 2;
node 24 1 1 2;

fixZ 0.0 1 1 1 1 1 1 -tol 0.0001;
fixZ 1.0 0 0 0 0 0 0 -tol 0.0001;
fixZ 2.0 0 0 0 0 0 0 -tol 0.0001;

equalDOF 13 1 1 2 3 4 5 6;
equalDOF 16 4 1 2 3 4 5 6;
equalDOF 17 5 1 2 3 4 5 6;
equalDOF 20 8 1 2 3 4 5 6;
equalDOF 21 9 1 2 3 4 5 6;
equalDOF 24 12 1 2 3 4 5 6;


nDMaterial ElasticIsotropic 2 29.58E06 0.2 0; # material having property like concrete

element stdBrick 3 13 14 15 16 17 18 19 20 2;
element stdBrick 4 17 18 19 20 21 22 23 24 2;

# element represting the interface

node 25 1 0.5 0.5; # salve node
node 26 1 0.5 1.5;
node 31 1 0.5 0.5;
node 32 1 0.5 1.5;
node 27 0 0 0; # lagrangian node
node 28 0 0 0;
node 29 0 0 0;
node 30 0 0 0;

fix 25 0 0 0 0 0 0;
fix 26 0 0 0 0 0 0;
fix 31 0 0 0 0 0 0;
fix 32 0 0 0 0 0 0;

equalDOF 25 31 1 2 3 4 5 6;
equalDOF 26 32 1 2 3 4 5 6;

set matTag 3;
set mu 0.3;
set G 56000;
set c 100;
set t 0;
nDMaterial ContactMaterial3D $matTag $mu $G $c $t;


#element SimpleContact3D $eleTag $iNode $jNode $kNode $lNode $sNode $LNode $matTag $gTol $fTol
element SimpleContact3D 5 6 7 3 2 25 27 3 0.001 0.001;
element SimpleContact3D 6 20 17 13 16 31 28 3 0.001 0.0001;
element SimpleContact3D 7 10 11 7 6 26 29 3 0.001 0.001;
element SimpleContact3D 8 24 21 17 20 32 30 3 0.001 0.001;
element SurfaceLoad 9 18 19 22 23 -100;

pattern Plain 1 Constant {
eleLoad -ele 9 -type -surfaceLoad;
}

file mkdir interface11
recorder Node -file interface11/soiltopnode.out -node 9 10 11 12 -dof 1 2 3 4 5 6 disp;
recorder Node -file interface11/interfacetopnode.out -node 10 21 24 11 -dof 1 2 3 4 5 6 disp;
recorder Node -file interface11/piletopnode.out -node 21 22 23 24 -dof 1 2 3 4 5 6 disp;
recorder Node -file interface11/soilmiddlenode.out -node 5 6 7 8 -dof 1 2 3 4 5 6 disp;
recorder Node -file interface11/interfacemiddlenode.out -node 6 17 20 7 -dof 1 2 3 4 5 6 disp;
recorder Node -file interface11/pilemiddlenode.out -node 17 18 19 20 -dof 1 2 3 4 5 6 disp;
recorder Node -file interface11/Rbase1.out -node 1 2 3 4 13 14 15 16 -dof 1 2 3 4 5 6 reaction;
recorder Node -file interface11/Dbase1.out -node 1 2 3 4 13 14 15 16 -dof 1 2 3 4 5 6 disp;

integrator LoadControl 1;
test NormDispIncr 1e-5 100 1;
numberer Plain;
system BandGeneral;
constraints Transformation;
algorithm Newton;
analysis Static;
set startT [clock seconds]
analyze 1;
set endT [clock seconds]
puts " analysis execution time : [expr $endT -$startT] seconds"
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

What is the error that you get?
shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

Re: three dimensional contact element

Post by shivanirani11 »

when I run the file, it automatically closed.
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

What version of OpenSees do you use?
shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

Re: three dimensional contact element

Post by shivanirani11 »

2.3.2
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

what happens if you try to run it with the latest version of opensees?
shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

Re: three dimensional contact element

Post by shivanirani11 »

will downloading 2.4.0 make any changes because I am working on 2.3.2 since 1 year. There is no problem till now.

And also initially, I was getting some convergence problem, but later on it happened(window closes automatically). Can you please tell me about actual problem
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

To see why it closes automatically open command prompt first and call OpenSees from there. After opensees closes you will get the error message that will indicate the problem.
shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

Re: three dimensional contact element

Post by shivanirani11 »

now I am not getting the problem of automatically closing window but I am facing the problem of convergence. I have tried multiple times but not getting any answer. Please help me to solve this problem.

integrator LoadControl 1;
test NormDispIncr 1e-5 15 1;
numberer Plain;
system BandGeneral;
constraints Transformation;
algorithm Newton;
analysis Static;
set startT [clock seconds]
analyze 1;
set endT [clock seconds]
puts " analysis execution time : [expr $endT -$startT] seconds"
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

Your load may be too big to apply it in one step. Try to increase the number of analysis steps. Replace constant time series with the linear one.
shivanirani11
Posts: 82
Joined: Tue Jun 19, 2012 1:56 am

Re: three dimensional contact element

Post by shivanirani11 »

I tried that still not getting any result. There is one more question, my load is constant throughout the analysis so why should I change it to linear.

But I tried with the linear as well but not getting any result
alysa
Posts: 3
Joined: Sun Feb 10, 2013 9:55 am
Contact:

Re: three dimensional contact element

Post by alysa »

I have searched so many times for this but i also couldn't find any suitable solution for this .
You might also like: short hairstyles for fine hair .
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: three dimensional contact element

Post by vesna »

If you have nonlinear elements in your model and apply too big of a load in one time step (constant load pattern) you may not be able to find a solution. That is why I recommended to use linear time series, so you gradually approach to the solution.

What error message do you get?
Post Reply