Hello,
I'm working on adding a material to OpenSees and have a few questions about trialstress, trialstrain, commitstress, and commitstrain.
1)We begin at a given initial state and the loading given to the elements is then converted to some TrialStrain. How is the TrialStrain value determined for load controlled integration?
2)If the material receives a TrialStrainIncr and the test provided is not passed (i.e. the current state is not converged to a satisfactory level), should the TrialStrain be stored as TrialStrain_new = TrialStrainIncr + TrialStrain_old? Does the same go with TrialStress?
3)Is OpenSees using engineering strain or true strain?
4)Should the stiffness tangent be updated prior to the first step?
Sorry for all the questions
-Robbie
Adding a new material to opensees
Moderators: silvia, selimgunay, Moderators
the elements, typically when they have been notified that the nodes have moved in the update() will cause the new strain to be determined at the materials and the setTrialStrain() or setTrial() is invoked.
at the end of each anaylsis step one of either commit(), if analysis was successfull, or revertToLastCommit(), if analysis failed, are invoked.
which strain is used depends on the element.
you need to ensure that getTangent() returns the correct initial tangent. Do wahetever you want to ensure this.
at the end of each anaylsis step one of either commit(), if analysis was successfull, or revertToLastCommit(), if analysis failed, are invoked.
which strain is used depends on the element.
you need to ensure that getTangent() returns the correct initial tangent. Do wahetever you want to ensure this.