Difference between revisions of "LoadControl Custom Task"

From OSUPDOCS
Jump to navigation Jump to search
Line 3: Line 3:
== Introduction ==
== Introduction ==


A <tt>LoadControl</tt> custom task needs either [[MPM Global Archiving Options|global contact]] or [[MPM Global Archiving Options|global reaction]] for the specified [[Rigid Material|Rigid material]] depending on if [[Contact|contact]] for that material is enabled.
A <tt>LoadControl</tt> custom task needs either [[MPM Global Archiving Options|global contact]] or [[MPM Global Archiving Options|global reaction]] for the specified [[Rigid Material|Rigid material]] depending on if contact for that material is enabled.


 
This CustomTask tries to achieve the load requested from the user-inputted function by adjusting the velocity of that material. It does that by dynamically estimating the relationship between the displacement and load and then uses a PID control algorithm to adjust the velocity.
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 ==
== Task Scheduling ==


In scripted files, a <tt>LoadControl</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>LoadControl</tt> custom task is scheduled with the following block:


  CustomTask LoadControl
  CustomTask LoadControl
Line 22: Line 21:
  Parameter smooth,(number)
  Parameter smooth,(number)


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 task options are scheduled using <tt><Schedule></tt> elements, which must be within the single <tt><CustomTasks></tt> block:


  <Schedule name='LoadControl'>
  <Schedule name='LoadControl'>
Line 36: Line 35:




When the task triggers on crack length, these two parameters determine its trigger point:
These are the parameters that this custom task needs to operate:
 
* <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>velocity</tt> - This is the starting velocity of the simulation for the specified  [[Rigid Material|Rigid material]]. The sign of this parameter is probably more important than its value, as long as it is something reasonable. It is needed for initializing the load control.
* <tt>material</tt> - The material number of the [[Rigid Material|Rigid material]] to be controlled.
* <tt>direction</tt> - An integer [1,2,3] to choose the direction to consider for velocity and load.
* <tt>MaxVelocity/tt> - A positive number that limits the velocity of the controlled material - defaults to 5 m/s.
* <tt>Load_Funtction/tt> - A [[user-inputted]] function for this CustomTask to match.
When the task triggers on a [[MPM Global Archiving Options|global archive quantity]], these parameters determine its trigger point
When the task triggers on a [[MPM Global Archiving Options|global archive quantity]], these parameters determine its trigger point



Revision as of 15:27, 26 April 2016

A custom task run a load control simulation based on calculations contact or reaction forces. .

Introduction

A LoadControl custom task needs either global contact or global reaction for the specified Rigid material depending on if contact for that material is enabled.

This CustomTask tries to achieve the load requested from the user-inputted function by adjusting the velocity of that material. It does that by dynamically estimating the relationship between the displacement and load and then uses a PID control algorithm to adjust the velocity.

Task Scheduling

In scripted files, a LoadControl custom task is scheduled with the following block:

CustomTask LoadControl
Parameter velocity, (velocity)
Parameter material, (int)
Parameter direction, (int)
Parameter MaxVelocity,(number)
Parameter Load_Function (user-inputted function)
Parameter Kp,(number)
Parameter Ki,(number)
Parameter smooth,(number)

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

<Schedule name='LoadControl'>
   <Parameter name='velocity'>(number)</Parameter>
   <Parameter name='material'>(int)</Parameter>
   <Parameter name='direction'>(int)</Parameter>
   <Parameter name='MaxVelocity'>(number)</Parameter>
   <Parameter name='Load_Function (function)'/>
   <Parameter name='Kp'>(number)</Parameter>
   <Parameter name='Ki'>(number)</Parameter>
   <Parameter name='smooth'>(number)</Parameter>
</Schedule>


These are the parameters that this custom task needs to operate:

  • velocity - This is the starting velocity of the simulation for the specified Rigid material. The sign of this parameter is probably more important than its value, as long as it is something reasonable. It is needed for initializing the load control.
  • material - The material number of the Rigid material to be controlled.
  • direction - An integer [1,2,3] to choose the direction to consider for velocity and load.
  • MaxVelocity/tt> - A positive number that limits the velocity of the controlled material - defaults to 5 m/s.
  • Load_Funtction/tt> - A user-inputted function for this CustomTask to match.

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

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).