Hello Engineers,
I have a very simple question that gets on my nerve: I want to model a SDOF structure with a dashpot (viscous material) and compare the response with MATLAB but I think I am making a mistake somewhere. Here is the code:
########################################################################################################################
wipe all
model BasicBuilder -ndm 2 -ndf 3
file mkdir Data;
#NODES
node 1 0.0 0.0;
node 2 0.0 3.0;
node 3 0.0 3.0;
fix 1 1 1 1;
fix 2 0 1 1;
fix 3 0 1 1;
####################################### Define Elastic and Viscous Material #######################################
#Elastic Material
#uniaxialMaterial Elastic $matTag $E <$eta> <$Eneg>
set matTag_E 1
set Es [expr 206e6]
uniaxialMaterial Elastic $matTag_E $Es
#Viscous Material
#uniaxialMaterial Viscous $matTag $C $alpha
set matTag_V 2
set Cv [expr 1000]
uniaxialMaterial Viscous $matTag_V $Cv 1
####################################### Define Geometric Transformation #######################################
set TransfTag 1;
geomTransf Linear $TransfTag ;
####################################### Define Elements #######################################
element twoNodeLink 1 1 2 -mat $matTag_E -dir 2;
element zeroLength 2 2 3 -mat $matTag_V -dir 1;
####################################### Assign mass #######################################
set mSDOF 100;
mass 2 [expr $mSDOF] 0. 0.;
####################################### Frequencies #######################################
set lambda [eigen -fullGenLapack 1]
set omega {}
set f {}
set T {}
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$PI)]
lappend T [expr (2*$PI)/sqrt($lam)]
}
puts "T_s = $T sec"
puts "w_s = $omega rad/sec"
puts "f_s = $f Hz"
####################################### Analysis Parameters (STATIC) #######################################
constraints Plain;
numberer RCM;
system UmfPack;
set Tol 1.0e-5;
test NormDispIncr $Tol 10 ;
algorithm KrylovNewton;
set NstepGravity 10;
set DGravity [expr 1./$NstepGravity];
integrator LoadControl $DGravity;
analysis Static;
analyze $NstepGravity;
########################################################################################################################
loadConst -time 0.0
########################################################################################################################
recorder Node -file Data/DISP_MRF.out -time -node 2 -dof 1 disp; # DISP
recorder Node -file Data/VEL_MRF.out -time -node 2 -dof 1 vel; # VEL
recorder Node -file Data/ACCEL_MRF.out -time -node 2 -dof 1 accel; # ACCEL
recorder Node -file Data/FxSD_MRF.out -time -node 3 -dof 1 reaction; # Force
recorder Node -file Data/Fx_MRF.out -time -node 1 -dof 1 reaction; # Base shear
########################################################################################################################
when I do Transient analysis, my results are totally different from MATLAB....I appreciate it if anyone tells me what is wring with code and how I can model a SDOF with dashpot?
SDOF with a dashpot
Moderators: silvia, selimgunay, Moderators
-
- Posts: 84
- Joined: Tue Nov 07, 2017 7:47 am
- Location: University of Central Florida
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: SDOF with a dashpot
If your viscous material has a linear force-velocity relation, i.e. f=Cv, you can just use mass proportional damping
-
- Posts: 84
- Joined: Tue Nov 07, 2017 7:47 am
- Location: University of Central Florida
Re: SDOF with a dashpot
thank you selimgunay. this works. Why do I get different response when I put have nonlinear material there?
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: SDOF with a dashpot
Are you modeling the nonlinear dashpot in Matlab? If you are not, the difference could be because of that