HJR
Civil/Environmental
- Jan 17, 2023
- 1
Hi users,
I modeled a CEL model in which the pipe cyclically moves through a fluid and soil in a vertical direction.
I'm going to define new boundary conditions as the upper limit of cycles would be fixed at the specific displacement, but the lower limit would be defined by a load limit. It means that the pipe starts to move in a downward direction until a specific reaction force is achieved (RF2~600 N). Then it moves upward until the specific displacement (1 m above the soil surface). This is illustrated in the figure attached here.
I realized I can do this by using a VUAMP subroutine; set the sensor for RF2 and then try to define a limit on it in the VUAMP.
I have made an effort to do the first steps of defining a sensor and get the RF2 results from the history output, but I got errors as follows.
***ERROR: Sensor FORCE-SENSOR cannot be found but is accessed in
VUAMP.Please make sure that this sensor is defined for this step.
I was wondering if you could help me to solve this problem and also figure out the boundary conditions. How can I code in a "vuamp" to push the pipe to move upward while the specific RF2 is achieved? and then start to downward while specific displacement is reached?
Thank you!
inp:
*AMPLITUDE, NAME=set_force_user-AMP, DEFINITION=USER, VARIABLES=1
**
**
**
.
.
.
** sensor/history
*OUTPUT, HISTORY, SENSOR, NAME=FORCE-SENSOR, FREQUENCY=1
*NODE OUTPUT, NSET=pipe_ref_point
RF2,
subroutine:
if (ampName .eq. 'set_force_user-AMP') then
c read sensor value (reaction force) and assign to variable
rSensorForce = vGetSensorValue('FORCE-SENSOR',
& jSensorLookUpTable, sensorValues)
I modeled a CEL model in which the pipe cyclically moves through a fluid and soil in a vertical direction.
I'm going to define new boundary conditions as the upper limit of cycles would be fixed at the specific displacement, but the lower limit would be defined by a load limit. It means that the pipe starts to move in a downward direction until a specific reaction force is achieved (RF2~600 N). Then it moves upward until the specific displacement (1 m above the soil surface). This is illustrated in the figure attached here.
I realized I can do this by using a VUAMP subroutine; set the sensor for RF2 and then try to define a limit on it in the VUAMP.
I have made an effort to do the first steps of defining a sensor and get the RF2 results from the history output, but I got errors as follows.
***ERROR: Sensor FORCE-SENSOR cannot be found but is accessed in
VUAMP.Please make sure that this sensor is defined for this step.
I was wondering if you could help me to solve this problem and also figure out the boundary conditions. How can I code in a "vuamp" to push the pipe to move upward while the specific RF2 is achieved? and then start to downward while specific displacement is reached?
Thank you!
inp:
*AMPLITUDE, NAME=set_force_user-AMP, DEFINITION=USER, VARIABLES=1
**
**
**
.
.
.
** sensor/history
*OUTPUT, HISTORY, SENSOR, NAME=FORCE-SENSOR, FREQUENCY=1
*NODE OUTPUT, NSET=pipe_ref_point
RF2,
subroutine:
if (ampName .eq. 'set_force_user-AMP') then
c read sensor value (reaction force) and assign to variable
rSensorForce = vGetSensorValue('FORCE-SENSOR',
& jSensorLookUpTable, sensorValues)