Пример #1
0
int 
SteelZ02::setTrialStrain (double strain, double strainRate)
{
  // Reset history variables to last converged state	
  TminStrain = CminStrain;  
  TmaxStrain = CmaxStrain;  
  TloadingState = CloadingState;
  TloopPathState = CloopPathState;

  for (int i=0; i<SIZE; i++) {
    TreverseTopStrain[i] = CreverseTopStrain[i];    
    TreverseTopStress[i] = CreverseTopStress[i];
    TreverseBottomStrain[i] = CreverseBottomStrain[i];
    TreverseBottomStress[i] = CreverseBottomStress[i];
  }
  TreverseTopNum = CreverseTopNum;             
  TreverseBottomNum = CreverseBottomNum; 

  // Set trial strain
  Tstrain = strain;

  // Determine change in strain from last converged state
  double dStrain = Tstrain - Cstrain;

  // Calculate the trial state given the trial strain
  //   if (fabs(dStrain) > DBL_EPSILON)
  if (fabs(dStrain) > 1e-10)
    determineTrialState (dStrain);

  ttStrain = dStrain;

  return 0;
}
Пример #2
0
int Bond_SP01::setTrial (double strain, double &stress, double &tangent, double strainRate)
{
	// Reset history variables to last converged state
	TRSlip = CRSlip;			// Return slip
	TRLoad = CRLoad;			// Return load
	TRSlope = CRSlope;			// Return slope
	TmaxHSlip = CmaxHSlip;		// Maximum slip in tension
	TminHSlip = CminHSlip;		// Maximum slip in compression
	Tloading = Cloading;		// Loading flag
	TYieldFlag = CYieldFlag;	// Yield flag

	// Set trial Strain
	Tslip = strain;

	// Determine change in Strain from last converged state
	double dslip;
	dslip = Tslip - Cslip;

	// Calculate the trial state given the trial Strain
	determineTrialState (Tslip, dslip);

	stress = Tload;
	tangent = Ttangent;

	return 0;
}
Пример #3
0
int TendonL01::setTrial (double strain, double &stress, double &tangent, double strainRate)
{
    // Reset history variables to last converged state
    TminStrain = CminStrain;
    TmaxStrain = CmaxStrain;
    TloadingState = CloadingState;
    TloopPathState = CloopPathState;

    for (int i=0; i<SIZE1; i++)
    {
        TreverseTopStrain[i] = CreverseTopStrain[i];
        TreverseTopStress[i] = CreverseTopStress[i];
        TreverseBottomStrain[i] = CreverseBottomStrain[i];
        TreverseBottomStress[i] = CreverseBottomStress[i];
    }
    TreverseTopNum = CreverseTopNum;
    TreverseBottomNum = CreverseBottomNum;

    // Set trial strain
    Tstrain = strain + epsp;

    // Determine change in strain from last converged state
    double dStrain;
    dStrain = Tstrain - Cstrain;

    // Calculate the trial state given the trial strain
    // if (fabs(dStrain) > DBL_EPSILON)
    determineTrialState (dStrain);

    stress = Tstress;
    tangent = Ttangent;

    return 0;
}
Пример #4
0
int Steel01::setTrialStrain (double strain, double strainRate)
{
   // Reset history variables to last converged state
   TminStrain = CminStrain;
   TmaxStrain = CmaxStrain;
   TshiftP = CshiftP;
   TshiftN = CshiftN;
   Tloading = Cloading;
   Tstrain = Cstrain;
   Tstress = Cstress;
   Ttangent = Ctangent;

   // Determine change in strain from last converged state
   double dStrain = strain - Cstrain;

   if (fabs(dStrain) > DBL_EPSILON) {
     // Set trial strain
     Tstrain = strain;

     // Calculate the trial state given the trial strain
     determineTrialState (dStrain);

   }

   return 0;
}
Пример #5
0
int SteelMP::setTrialStrain (double strain, double strainRate)
{
   // Reset history variables to last converged state
   TminStrain = CminStrain;
   TmaxStrain = CmaxStrain;
   Tloading = Cloading;
   TYieldStrain = CYieldStrain;
   TYieldStress = CYieldStress;
   TReverStrain = CReverStrain;
   TReverStress = CReverStress;
   TPlasticExcursion = CPlasticExcursion;


   // Set trial strain
   Tstrain = strain;

   // Determine change in strain from last converged state
   double dStrain = Tstrain - Cstrain;

   // Calculate the trial state given the trial strain
   if (fabs(dStrain) > DBL_EPSILON)   
     determineTrialState (dStrain);
   
  
   return 0;
}
Пример #6
0
int DoddRestr::setTrial (double strain, double &stress, double &tangent, double strainRate)
{
   
	// Reset history variables to last converged state
	Te_so	= Ce_so;
	Tf_so	= Cf_so;
	Tyield1	= Cyield1;
	Tregion	= Cregion;
	Tpoint11= Cpoint11;
	Tpoint12= Cpoint12;
	Tpoint13= Cpoint13;
	Tpoint21= Cpoint21;
	Tpoint22= Cpoint22;
	Tpoint23= Cpoint23;
	Tpoint31= Cpoint31;
	Tpoint32= Cpoint32;
	Tpoint33= Cpoint33;
	Tpoint41= Cpoint41;
	Tpoint42= Cpoint42;
	Tpoint43= Cpoint43;
	Tpoint51= Cpoint51;
	Tpoint52= Cpoint52;
	Tpoint53= Cpoint53;
	Tep_o1	= Cep_o1;
	Tep_o2	= Cep_o2;
	Tep_M	= Cep_M;
	Tfps_so	= Cfps_so;
	Thist11	= Chist11;
	Thist12	= Chist12;
	Tpoint61= Cpoint61;
	Tpoint62= Cpoint62;
	Tpoint63= Cpoint63;
	Tsim1	= Csim1;
	TDam	= CDam;

   Tstrain = Cstrain;
   Tstress = Cstress;
   Ttangent = Ctangent;

   // Determine change in strain from last converged state
   double dStrain = strain - Cstrain;

//   if (fabs(dStrain) > DBL_EPSILON) {
     // Set trial strain
     Tstrain = strain;

     // Calculate the trial state given the trial strain
     determineTrialState (dStrain);

//   }


   stress = Tstress;
   tangent = Ttangent;

   return 0;
}