##################################################################################################################
# Test example for PINCHING MATERIAL #
# Written: N.Mitra #
# Description: uniaxial material with user defined envelope (softening type used here) and damage parameters #
# Date: May 04 2002 #
## Model subjected to reverse Cyclic Loading #
## File Name: RCyclicPinch.tcl #
# refer to Pinching-Type Material Model.doc for full explanation of the parameters #
##################################################################################################################
wipe
#create the ModelBuilder object
model BasicBuilder -ndm 2 -ndf 2
# add nodes - command: node nodeId xCrd yCrd
node 1 0.0 0.0
node 2 1.0 0.0
## please keep the follwoing procedures on the same path
source procUniaxialPinching.tcl
source procRCycDAns.tcl
##### Positive/Negative envelope Stress/Load
### stress1 stress2 stress3 stress4
set pEnvelopeStress [list 2.0 6.0 7.0 0.2]
set nEnvelopeStress [list -2.0 -6.0 -7.0 -0.2]
##### Positive/Negative envelope Strain/Deformation
### strain1 strain2 strain3 strain4
set pEnvelopeStrain [list 0.0001 0.0055 0.0188 0.0189]
set nEnvelopeStrain [list -0.0001 -0.0055 -0.0188 -0.0189]
##### Ratio of maximum deformation at which reloading begins
### Pos_env. Neg_env.
set rDisp [list 0.5 0.5]
##### Ratio of envelope force (corresponding to maximum deformation) at which reloading begins
### Pos_env. Neg_env.
set rForce [list 0.25 0.25]
##### Ratio of monotonic strength developed upon unloading
### Pos_env. Neg_env.
set uForce [list 0.05 0.05]
##### Coefficients for Unloading Stiffness degradation
### gammaK1 gammaK2 gammaK3 gammaK4 gammaKLimit
set gammaK [list 1.0 0.2 0.3 0.2 0.9]
#set gammaK [list 0.0 0.0 0.0 0.0 0.0]
##### Coefficients for Reloading Stiffness degradation
### gammaD1 gammaD2 gammaD3 gammaD4 gammaDLimit
set gammaD [list 0.5 0.5 2.0 2.0 0.5]
#set gammaD [list 0.0 0.0 0.0 0.0 0.0]
##### Coefficients for Strength degradation
### gammaF1 gammaF2 gammaF3 gammaF4 gammaFLimit
set gammaF [list 1.0 0.0 1.0 1.0 0.9]
#set gammaF [list 0.0 0.0 0.0 0.0 0.0]
set gammaE 10
# material ID
set matID 1
# damage type (option: "energy", "cycle")
set dam "energy"
# add the material to domain through the use of a procedure
procUniaxialPinching $matID $pEnvelopeStress $nEnvelopeStress $pEnvelopeStrain $nEnvelopeStrain $rDisp $rForce $uForce $gammaK $gammaD $gammaF $gammaE $dam
# add truss elements - command: element truss trussID node1 node2 A matID
element truss 1 1 2 1.0 1
# set the boundary conditions - command: fix nodeID xResrnt? yRestrnt?
fix 1 1 1
fix 2 0 1
pattern Plain 1 Linear {
load 2 1 0
}
recorder Node -file RCyclicPinchR.out -node 2 -dof 1 disp
# build the components for the analysis object
system ProfileSPD
constraints Plain
test NormDispIncr 1.0e-8 20
algorithm Newton
numberer RCM
## analysis type used in the procedure is Static
set peakpts [list 0.0001 0.001 0.002 0.003 0.005 0.006 0.007 0.009 0.01 0.011 0.012 0.013 ]
set increments 10
set nodeTag 2
set dofTag 1
## start procedure for feeding in
## Reverse Cyclic loading to the model by Disp. control
procRCycDAns $increments $nodeTag $dofTag $peakpts
# print the results at nodes
print node