MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / processData

Method processData

SRC/damage/Mehanny.cpp:351–468  ·  view source on GitHub ↗

Perivate functions

Source from the content-addressed store, hash-verified

349
350// Perivate functions
351int Mehanny::processData (double PDefo)
352{
353 TrialPlasticDefo = PDefo;
354 TrialDefoIncr = PDefo - CommPlasticDefo;
355 TrialTempPDefo = CommTempPDefo;
356 TrialPosCycle = CommPosCycle;
357 TrialNegCycle = CommNegCycle;
358 TrialSumPosFHC = CommSumPosFHC;
359 TrialPosPHC = CommPosPHC;
360 TrialSumNegFHC = CommSumNegFHC;
361 TrialNegPHC = CommNegPHC;
362 TrialDamage = CommDamage;
363
364 if ( TrialDefoIncr != 0.0 )
365 {
366 // For a non-zero step
367 if ( ( (TrialDefoIncr >= AbsTol) && (TrialDefoIncr >= RelTol*TrialPosPHC) ) ||
368 ( (TrialDefoIncr+TrialTempPDefo) >= AbsTol && (TrialDefoIncr+TrialTempPDefo) >= RelTol*TrialPosPHC ) ||
369 ( (TrialDefoIncr <= -AbsTol) && (TrialDefoIncr >= -RelTol*TrialPosPHC) ) ||
370 ( (TrialDefoIncr+TrialTempPDefo) <= -AbsTol && (TrialDefoIncr+TrialTempPDefo) <= -RelTol*TrialPosPHC ) )
371 {
372 // in case the plastic deformation increment is significant enough
373 // or the current increment is larger than the tolerance
374
375 if ( TrialPosCycle == 0.0 && TrialNegCycle == 0.0 )
376 {
377 // For a brand new cycle
378 if ( TrialDefoIncr > 0.0 )
379 {
380 TrialPosCycle = TrialDefoIncr;
381 }
382 else
383 {
384 TrialNegCycle = TrialDefoIncr;
385 }
386 }
387 else if ( TrialPosCycle > 0.0 && TrialNegCycle == 0.0 )
388 {
389 // Check the status for a positive half cycle
390 // Determine the status of this step, if a new cycle has started
391 // or still on the last cycle
392 //
393 if ( TrialDefoIncr + TrialTempPDefo >= 0.0 )
394 {
395 // just add the temporarily saved and recent cycle to the current positive cycle
396 TrialPosCycle = TrialPosCycle + TrialDefoIncr + TrialTempPDefo;
397 }
398 else
399 {
400 // end this positive half cycle and initiate a new negative half cycle
401 TrialPosCycle = 0.0;
402 TrialNegCycle = TrialDefoIncr + TrialTempPDefo;
403 }
404 }
405 else if ( TrialPosCycle == 0.0 && TrialNegCycle < 0.0 )
406 {
407 // Check the status for a negative half cycle
408 // Determine the status of this step, if a new cycle has started

Callers 1

setTrialMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected