Contact US

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Abaqus - Seismic analysis of a column - Displacement relative to the base

Abaqus - Seismic analysis of a column - Displacement relative to the base

Abaqus - Seismic analysis of a column - Displacement relative to the base


I am trying to do the post-processing of the results of the dynamic analysis of a column, using Python scripting. A time-dependent acceleration in the X-direction is used as a boundary condition at the column base (so the base of the column oscillates around its initial position to simulate an earthquake).

I would like to obtain a contour plot of the envelope over all the frames during the ‘Seismic analysis step’ of the absolute value of the displacements of the structure, in the X-direction (U1), relative to the displacement of the column base (U1base).

To do so, I created a new coordinate system, attached to a node corresponding to the base of the structure, as follows:

myOdb.rootAssembly.DatumCsysBy6dofNode(name='CSYS_Support', coordSysType=CARTESIAN, origin=NodeSupport)
datumCoordSys = myOdb.rootAssembly.datumCsyses['CSYS_LeftSupport']

Then, I apply the coordinates transformation to my structure:

myViewport.odbDisplay.basicOptions.setValues(transformationType=USER_SPECIFIED, datumCsys=datumCoordSys)
myViewport.odbDisplay.basicOptions.setValues(rigidTransformPrimary=True, rigidTransformDeformed=True)

I checked, and I indeed obtain the U1 displacement relative to the base of the column, as expected.

Then, to obtain the envelope of the absolute value of U1 relative to the base of the column, over all the frames, I do as follows:

DisplU1 = [abs(frames[i].fieldOutputs['U'].getScalarField(componentLabel='U1’)) for i in range(numFrames)]
(Field_MaxAbsU1, Index_MaxAbsU1) = maxEnvelope(DisplU1)

However, by doing so, I only get a contour of the envelope of the absolute value of U1 in the initial fixed coordinate system… And not relative to the base of the column!
Maybe because the ‘abs()’ operator considers the displacement value in the initial fixed coordinate system?…

One solution that I thought of would be to use ‘getTransformedField’ as follows:

DisplU1 = [abs(frames[i].fieldOutputs['U'].getTransformedField(datumCsys=datumCoordSys, deformationField=frames[i].fieldOutputs['U'], rotationField=0*frames[i].fieldOutputs['U']).getScalarField(componentLabel='U1')) for i in range(numFramesInitial)]

And then use maxEnvelope as before.

However, I am not completely sure of the signification of ‘deformationField’ and ‘rotationField’: do they correspond to the displacement/rotation output fields of the whole structure for the considered frame? or just those of the node at the base (to which the 'moving' coordinate system is attached)
Also, in my case, I conduct a 2D analysis using a homogeneous solid section, so I can’t get any rotation field output (so I just used the displacement field output, and multiplied it by 0 as you can see above)…

Sorry, I have a lot of questions! Hope you can help me :)

Thanks in advance!

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close