Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Modal analysis of a wood beam 2

Status
Not open for further replies.

powerplay123

Industrial
Oct 7, 2010
19
Hi guys,

the following is my apdl code:

/PREP7

ET,1,SOLID45

MP,EX,1,0.789e9
MP,EY,1,1.365e9
MP,EZ,1,0.289e9

MP,GXY,1,0.053e9
MP,GYZ,1,0.474e9
MP,GXZ,1,0.543e9

MP,NUXY,1,.31
MP,NUXZ,1,.4
MP,NUYZ,1,.03

MP,dens,1,450

! MODELING
K,1,0,0,0
K,2,0.1,0,0
K,3,0.1,0.1,0
K,4,0,0.1,0

A,1,2,3,4

VEXT,1, , , , ,2

ESIZE,0.025
VMESH,1

KNODE,0,840
KNODE,0,524
KNODE,0,775
KNODE,0,459

L,9,10
L,11,12

DL,13, ,UX,
DL,13, ,UY,
DL,14, ,UX,
DL,14, ,UY,

DA,3, ,UX,
DA,3, ,UY,

F,26,FY,100
F,27,FY,100
F,28,FY,100
F,29,FY,100
F,30,FY,100

/SOLU
ANTY,MODAL
MODOPT,LANB,15,300,500,OFF,OFF

MXPAND,15,

SOLVE


1. First of all, ANSYS shows me this warning when i input the file: "The degree of freedom solution is not available. The PLDISP command is ignored."

I don't know how to fix that, so that I can look at the resulting mode shapes.

2. My second problem is, I want the forces at the nodes to hava an angle. In this case their showing in FY direction but i generally would like to keep the angle (which would be a combination of FY and FX) variable.

3. Also the external force (from point 2) is supposed to be the excitation with a certain frequency and not just constant without vibrating. However, i could not find the right command to do that.

I would be very grateful if you guys could help me with good advice.

Thanks in advance.
 
Replies continue below

Recommended for you

You do know that any external loads are irrelevant in an eigenvalue extraction? These can only be incorporated for a pre-stressed modal extraction which presumably from your code you're not undertaking.

To look at the mode shapes you will need to enter /post1 and open the results file, then select a set and type pldisp.


------------
See faq569-1083 for details on how to make best use of Eng-Tips.com
 
Looking at your post, you may also want to take a look at Harmonic Analysis in the manual.


------------
See faq569-1083 for details on how to make best use of Eng-Tips.com
 
Thank you very much for your help so far.

I'm trying to simulate the vibration of the wooden beam which is excited by a planning tool with a particular Newton Force and a specific frequency. The excitation should take place at different places of the beam and also the experiment should be done for several beam geometries.

Now how can I implement that assuming the force has also an angle other than 90° (so it has both a x and y component)?

My other problem are the DOF constraints. For example: the beam is supposed to be on a machine tool table that constraints the beam in negative y-direction only. That is, the beam can swing and is free in positive y-direction.

What would be the code for that bottom area then?
"DA,3,UY," constraints all translation in y direction.

Thanks
 
As I said in my reply above, see the manual under Harmonic Analysis - make sure you read and understand all of it before continuing.


------------
See faq569-1083 for details on how to make best use of Eng-Tips.com
 
If you want to have a restraint on the negative y-direction only, then you don't have a linear system and shouldn't be doing a modal frequency response or modal transient solution. The way to incorporate the restaint is to include the table with contact elements between the beam and table. Then you would do a direct transient solution. You can apply any FX and FY you like as loads.

 
Okay, so you are suggesting to position a fixed and inelastic element where the table would be and relate that element to the table somehow, right?

The way I make a element fixed would be through appropriate DOF contraints. So that would mean to constrain pretty much all DOF for the table element.

Do I have to put the beam in a relationship with the table when the table is already fixed and doesn't give the beam any freedom in that direction?
 
If the table is much stiffer than the beam, you can make it rigid if you like - restrain all of its degrees of freedom. The relationship between the 2 components would be through contact elements which would be very stiff when the beam touches the table but have little or no stiffness when the beam is not in contact. There are several types to choose from: node-node, node-surface, surface-surface.
 
I tried to set a table as a rigid element to constrain the beam in negative y-direction. I'd say its not a big challenge to implement a rigid body as the table with appropriate dof constraints, but the problem is to couple that rigid element adequately with the beam.

The table in the bottom is supposed to work pretty much as guidance (friction is neglected) that is rigid. However, the beam should be able to vibrate and wave in positive y-direction. But if i couple the nodes from the table with the beam (e.g. with a CE command), then the coincident nodes won't leave each other and stay coupled.

Then I'd would be exactly where I started by constraining transaltion in y-direction (positive and negative) for the bottom area.

How would you solve that problem. I really need some help.

Please find attached the sketch of this part of the problem.
 
 http://files.engineering.com/getfile.aspx?folder=cf74c408-9d50-40b2-af2b-44e88522621c&file=Scheme_jpg.jpg
Don't use constraint equations. Use contact elements. Start with the simplest: CONTAC12 for 2D or CONTAC52 for 3D. KN should be relatively stiff in comparison to your beam material. You may need Keyopt(3)=1 to maintain model continuity (soft spring stiffness controlled by REDFACT).

 
I know my contact element definition must look as follows or very similar:

ET,2,CONTAC52
R,2,10e10, ,1,0, , ,
MP,MU,2,0
KEYOPT,2,3,1
KEYOPT,2,4,1 ! to have the gap size determined by the node location

also i defined an area which is supposed to represent the table. i set the density of that area to 0 to avoid that this table area contributes to the total mass.

and now the problem is to connect the appropriate nodes of the table and beam that are lying upon another. how do i do that with my contact elements???

thanks
 
If KN=10e10, you probably should use REDFACT because the default soft spring stiffness would then be 10e4. If you have too many nodes to select the pairs by picking, you can form a component consisting of the nodes of the beam of interest. Then write a macro to loop through those one at a time and find the nearest node of the table. Since the resulting elements may not have their lines of action perpendicular to the table, you should use NX,NY,NZ to specify the element normal direction.

 
kan123 man i'm really struggling with writing the macro with vba on excel. I generated a list (see attached file) but could not figure out a way to write the macro with vba even though i'm a good c++ programmer.

Please can anybody show me how to do that without using matlab? I'm really getting insane on that.

In this case only the y=0 nodes are of interest. The value should compare x and z values of nodes and write down the node numbers that contained x and z values that occured more than once.
 
 http://files.engineering.com/getfile.aspx?folder=43a0b507-d384-473d-8e5a-98d0c9bfcc76&file=node_list.xlsx
I was just thinking of a macro within ANSYS using the APDL. If you need to call it only once, you could use a *DO loop looking something like:

CMSEL,S,SET1_NODES
*GET,SET1_COUNT,NODE,0,COUNT
NODENUMB=0 ! INITIALIZATION
*DO,I,1,SET1_COUNT,1
CMSEL,S,SET1_NODES
NODENUMB=NDNEXT(NODENUMB) ! NEXT NODE IN SET 1
NSEL,R,NODE,,NODENUMB
CMSEL,A,SET2_NODES
NODE_J=NNEAR(NODENUMB)
E,NODENUMB,NODE_J
*ENDDO
ALLSEL

 
Can u explain very briefly the function and how this macro works please? And where are the node numbers saved and how can i use those numbers DIRECTLY when I want to implement the contact elements....

I'm very sorry for all ur inconvenience but I really need some help to meet my deadline.

Thanks
 
Select the nodes of the beam (or the subset that could potentially come into contact with the table) and create a component for later use:
CM,SET1_NODES,NODE ! SET OF BEAM NODES FOR CONTACT

Then do the same with the table nodes:
CM,SET2_NODES,NODE ! SET OF TABLE NODES FOR CONTACT

The *DO loop will go through the set of beam nodes one by one (in node number order) and find the nearest table node. The contact element is created with the chosen nodes. You have to set the MAT, REAL, and TYPE before entering the loop. Each command is described more fully in the Help Manual.


 
OK I think I implemented everything so far but it doesnt run.

Here are the errors and warnings:
*** WARNING *** CP = 3.469 TIME= 03:02:51
Both solid model and finite element model boundary conditions have been
applied to this model. As solid loads are transferred to the nodes or
elements, they can overwrite directly applied loads.

*** WARNING *** CP = 6.766 TIME= 03:03:51
Both solid model and finite element model boundary conditions have been
applied to this model. As solid loads are transferred to the nodes or
elements, they can overwrite directly applied loads.

*** WARNING *** CP = 7.047 TIME= 03:03:52
Line 13 has no nodes associated with it. Constraint not transferred.

*** WARNING *** CP = 7.047 TIME= 03:03:52
Line 14 has no nodes associated with it. Constraint not transferred.

*** ERROR *** CP = 7.297 TIME= 03:03:55
The nodes of CONTAC52 element 1761 are coincident. Please define the
contact normal using real constant set 3.

And please find attached the whole code including all the revised commands.

I'd appreciate every help.
 
 http://files.engineering.com/getfile.aspx?folder=dcdb436b-f3da-4394-ad3d-10f53737e924&file=workpiece_wc.txt
If the including the nnear function are the problem then i could basically do it without too.

Since I've determined the coincident nodes from ET1 and ET2 from my excel spreadsheet I could theoretically enter every contact pair manually if that would help.
 
The error is caused because you forgot to set the element orientation with NX, NY, NZ. If the nodes are coincident, the program can't determine it automatically. Since KN is so large, you should also specify REDFACT, maybe something like 10e-12 (or whatever will give you a "soft spring" on separation). Be sure that KN isn't too large or you could have instability in a nonlinear solution. It only needs to be 1 or 2 orders of magnitude stiffer than the elements making contact.

Be aware that if you do a modes solution, the bilinear contact elements will be treated as linear springs with the stiffness determined by their initial condition. A nonlinear solution can only be done as a direct transient. You can do a nonlinear static run first as a check.

 
Okay I made some adjustments: As u suggested I defined redfact 10e-12 and also I reduced the value of kn to 10e6 to increase the stability. But how can i specify the normal direction at this point. I thought I can take the default values since there is table on which the beam is positioned is rigid. Or did i understood something wrong?


Regarding the nonlinear solution. The modal analysis is generally biliniear. How can I implement the static run and what does that physically mean.


Considering the macro above. Can I hypothetically use it more than once in the program when I lets say have the same contact elements problem on another side of the beam???


Thanks
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor