|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
PID Control in AbaqusHello all-
I was curious if anyone has experience/references for implementation of PID control systems into an Abaqus Explicit model. In my application, I'm controlling muscle activation signals to generate a desired motion of the lower limb. I'm currently using an external program (Matlab) to implement the controller, update amplitude cards, call abaqus using the RESTART command to evaluate the next step in the model, calculate error, then repeat on the next step. However, it seems like there should be a more efficient way using user-subroutines (like VDLOAD) to accomplish the same goal within Abaqus. Suggestions on implementation and efficiency from anyone with such experience would be greatly appreciated. Thanks in advance, Chadd Clary Post-Doctoral Research Associate University of Denver |
|
|
Re: PID Control in AbaqusI've implemented PID control logic in ABAQUS/Standard, but not in
Explicit. In Standard the problem is getting the degree-of-freedom values you need as input to the control logic. One trick is to define a dummy user-defined MPC that involves all of the input DOFs. Within the MPC subroutine you can then retrieve the current DOF values and store them in a COMMON block that is shared with the subroutine you are using to define the response (DISP, DLOAD, DFLUX, etc.). Within the MPC subroutine you simply set LMPC=0 to avoid actually enforcing any sort of constraint. Within Explicit it appears the problem may be easier. The VUAMP subroutine provides access to a set of sensor values (history output variables) that can be used as inputs to the control logic. You then directly modify the amplitude definition associated with your load. In either case, use of user-defined subroutines should be much more efficient than any method the requires interrupting the solution process. Regards, Dave ------------------------- Dave Lindeman Lead Research Specialist 3M Company 3M Center 235-3F-08 St. Paul, MN 55144 651-733-6383 Clary, Chadd W wrote: > > > > Hello all- > > I was curious if anyone has experience/references for implementation of > PID control systems into an Abaqus Explicit model. In my application, > I'm controlling muscle activation signals to generate a desired motion > of the lower limb. I'm currently using an external program (Matlab) to > implement the controller, update amplitude cards, call abaqus using the > RESTART command to evaluate the next step in the model, calculate error, > then repeat on the next step. However, it seems like there should be a > more efficient way using user-subroutines (like VDLOAD) to accomplish > the same goal within Abaqus. Suggestions on implementation and > efficiency from anyone with such experience would be greatly appreciated. > > Thanks in advance, > Chadd Clary > > Post-Doctoral Research Associate > University of Denver > > |
|
|
Re: PID Control in AbaqusChad,
Take a look at user subroutines UAMP and VUAMP which were introduced in the 6.8 release. Should be just what you are looking for. -Eric --- In Abaqus@..., "Clary, Chadd W" <chadd@...> wrote: > > Hello all- > > I was curious if anyone has experience/references for implementation of PID control systems into an Abaqus Explicit model. In my application, I'm controlling muscle activation signals to generate a desired motion of the lower limb. I'm currently using an external program (Matlab) to implement the controller, update amplitude cards, call abaqus using the RESTART command to evaluate the next step in the model, calculate error, then repeat on the next step. However, it seems like there should be a more efficient way using user-subroutines (like VDLOAD) to accomplish the same goal within Abaqus. Suggestions on implementation and efficiency from anyone with such experience would be greatly appreciated. > > Thanks in advance, > Chadd Clary > > Post-Doctoral Research Associate > University of Denver > |
|
|
Different solutions using restartHello all-
I was curious if anyone else has experienced conflicting results using the *restart command in abaqus explicit (ver 6.7 - 6.8). For example, differences that exist when comparing results for a particular analysis evaluated in two different ways: 1) with several small steps using the restart command between steps and 2) using a single step for the entire analysis. Is it possible that there is some "round-off" error induced by writing the state of the model then reloading it, or might there be some aspects of the state of the model which are not conserved using restart? Any related experiences would be appreciated. Thanks in advance, Chadd Clary Post-Doctoral Research Associate University of Denver |
| Free embeddable forum powered by Nabble | Forum Help |