Problem on using Save/Restore Command with BondSP01 Material

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

Moderators: silvia, selimgunay, Moderators

Post Reply
JAMINPARK
Posts: 11
Joined: Tue Sep 23, 2014 11:58 pm

Problem on using Save/Restore Command with BondSP01 Material

Post by JAMINPARK »

Hi everyone

I have analyzed RC columns applying zero length element and for step by step analysis I also applied an save/restore command in my code.

The problem is when I used a typical material such as concrete02, steel02 for the zero length element, everything was fine.
However, after I changed the material from steel02 to Bond_SP01, some error messages was printed on my screen.

The error messages are like below
FEM_ObjectBrokerAllClasses::getNewUniaxialMaterial - - no UniaxialMaterial type exists for class tag 27
FiberSection2d::recvSelf -- failed to allocate double array for material data

When I didn't used save/restore command, the error was not occurred.

My questions are
'Bond_SP01' is not available with save/restore commands ?
If it is true, how can I modified my code to use both the Bond SP01 and save/restore commands?

Thank you for your kind help

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

Re: Problem on using Save/Restore Command with BondSP01 Mate

Post by fmk »

can you quickly post 1 1 material 1 element (zeroLength) example
JAMINPARK
Posts: 11
Joined: Tue Sep 23, 2014 11:58 pm

Re: Problem on using Save/Restore Command with BondSP01 Mate

Post by JAMINPARK »

Thank you for your very quick reply !!

Greatly simplified version of my code is like below
(This code is for an earthquake analysis of SDOF system)
---------------------------------------------------------------------------------------
wipe;
file mkdir data;

# set analysis parameters
set n_step 150; # Number of analysis steps
set dt 0.01; # Time step length
set xsi 0.05; # Damping ratio
set wn 3*2*3.1415; # Natural frequency, rad/s
set g 386.0880; # Gravitational accelration, in/s^2

# define_model
model BasicBuilder -ndm 2 -ndf 3;

# define node and mass
node 1 0.0 0.0;
node 2 0.0 0.0;
node 3 70.0 0.0;

mass 3 0.0 0.5 0.0;

# boundary condition
fix 1 1 1 1;
fix 2 0 1 0;

# define material property
uniaxialMaterial Steel02 1 58.000000 29000.000000 0.010000 18.000000 0.925000 0.150000
uniaxialMaterial Bond_SP01 2 58.000000 0.002015 12615.000000 0.060450 0.300000 0.600000

# define section
section fiberSec 1 {;
patch quad 1 20 20 -7.0 -5.0 7.0 -5.0 7.0 5.0 -7.0 5.0;
layer straight 1 3 0.5 -5.0 3.0 -5.0 -3.0;
layer straight 1 3 0.5 5.0 3.0 5.0 -3.0;
};
section fiberSec 2 {;
patch quad 1 20 20 -7.0 -5.0 7.0 -5.0 7.0 5.0 -7.0 5.0;
layer straight 2 3 0.5 -5.0 3.0 -5.0 -3.0;
layer straight 2 3 0.5 5.0 3.0 5.0 -3.0;
};

# define_element
geomTransf Linear 1;
element zeroLengthSection 2 1 2 2
element nonlinearBeamColumn 1 2 3 5 1 1

# define_recorder
recorder Node -file data/nodal_disp1.out -precision 10 -time -node 3 -dof 2 disp
recorder Node -file data/nodal_vel1.out -precision 10 -time -node 3 -dof 2 vel
recorder Node -file data/nodal_accel1.out -precision 10 -time -node 3 -dof 2 accel

# define_analysis
constraints Transformation;
numberer RCM;
system BandGeneral;
test NormDispIncr 1.e-6 5000;
algorithm KrylovNewton;
integrator Newmark 0.5 0.25;
analysis Transient;
rayleigh [expr 2*$xsi*$wn] 0. 0. 0.;
set accelSeries "Series -dt $dt -filePath elcentro.acc -factor [expr 0.5*$g]";
pattern UniformExcitation 2 2 -accel $accelSeries;

# do analysis
for {set i 1} {$i < $n_step} {incr i} {
if {$i==1} {
analyze 1 [expr $dt/1.0]
database File results;
save 11
} else {
restore 11
database File results;
analyze 1 [expr $dt/1.0]
save 11
}
}

wipe;
---------------------------------------------------------------------------------------

This code causes error like below
(Details of error messages are different to those of my original code. But I think that both errors are from same problem)
ZeroLengthSection::recvSelf -- failed to receive Section
Domain::recv - element with tag 2 failed in recvSelf
FE_Datastore::restoreState - domain failed to recvSelf
WARNING - database failed to restoreState

However if the material tag of two straight layers in section 2 is changed from 2 to 1 (This means changing material from Bond_SP01 to Steel02)
then analysis is well completed without any errors

Modified code is
---------------------------------------------------------------------------------------
section fiberSec 2 {;
patch quad 1 20 20 -7.0 -5.0 7.0 -5.0 7.0 5.0 -7.0 5.0;
layer straight 2 3 0.5 -5.0 3.0 -5.0 -3.0;
layer straight 2 3 0.5 5.0 3.0 5.0 -3.0;
};
---------------------------------------------------------------------------------------

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

Re: Problem on using Save/Restore Command with BondSP01 Mate

Post by fmk »

i have made the changes to the source code .. it will (hopefully) be next wed when the new release comes out .. i have been promising that for about a month!
JAMINPARK
Posts: 11
Joined: Tue Sep 23, 2014 11:58 pm

Re: Problem on using Save/Restore Command with BondSP01 Mate

Post by JAMINPARK »

It's very good to hear that this problem will be fixed in the next version.

Thank you for your efforts.

Jamin Park
Post Reply