Hi ismailqeshta!... thanks a lot for the response. I've gone through those examples already but still was stuck at the problem.
Meanwhile, I've found a solution. I've used one ElasticPPGap material and one Hysteretic material in series. After the gap, the combined stiffness of the two materials should be such that it represents the force deformation behaviour I want to specify for the material. It's now running fine.
Thanks a lot,
Regards,
Swarup
Search found 6 matches
- Tue Apr 02, 2019 5:42 am
- Forum: OpenSees.exe Users
- Topic: Gap in hysteretic material
- Replies: 2
- Views: 2685
- Mon Apr 01, 2019 11:27 pm
- Forum: OpenSees.exe Users
- Topic: How to create spring and attach to it a zeroLength element?
- Replies: 2
- Views: 2646
Re: How to create spring and attach to it a zeroLength elem
Hi,
I have once developed a compression only multilinear material in OpenSees by just modifying the existing multilinear material. I can give you the source file (.cpp) and also the .dll file but don't know whether the .dll file will work on your system. I am using 64bit Windows 8.1. But once you have the .cpp file you can link it with OpenSees based on the guidelines provided in "add a new material in Opensees". To use the material just replace the term 'MultiLinear' with 'MultiLinearCO',
'uniaxialMaterial MultiLinear $matTag $u1 $f1 $u2 $f2 $u3 $f3 $u4 $f4 ...' should be replaced by 'uniaxialMaterial MultiLinearCO $matTag $u1 $f1 $u2 $f2 $u3 $f3 $u4 $f4 ...'
Just make sure that your system doesn't have any rigid motion during reversal of loading, i.e. when tension is acting...
Best wishes...
I have once developed a compression only multilinear material in OpenSees by just modifying the existing multilinear material. I can give you the source file (.cpp) and also the .dll file but don't know whether the .dll file will work on your system. I am using 64bit Windows 8.1. But once you have the .cpp file you can link it with OpenSees based on the guidelines provided in "add a new material in Opensees". To use the material just replace the term 'MultiLinear' with 'MultiLinearCO',
'uniaxialMaterial MultiLinear $matTag $u1 $f1 $u2 $f2 $u3 $f3 $u4 $f4 ...' should be replaced by 'uniaxialMaterial MultiLinearCO $matTag $u1 $f1 $u2 $f2 $u3 $f3 $u4 $f4 ...'
Just make sure that your system doesn't have any rigid motion during reversal of loading, i.e. when tension is acting...
Best wishes...
- Tue Mar 26, 2019 10:27 pm
- Forum: OpenSees.exe Users
- Topic: Gap in hysteretic material
- Replies: 2
- Views: 2685
Gap in hysteretic material
HI !
Can anyone suggest me, how can I provide an initial gap in hysteretic material in OpenSees?
I'll highly appreciate any suggestion regarding that.
Thanks and Regards,
Swarup
Can anyone suggest me, how can I provide an initial gap in hysteretic material in OpenSees?
I'll highly appreciate any suggestion regarding that.
Thanks and Regards,
Swarup
- Fri Mar 15, 2019 10:20 pm
- Forum: OpenSees.exe Users
- Topic: Openseespy link to Matlab
- Replies: 4
- Views: 4374
Re: Openseespy link to Matlab
Hello,
You can save the matlab variables in a *.mat file, say it's a matrix (or array) myvar = (p1, p2, p3, p4, p5) and saved in 'myvar.mat'. From python you can then load this mat file
from scipy.io import loadmat, savemat
var = loadmat('myvar.mat')
# 'var' will be a 'dict' {}, so extract your matrix
myvar=var['myvar']
then you can extract p1,p2,... by python indexing and run opensees using those.
and after analysis you can save them back in a mat file. say 'out' is your output variable,
D={} #define a 'dict'
D['out']=out
savemat('D',out)
output variable will be saved in 'D.mat' file. Now you can use that in matlab. you can perform this task just by switching between matlab and python windows.
or otherwise you can call matlab engine from python. see 'Matlab API for Python' in Matlab help. But the easiest way would be the previous one.
You can save the matlab variables in a *.mat file, say it's a matrix (or array) myvar = (p1, p2, p3, p4, p5) and saved in 'myvar.mat'. From python you can then load this mat file
from scipy.io import loadmat, savemat
var = loadmat('myvar.mat')
# 'var' will be a 'dict' {}, so extract your matrix
myvar=var['myvar']
then you can extract p1,p2,... by python indexing and run opensees using those.
and after analysis you can save them back in a mat file. say 'out' is your output variable,
D={} #define a 'dict'
D['out']=out
savemat('D',out)
output variable will be saved in 'D.mat' file. Now you can use that in matlab. you can perform this task just by switching between matlab and python windows.
or otherwise you can call matlab engine from python. see 'Matlab API for Python' in Matlab help. But the easiest way would be the previous one.
- Mon Mar 11, 2019 11:36 pm
- Forum: OpenSees.exe Users
- Topic: EalsticPPGap material error
- Replies: 0
- Views: 1662
EalsticPPGap material error
Hi,
I am trying to use the ElasticPPGap material in OpenSees but getting error if I put any numerical value for the gap. If the gap is 0.0 the program is running perfectly. Following is my .tcl script. Please help. Thank you...
wipe
logFile viewlog
model BasicBuilder -ndm 2 -ndf 3
set E0 3.35E+03
set Fy 54.0
set gap 0.01
set b 0.001
uniaxialMaterial ElasticPPGap 1 $E0 $Fy $gap 0.01
section Uniaxial 101 1 P
set axialLoad 1.0; # + Tension, - Compression
# Define two nodes at (0,0)
node 1001 0.0 0.0
node 1002 0.0 0.0
# Fix all degrees of freedom except axial and bending
fix 1001 1 1 1
fix 1002 0 1 1
# Define element
# tag ndI ndJ secTag
element zeroLengthSection 2001 1001 1002 101
# Define constant axial load
pattern Plain 3001 "Linear" {
load 1002 $axialLoad 0.0 0.0
}
recorder Node -file Disp.out -node 1002 -dof 1 disp
recorder Node -file Reac.out -node 1001 -dof 1 reaction
system BandGeneral
test EnergyIncr 1.0e-9 10
algorithm Newton
constraints Transformation
numberer Plain
integrator DisplacementControl 1002 1 0.001
analysis Static
analyze 100
puts "Analysis Finished"
Following is the error statement I am geting,
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 1
DisplacementControl::newStep(void) - failed in solver
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at load factor 0
OpenSees > analyze failed, returned: -2 error flag
Analysis Finished
If I put gap = 0.0 then the program is running fine.
I am trying to use the ElasticPPGap material in OpenSees but getting error if I put any numerical value for the gap. If the gap is 0.0 the program is running perfectly. Following is my .tcl script. Please help. Thank you...
wipe
logFile viewlog
model BasicBuilder -ndm 2 -ndf 3
set E0 3.35E+03
set Fy 54.0
set gap 0.01
set b 0.001
uniaxialMaterial ElasticPPGap 1 $E0 $Fy $gap 0.01
section Uniaxial 101 1 P
set axialLoad 1.0; # + Tension, - Compression
# Define two nodes at (0,0)
node 1001 0.0 0.0
node 1002 0.0 0.0
# Fix all degrees of freedom except axial and bending
fix 1001 1 1 1
fix 1002 0 1 1
# Define element
# tag ndI ndJ secTag
element zeroLengthSection 2001 1001 1002 101
# Define constant axial load
pattern Plain 3001 "Linear" {
load 1002 $axialLoad 0.0 0.0
}
recorder Node -file Disp.out -node 1002 -dof 1 disp
recorder Node -file Reac.out -node 1001 -dof 1 reaction
system BandGeneral
test EnergyIncr 1.0e-9 10
algorithm Newton
constraints Transformation
numberer Plain
integrator DisplacementControl 1002 1 0.001
analysis Static
analyze 100
puts "Analysis Finished"
Following is the error statement I am geting,
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 1
DisplacementControl::newStep(void) - failed in solver
StaticAnalysis::analyze() - the Integrator failed at iteration: 0 with domain at load factor 0
OpenSees > analyze failed, returned: -2 error flag
Analysis Finished
If I put gap = 0.0 then the program is running fine.
- Tue Sep 27, 2016 5:05 am
- Forum: Reliability Analysis
- Topic: PM Hinge interaction curve
- Replies: 1
- Views: 11241
PM Hinge interaction curve
Hi,
Is there any option in Opensees so that I can input P-M interaction curve for Hinges. Actually I want to model a masonry column. But due to unavailability of axial shear interaction model I want to convert the shear forces to equivalent moment which will interact with the level of axial force present in the cross section. For that I need to define the axial-moment interaction curve for the columns. Is there any option available?
Is there any option in Opensees so that I can input P-M interaction curve for Hinges. Actually I want to model a masonry column. But due to unavailability of axial shear interaction model I want to convert the shear forces to equivalent moment which will interact with the level of axial force present in the cross section. For that I need to define the axial-moment interaction curve for the columns. Is there any option available?