153 |
""" |
""" |
154 |
super(DruckerPrager, self).doInitialization() |
super(DruckerPrager, self).doInitialization() |
155 |
self.__plastic_stress_old=self.plastic_stress |
self.__plastic_stress_old=self.plastic_stress |
156 |
self.__tau_y_old=tau_y=self.shear_length |
self.__tau_y_old=self.shear_length |
157 |
|
|
158 |
def doStepPreprocessing(self,dt): |
def doStepPreprocessing(self,dt): |
159 |
""" |
""" |
164 |
""" |
""" |
165 |
super(DruckerPrager, self).doStepPreprocessing(dt) |
super(DruckerPrager, self).doStepPreprocessing(dt) |
166 |
self.plastic_stress=self.__plastic_stress_old |
self.plastic_stress=self.__plastic_stress_old |
|
self.tau_y=self.__tau_y_old |
|
167 |
|
|
168 |
def doStep(self,dt): |
def doStep(self,dt): |
169 |
G=self.shear_modulus |
G=self.shear_modulus |
173 |
tau_Y=self.shear_length |
tau_Y=self.shear_length |
174 |
if self.__plastic_stress_old: |
if self.__plastic_stress_old: |
175 |
dps=self.plastic_stress-self.__plastic_stress_old |
dps=self.plastic_stress-self.__plastic_stress_old |
176 |
h=(tau_Y-self.tau_Y_last)/(dps+self.abs_tol*whereZero(dps)) |
h=(tau_Y-self.__tau_y_old)/(dps+self.abs_tol*whereZero(dps)) |
177 |
else: |
else: |
178 |
h=0 |
h=0 |
179 |
# set new tangential operator: |
# set new tangential operator: |
190 |
def doStepPostprocessing(self,dt): |
def doStepPostprocessing(self,dt): |
191 |
super(DruckerPrager, self).doStepPostprocessing(dt) |
super(DruckerPrager, self).doStepPostprocessing(dt) |
192 |
self.plastic_stress=self.__plastic_stress_old=self.plastic_stress |
self.plastic_stress=self.__plastic_stress_old=self.plastic_stress |
|
self.shear_length=self.__tau_y_old |
|
193 |
|
|
194 |
def getNewStress(self,s,gamma_p,du,ds_therm,tau_Y,G,K,alpha,beta,h): |
def getNewStress(self,s,gamma_p,du,ds_therm,tau_Y,G,K,alpha,beta,h): |
195 |
k3=kronecker(self.domain) |
k3=kronecker(self.domain) |