Hi All,
Is there a way in OpenSees to connect a linear dashpot with a nonlinear spring in series? I have tried to assign two elements for each of these two materials and connect them in series. However, the results seems not correct to me. Any ideas?
Thanks,
Yazhou
dashpot connect with nonlinear spring in series
Moderators: silvia, selimgunay, Moderators
Re: dashpot connect with nonlinear spring in series
if you are getting results, then you can .. whether the results are correct or not is something else .. looking at the code in the Maxwell model, i would doubt it .. this of course assumes young Prof. Dimitrios Lignos got it correct .. perhaps you should send him an email. He is now is Switzerland.
int
Maxwell::setTrialStrain(double strain, double strainRate)
{
// Set Total Strain
Tstrain = Cstrain;
Tstress = Cstress;
Ttangent = Ctangent;
// Determine change in strain from last converged state
double dStrain = strain - Cstrain;
// Constant based on Viscous Damper Viscocity C and Axial Stiffness K
double tR = (C/pow(L,Alpha))/K;
// Integration Constants as a function of incremental time dt
// Note: The integration time dt = ops_Dt is coming in from the OPS_Globals
double A = Tstress * ( exp(-ops_Dt/tR) - 1.0);
double B = (K/2.0) * (1.0 + exp(-ops_Dt/tR) );
// Incremental Stress Calculation (considers the history of strain in A and B
double Dstress = A + B * dStrain;
// Total Stress Calculation (Tstress) is increment Stress Plus Previous Total Stress
Tstress = Dstress + Tstress;
Tstrain = strain;
// double DTangent = Tstress/Tstrain;
return 0;
}
int
Maxwell::setTrialStrain(double strain, double strainRate)
{
// Set Total Strain
Tstrain = Cstrain;
Tstress = Cstress;
Ttangent = Ctangent;
// Determine change in strain from last converged state
double dStrain = strain - Cstrain;
// Constant based on Viscous Damper Viscocity C and Axial Stiffness K
double tR = (C/pow(L,Alpha))/K;
// Integration Constants as a function of incremental time dt
// Note: The integration time dt = ops_Dt is coming in from the OPS_Globals
double A = Tstress * ( exp(-ops_Dt/tR) - 1.0);
double B = (K/2.0) * (1.0 + exp(-ops_Dt/tR) );
// Incremental Stress Calculation (considers the history of strain in A and B
double Dstress = A + B * dStrain;
// Total Stress Calculation (Tstress) is increment Stress Plus Previous Total Stress
Tstress = Dstress + Tstress;
Tstrain = strain;
// double DTangent = Tstress/Tstrain;
return 0;
}
Re: dashpot connect with nonlinear spring in series
Thanks so much Frank, I got results but definitely they are not correct. I changed the values of damping coefficients but the results did not change accordingly...
We have a bunch of nonlinear springs to model the behavior of abutment components such as foundations, shear keys, bearings, deck pounding, etc. Now we are trying to investigate the influences of soil radiation damping on the bridge responses. It seems that there is a issue to implement the dashpot into the nonlinear spring groups. Even when it is connected in parallel with one of the nonlinear spring (this resultant parallel element is connected in series and parallel with other nonlinear springs), I am having the deck displacement in one direction that is larger than the case when no damping is considered, which I think is counter-intuitive.
I appreciate it if you have any thoughts to tackle this issue.
Yazhou
fmk wrote:
> if you are getting results, then you can .. whether the results are correct
> or not is something else .. looking at the code in the Maxwell model, i
> would doubt it .. this of course assumes young Prof. Dimitrios Lignos got
> it correct .. perhaps you should send him an email. He is now is
> Switzerland.
>
> int
> Maxwell::setTrialStrain(double strain, double strainRate)
> {
> // Set Total Strain
>
> Tstrain = Cstrain;
> Tstress = Cstress;
> Ttangent = Ctangent;
>
> // Determine change in strain from last converged state
>
> double dStrain = strain - Cstrain;
>
> // Constant based on Viscous Damper Viscocity C and Axial Stiffness K
>
> double tR = (C/pow(L,Alpha))/K;
>
> // Integration Constants as a function of incremental time dt
>
> // Note: The integration time dt = ops_Dt is coming in from the
> OPS_Globals
> double A = Tstress * ( exp(-ops_Dt/tR) - 1.0);
> double B = (K/2.0) * (1.0 + exp(-ops_Dt/tR) );
>
> // Incremental Stress Calculation (considers the history of strain in A
> and B
> double Dstress = A + B * dStrain;
>
> // Total Stress Calculation (Tstress) is increment Stress Plus Previous
> Total Stress
> Tstress = Dstress + Tstress;
> Tstrain = strain;
>
> // double DTangent = Tstress/Tstrain;
>
>
> return 0;
> }
We have a bunch of nonlinear springs to model the behavior of abutment components such as foundations, shear keys, bearings, deck pounding, etc. Now we are trying to investigate the influences of soil radiation damping on the bridge responses. It seems that there is a issue to implement the dashpot into the nonlinear spring groups. Even when it is connected in parallel with one of the nonlinear spring (this resultant parallel element is connected in series and parallel with other nonlinear springs), I am having the deck displacement in one direction that is larger than the case when no damping is considered, which I think is counter-intuitive.
I appreciate it if you have any thoughts to tackle this issue.
Yazhou
fmk wrote:
> if you are getting results, then you can .. whether the results are correct
> or not is something else .. looking at the code in the Maxwell model, i
> would doubt it .. this of course assumes young Prof. Dimitrios Lignos got
> it correct .. perhaps you should send him an email. He is now is
> Switzerland.
>
> int
> Maxwell::setTrialStrain(double strain, double strainRate)
> {
> // Set Total Strain
>
> Tstrain = Cstrain;
> Tstress = Cstress;
> Ttangent = Ctangent;
>
> // Determine change in strain from last converged state
>
> double dStrain = strain - Cstrain;
>
> // Constant based on Viscous Damper Viscocity C and Axial Stiffness K
>
> double tR = (C/pow(L,Alpha))/K;
>
> // Integration Constants as a function of incremental time dt
>
> // Note: The integration time dt = ops_Dt is coming in from the
> OPS_Globals
> double A = Tstress * ( exp(-ops_Dt/tR) - 1.0);
> double B = (K/2.0) * (1.0 + exp(-ops_Dt/tR) );
>
> // Incremental Stress Calculation (considers the history of strain in A
> and B
> double Dstress = A + B * dStrain;
>
> // Total Stress Calculation (Tstress) is increment Stress Plus Previous
> Total Stress
> Tstress = Dstress + Tstress;
> Tstrain = strain;
>
> // double DTangent = Tstress/Tstrain;
>
>
> return 0;
> }
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: dashpot connect with nonlinear spring in series
I think Prof. ET at UCLA and his former postdoc worked on this using OpenSees, did you contact them?