Difference between revisions of "ReverseLoad Custom Task"

From OSUPDOCS
Jump to navigation Jump to search
 
(33 intermediate revisions by the same user not shown)
Line 3: Line 3:
== Introduction ==
== Introduction ==


A <tt>ReverseLoad</tt> custom task can either monitor [[Defining Cracks|crack lengths]] or monitor any current [[MPM Global Archiving Options|global archive quantity]] and responds as follows:
A <tt>ReverseLoad</tt> custom task can either monitor [[Defining Cracks|crack lengths]] or monitor any current [[MPM Global Archiving Options|global archive quantity]] and respond as follows:


# Crack length monitoring: Once any crack or a specified crack reaches a specified crack length, all [[Crack Propagation Commands|crack propagation]] stops and the task's action is triggered
# Crack length monitoring: Once any crack or a specified crack reaches a specified crack length or debonded crack length, all [[Crack Propagation Commands|crack propagation]] stops and the task's action is triggered
# Global quantity monitoring: Once the specified global quantity passes a critical value, the task's action is triggered.
# Global quantity monitoring: Once the specified global quantity passes a critical value, the task's action is triggered.
# Global quantity peak monitoring: Once the specified global quantity passes a critical value and then decreases to an input fraction of the peak, the task's action is triggered.


The possible task actions are to reverse various boundary conditions, hold at current boundary conditions, stop the analysis, or continue (with no change except crack propagation stops).
The possible task actions are to reverse various boundary conditions, hold at current boundary conditions, stop the analysis, or continue (with no change except crack propagation stops).
Line 12: Line 13:
== Task Scheduling ==
== Task Scheduling ==


In scripted files, a <tt>ReverseLoad</tt> custom task based on crack lengths or on a [[MPM Global Archiving Options|global archive quantity]] are scheduled with one of the two following blocks:
In scripted files, a <tt>ReverseLoad</tt> custom tasks based on crack lengths or on a [[MPM Global Archiving Options|global archive quantity]] are scheduled with one of the two following blocks:


  CustomTask ReverseLoad
  CustomTask ReverseLoad
  Parameter maxLength,(length)
  Parameter maxLength,(length)
Parameter debondedLength,(useDebonded)
  Parameter crackNumber,(number)
  Parameter crackNumber,(number)
  Parameter style,(style)
  Parameter style,(style)
Line 26: Line 28:
  Parameter style,(style)
  Parameter style,(style)
  Parameter hold,(holdTIme)
  Parameter hold,(holdTIme)
Parameter minValue,(minValue)


In <tt>XML</tt> files, these two task options are scheduled using <tt><Schedule></tt> elements, which must be within the single <tt><CustomTasks></tt> block:
In <tt>XML</tt> files, these two task options are scheduled using <tt><Schedule></tt> elements, which must be within the single <tt><CustomTasks></tt> block:
Line 31: Line 34:
  <Schedule name='ReverseLoad'>
  <Schedule name='ReverseLoad'>
     <Parameter name='maxLength'>(length)</Parameter>
     <Parameter name='maxLength'>(length)</Parameter>
    <Parameter name='debondedLength'>(useDebonded)</Parameter>
     <Parameter name='crackNumber'>(number)</Parameter>
     <Parameter name='crackNumber'>(number)</Parameter>
     <Parameter name='style'>(styleNumber)</Parameter>
     <Parameter name='style'>(styleNumber)</Parameter>
Line 42: Line 46:
     <Parameter name='style'>(styleNumber)</Parameter>
     <Parameter name='style'>(styleNumber)</Parameter>
     <Parameter name='hold'>(holdTime)</Parameter>
     <Parameter name='hold'>(holdTime)</Parameter>
    <Parameter name='minValue'>(minValue)</Parameter>
  </Schedule>
  </Schedule>


When the task triggers on crack length, these two parameters determine its trigger point:
When the task triggers on crack length, these two parameters determine its trigger point:


* <tt>(length)</tt> - specifies the maximum crack length (in mm). Once this length is reached, all crack propagation will stop.
* <tt>(length)</tt> - specifies the maximum crack length (in [[ConsistentUnits Command#Legacy and Consistent Units|length units]]). Once this length is reached, all crack propagation will stop.
* <tt>(useDebonded)</tt> - if zero (which is the default), this task is triggered by total crack length. If set to one (or any non-zero value), this task is triggered by debonded crack length, which is total length minus that part of the crack with remaining cohesive zones (''i.e.'', non-debonded [[Traction Laws]]).
* <tt>(number)</tt> - gives the crack number to watch. When that crack reaches the specified maximum length, the task will take effect. Alternatively, <tt>(number)</tt> can be zero which causes the task to take effect when any crack reaches the specified maximum length. The default value is 0 or to watch all cracks.
* <tt>(number)</tt> - gives the crack number to watch. When that crack reaches the specified maximum length, the task will take effect. Alternatively, <tt>(number)</tt> can be zero which causes the task to take effect when any crack reaches the specified maximum length. The default value is 0 or to watch all cracks.


When the task triggers on a [[MPM Global Archiving Options|global archive quantity]], these three parameter determine its trigger point
When the task triggers on a [[MPM Global Archiving Options|global archive quantity]], these parameters determine its trigger point


* <tt>(quant)</tt> - gives the name of the [[MPM Global Archiving Options|global archive quantity]] to use a trigger. In <tt>XML</tt> files, the quantiy name must be embedded in the parameter name, such as <tt>'global sxx'</tt>.
* <tt>(quant)</tt> - gives the name of the [[MPM Global Archiving Options|global archive quantity]] to use a trigger. In <tt>XML</tt> files, the quantiy name must be embedded in the parameter name, such as <tt>'global sxx'</tt>.
* <tt>(matOrBCID)</tt> - if the desired [[MPM Global Archiving Options|global archive quantity]] is defined for a specific material or for a specific boundary condition, you must enter that [[Material Command Block|material ID]] or [[Setting Velocity, Temperature, and Concentration#Boundary Condition ID|boundary condition ID]] in this parameter (otherwise the entered quantity will not match the [[MPM Global Archiving Options|global archive quantity]]).
* <tt>(matOrBCID)</tt> - if the desired [[MPM Global Archiving Options|global archive quantity]] is defined for a specific material or for a specific boundary condition, you must enter that [[Material Command Block|material ID]] or [[Setting Velocity and Transport Values#Boundary Condition ID|boundary condition ID]] in this parameter (otherwise the entered quantity will not match the [[MPM Global Archiving Options|global archive quantity]]).
* <tt>(matOrBCNum)</tt> - in <tt>XML</tt> files, the specific material or boundary condition ID must be specified by number.
* <tt>(matOrBCNum)</tt> - in <tt>XML</tt> files, the specific material or boundary condition ID must be specified by number (it cannot use a [[Material Command Block|material ID]]).
* <tt>(value)</tt> - specifies the critical value for the [[MPM Global Archiving Options|global archive quantity]] to trigger the task action. If the number is positive, the action is triggered when the quantity reaches the value; if it is negative, the action is triggered when the quantity become more negative the than the value.
* <tt>(value)</tt> - specifies the critical value for the [[MPM Global Archiving Options|global archive quantity]] to trigger the task action. If the number is positive, the action is triggered when the quantity reaches the value; if it is negative, the action is triggered when the quantity becomes more negative than the value.
 
But, if the option <tt>minValue</tt> is provided the tasks converts to be triggered on passing a peak value as follows:
 
# If <tt>minValue&gt;0</tt> the simulation runs until the selected global quantity exceeds <tt>minValue</tt> (pick a value to avoid any intial noise). It then tracks maximum value reached and this task is triggered when the global quantity ever drops to a fraction <tt>(value)</tt> of the simulation peak value (<tt>(value)</tt>  must a number between 0 to 1).
# If <tt>minValue&lt;0</tt> the simulation runs until the selected global quantity is more negative than <tt>minValue</tt> (pick a value to avoid any initial noise). It then tracks maximum negative value reached and this task is triggered when the global quantity ever increases to a fraction <tt>(value)</tt> of the simulation negative peak value (<tt>(value)</tt> must a number between 0 to 1).
 
=== Task Action ===


Once the specified crack length is reached (and all crack propagation stops) or the critical [[MPM Global Archiving Options|global archive quantity]] is reached, the task performs various actions specified by the <tt>(style)</tt> and <tt>(hold)</tt> parameters. Scripted files can enter text for the style, but <tt>XML</tt> files must use the <tt>(styleNumber)</tt>:
Once the specified crack length is reached (and all crack propagation stops) or the critical [[MPM Global Archiving Options|global archive quantity]] is reached, the task performs various actions specified by the <tt>(style)</tt> and <tt>(hold)</tt> parameters. Scripted files can enter text for the style, but <tt>XML</tt> files must use the <tt>(styleNumber)</tt>:


* <tt>reverse</tt> (or 0): Reverses all linearly increasing [[Setting Forces and Fluxes|loads or traction]] (see [[Boundary Condition Styles|"linear" style]] in particle loads) and reverses direction of all rigid particles moving at constant velocity. This style will unload until the load or traction (on loaded particles) or displacement (on moving rigid particles) returns to zero at which point the analysis will stop (the analysis, however, may stop sooner is the maximum time is reached before loading returns to zero).
* <tt>reverse</tt> (or 0): Reverses all linearly increasing [[Setting Forces and Fluxes|loads or tractions]] (see [[Boundary Condition Styles|"linear" style]] in particle loads) and reverses direction of all [[Rigid Material|boundary-condition rigid particles]] moving at constant velocity (''i.e''., they have [[Rigid Material#Material Properties|set direction 1 to 7]] and do not use any [[Rigid Material#Material Properties|setting functions]]). This style will unload until the load or traction (on loaded particles) or displacement (on moving rigid particles) returns to zero at which point the analysis will stop (the analysis, however, may stop sooner if the [[MPM Methods and Simulation Timing#Input Commands|maximum time]] is reached before loading returns to zero).
* <tt>hold</tt> (or 1): Stops all linearly increasing loads (see "linear" style in particle loads) and stops all rigid particles at their current values. The analysis continues.
* <tt>hold</tt> (or 1): Stops all linearly increasing [[Setting Forces and Fluxes|loads or tractions]] (see [[Boundary Condition Styles|"linear" style]] in particle loads) at the current values, sets all [[Rigid Material|boundary-condition rigid particles]] moving at constant velocity (''i.e''., they have [[Rigid Material#Material Properties|set direction 1 to 7]] and do not use any [[Rigid Material#Material Properties|setting functions]]) to zero velocity, and sets all [[Grid-Based Boundary Conditions|grid-based velocity conditions]] to zero velocity. The analysis continues until [[MPM Methods and Simulation Timing#Input Commands|maximum time]] is reached.
* <tt>continue</tt> (or 2): All loads and rigid particles continue unchanged. Only the crack propagation stops. Because this action only stops crack propagation, it is meaningless when the tasks is trigger on a [[MPM Global Archiving Options|global archive quantity]], and is therefore not allowed for such tasks.
* <tt>continue</tt> (or 2): All loads, tractions, and rigid particles continue unchanged. Only the crack propagation stops. Because this action only stops crack propagation, it is meaningless when the task is triggered on a [[MPM Global Archiving Options|global archive quantity]], and is therefore not allowed for such tasks.
* <tt>abort</tt> (or 3): The analysis terminates.
* <tt>abort</tt> (or 3): The analysis terminates.


The default <tt>(style)</tt> is to reverse all loads to unload the specimen (as implied by the task name)
The default <tt>(style)</tt> is to reverse loads, tractions, and particles to unload the specimen (as implied by the task name). Notice that <tt>reverse</tt> and <tt>hold</tt> affects only selected types of boundary conditions. The task has no affect on other types of [[MPM Input Files#Boundary Conditions|boundary conditions]].


If the <tt>(hold)</tt> parameter is used, it gives a time (in msec) to hold at current conditions before apply the task's action. The <tt>(hold)</tt> parameter only applies when <tt>(style)</tt> is <tt>reverse</tt> or <tt>abort</tt>. The hold phase will only hold boundary conditions that can be reversed, which means linearly increasing loads or tractions or constant velocity rigid particles. After the hold phase is done, the <tt>reverse</tt> style will unload as described above; the <tt>abort</tt> style will stop the analysis.  The default <tt>(hold)</tt> is zero (or no hold phase).
If <tt>(holdTime)</tt> is set to a positive number, it gives a time (in [[ConsistentUnits Command#Legacy and Consistent Units|alt time units]]) to hold at current conditions before applying the task's action. The <tt>(hold)</tt> parameter only applies when <tt>(style)</tt> is <tt>reverse</tt> or <tt>abort</tt>. The hold phase will only hold boundary conditions that can be reversed (see <tt>reverse</tt> optoins above). After the hold phase is done, the <tt>reverse</tt> style will unload to zero as described above and the <tt>abort</tt> style will stop the analysis.  The default <tt>(holdTime)</tt> is zero (or no hold phase).

Latest revision as of 17:09, 30 January 2023

A custom task to alter calculations based on crack propagation results.

Introduction

A ReverseLoad custom task can either monitor crack lengths or monitor any current global archive quantity and respond as follows:

  1. Crack length monitoring: Once any crack or a specified crack reaches a specified crack length or debonded crack length, all crack propagation stops and the task's action is triggered
  2. Global quantity monitoring: Once the specified global quantity passes a critical value, the task's action is triggered.
  3. Global quantity peak monitoring: Once the specified global quantity passes a critical value and then decreases to an input fraction of the peak, the task's action is triggered.

The possible task actions are to reverse various boundary conditions, hold at current boundary conditions, stop the analysis, or continue (with no change except crack propagation stops).

Task Scheduling

In scripted files, a ReverseLoad custom tasks based on crack lengths or on a global archive quantity are scheduled with one of the two following blocks:

CustomTask ReverseLoad
Parameter maxLength,(length)
Parameter debondedLength,(useDebonded)
Parameter crackNumber,(number)
Parameter style,(style)
Parameter hold,(holdTIme)

CustomTask ReverseLoad
Parameter quantity,(quant)
Parameter material,(matOrBCID)
Parameter maxValue,(value)
Parameter style,(style)
Parameter hold,(holdTIme)
Parameter minValue,(minValue)

In XML files, these two task options are scheduled using <Schedule> elements, which must be within the single <CustomTasks> block:

<Schedule name='ReverseLoad'>
   <Parameter name='maxLength'>(length)</Parameter>
   <Parameter name='debondedLength'>(useDebonded)</Parameter>
   <Parameter name='crackNumber'>(number)</Parameter>
   <Parameter name='style'>(styleNumber)</Parameter>
   <Parameter name='hold'>(holdTime)</Parameter>
</Schedule>

<Schedule name='ReverseLoad'>
   <Parameter name='global (quant)'/>
   <Parameter name='mat'>(matOrBCNum)</Parameter>
   <Parameter name='maxValue'>(value)</Parameter>
   <Parameter name='style'>(styleNumber)</Parameter>
   <Parameter name='hold'>(holdTime)</Parameter>
   <Parameter name='minValue'>(minValue)</Parameter>
</Schedule>

When the task triggers on crack length, these two parameters determine its trigger point:

  • (length) - specifies the maximum crack length (in length units). Once this length is reached, all crack propagation will stop.
  • (useDebonded) - if zero (which is the default), this task is triggered by total crack length. If set to one (or any non-zero value), this task is triggered by debonded crack length, which is total length minus that part of the crack with remaining cohesive zones (i.e., non-debonded Traction Laws).
  • (number) - gives the crack number to watch. When that crack reaches the specified maximum length, the task will take effect. Alternatively, (number) can be zero which causes the task to take effect when any crack reaches the specified maximum length. The default value is 0 or to watch all cracks.

When the task triggers on a global archive quantity, these parameters determine its trigger point

  • (quant) - gives the name of the global archive quantity to use a trigger. In XML files, the quantiy name must be embedded in the parameter name, such as 'global sxx'.
  • (matOrBCID) - if the desired global archive quantity is defined for a specific material or for a specific boundary condition, you must enter that material ID or boundary condition ID in this parameter (otherwise the entered quantity will not match the global archive quantity).
  • (matOrBCNum) - in XML files, the specific material or boundary condition ID must be specified by number (it cannot use a material ID).
  • (value) - specifies the critical value for the global archive quantity to trigger the task action. If the number is positive, the action is triggered when the quantity reaches the value; if it is negative, the action is triggered when the quantity becomes more negative than the value.

But, if the option minValue is provided the tasks converts to be triggered on passing a peak value as follows:

  1. If minValue>0 the simulation runs until the selected global quantity exceeds minValue (pick a value to avoid any intial noise). It then tracks maximum value reached and this task is triggered when the global quantity ever drops to a fraction (value) of the simulation peak value ((value) must a number between 0 to 1).
  2. If minValue<0 the simulation runs until the selected global quantity is more negative than minValue (pick a value to avoid any initial noise). It then tracks maximum negative value reached and this task is triggered when the global quantity ever increases to a fraction (value) of the simulation negative peak value ((value) must a number between 0 to 1).

Task Action

Once the specified crack length is reached (and all crack propagation stops) or the critical global archive quantity is reached, the task performs various actions specified by the (style) and (hold) parameters. Scripted files can enter text for the style, but XML files must use the (styleNumber):

The default (style) is to reverse loads, tractions, and particles to unload the specimen (as implied by the task name). Notice that reverse and hold affects only selected types of boundary conditions. The task has no affect on other types of boundary conditions.

If (holdTime) is set to a positive number, it gives a time (in alt time units) to hold at current conditions before applying the task's action. The (hold) parameter only applies when (style) is reverse or abort. The hold phase will only hold boundary conditions that can be reversed (see reverse optoins above). After the hold phase is done, the reverse style will unload to zero as described above and the abort style will stop the analysis. The default (holdTime) is zero (or no hold phase).