# MattM

Members

23

• #### Days Won

2

MattM had the most liked content!

• Rank
Beginner

## Profile Information

• Country
United Kingdom
• Are you University user?
No

## Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

1. ## How to Model a Revolute Joint Correctly with Nastran

I ran the following bdf: SOL 101 CEND DISPLACEMENT = ALL ELFORCE = ALL GPFORCE = ALL SPCFORCES = ALL \$ SUBCASE 1 LABEL= Lift SPC = 1 DEFORM = 2 ANALYSIS = STATIC BEGIN BULK PARAM,POST,-1 GRID 1 0.0 0.0 0.0 GRID 2 345.656 0.0 -15.423 GRID 3 287.795 0.0 -36.262 RBE2 2 2 12346 3 CROD 1 1 1 3 \$ PROD 1 1314.159315707.96 MAT1 172000.0 0.3 \$ \$ SPC 1 1 12346 0.0 SPC 1 2 12346 0.0 DEFORM 2 1 109.71 \$ ENDDATA This gives the following displacements from the .f06: POINT ID. TYPE T1 T2 T3 R1 R2 R3 1 G 0.0 0.0 0.0 0.0 0.0 0.0 2 G 0.0 0.0 0.0 0.0 -3.931020E+00 0.0 3 G 8.191853E+01 0.0 -2.274528E+02 0.0 0.0 0.0 Note that the length of the RBE2 is [(345.656 - 287.795)^2 + (36.262-15.423)^2]^0.5 = 61.499 Therefore, the equation of the line that Node 3 can move is x^2 + y^2 = 61.499^2 relative to the origin of the circle which is Node 2. In the reference system where Node 2 is the origin, the original position of Node 3 is 57.861, 0.0, -20.839. Double checking it lies on the circle: (57.681^2+20.839^2)^0.5 = 61.499 When we calculate the new position of Node 3, we get 57.861+81.19853 = 133.06 and -20.839 - 227.4528 = -248.292. Obviously we can already see that the model has not behaved as expected since the X and Z positions shouldn't be able to be more than +/- 61.499. I have also tried the model with forces applied instead of DEFORM cards for similar results. Just to prove with the equation of the circle: (133.06^2 + 227.839^2)^0.5 = 263.85 (i.e. not 61.499). When you say it's OK, do you mean the model ran? Because my model runs, but the results are incorrect based on the structure I am trying to model.
2. ## Honeycomb modeling with shell elements

It depends on the model and the part. For example we don't use solid elements in GFEMs of whole aircraft models in the aerospace industry.
3. ## How to Model a Revolute Joint Correctly with Nastran

Hey, I noticed this problem after I posted - but it still doesn't work. For example, the deflections of Node 3 are never on the circle produced by the radius of the RBE2 element - I've tried with DEFORM cards, Forces applied along the CROD element on Node 3, non-linear analyses, modal analyses... I'm not sure if I am missing something stupid or if there is a nuance with the maths within the NASTRAN code.
4. ## Honeycomb modeling with shell elements

I generally model Nomex honeycomb in the same way, and would make this MAT8 card for that core: MAT8 1 1.0 1.0 0.3 1.0 41.0 20.0 3.2-11 1.0 1.0 1.0 1.0 0.35 EDIT: You can put the real strengths in if you like, but generally I just use 1MPa since I don't check the failure of the core within my FEM analysis. I use 1.0 for E11 and E22 since the honeycomb doesn't carry load in these directions - the skins do.
5. ## How to Model a Revolute Joint Correctly with Nastran

Hi, I'm trying to model a revolute joint as part of a 1D element actuator mechanism in NASTRAN. I have created the simple model in MotionView and it works, however I need to understand how to model this correctly and that the kinematics work for a static analysis when I introduce the rest of the structure and stops into the system. My problem is that my RBE2 is elongating - I need it to stay the same length so that the actuator deforms correctly. Can someone check my .bdf input and see if I've made any errors with the DOFs or missed something simple? It is really very simple - only 4 GRIDS! For reference, I've attached the MotionView output of how the elements should displace. Thanks in advanced, Matt SOL 101 CEND VECTOR(PLOT,SORT1,REAL)=ALL DISPLACEMENT = ALL ELFORCE = ALL GPFORCE = ALL SPCFORCES = ALL \$ SUBCASE 1 LABEL= Lift SPC = 1 DEFORM = 2 ANALYSIS = STATIC BEGIN BULK PARAM,POST,-1 GRID 1 0.0 0.0 0.0 GRID 2 345.656 0.0 -15.423 GRID 3 287.795 0.0 -36.262 GRID 4 287.795 0.0 -36.262 RBE2 2 2 123456 4 RJOINT 3 4 3 12346 CROD 1 1 1 4 \$ PROD 1 1314.159315707.96 MAT1 172000.0 0.3 \$ \$ SPC 1 1 12346 0.0 SPC 1 2 12346 0.0 DEFORM 2 1 109.71 \$ ENDDATA Actuator Test.h3d
6. ## Get the components Name from a FE Model

I wrote this the other day to be able to click on the part and see what component it is (It is useful for checking part numbers of bits after importing a big assembly for example) #Select the component *createmarkpanel comps 1 "Select component:" #Get name of component set name [hm_getmark comps 1] *clearmarkall 1 set comp_name [hm_getentityvalue comps \$name name 1 -byid]; tk_messageBox -message "Name of Component: \$comp_name"
7. ## nonlinear material analysis Param cards

Optistruct is similar (if not the same) as Nastran for creating cards for material non-linearity. For material non-linearity in Nastran you'll need a MATS1 card which will reference a TABLES1 card. In the TABLES1 card you input your points for a stress strain curve. The first point after 0,0 must equal the yield stress you've defined in the MATS1 card. Both these cards are easily created from within the Hypermesh program.
8. ## Hypermesh Tcl script development

To code it the way you've suggested you can use the *findmark command
9. ## "hm_getdistance nodes" refere to single values

Hi Rizzo, You can do this using foreach: *createmark components 1 "displayed" *createmarkpanel nodes 1 "node1" set node1 [hm_getmark nodes 1] *clearmark nodes 1 *createmarkpanel nodes 1 "node2" set node2 [hm_getmark nodes 1] *clearmark nodes 1 foreach {tot x y z} [hm_getdistance nodes \$node1 \$node2 0] { *createvector 1 \$x \$y \$z *translatemark components 1 1 \$tot } Regards, Matt
10. ## Translating a local co-ordinate system

Can't you just duplicate the system, translate it and then reassign the nodes to the new system?
11. ## Gaps in Midsurface

I can't tell exactly what your problem is from the image, but if you want to extend a surface, I believe it has to have no mesh associated with it. Are the gaps present because it's a different part or the same part? If it's the same part, you should make sure that your surfaces are correct before meshing and intersect them so that the surface edge lines are all yellow / green where surfaces meet. (Red indicates a free edge). If it's a different part then there should be a gap. You can attach the parts by creating fasteners with CBARs, CBUSHs, RBEs etc or define contact
12. ## Which Card Image to use?

Hi carnut118, First of all PSHELL, PSOLID etc are property cards that you apply to elements. I.e, you associate shell elements such as CQUAD4, TRIA3 with PSHELL cards to give material properties. It really depends on your problem to the best way of modelling something. In order to make the best suggestion we'd need to understands loading, constraints and if they are stand alone models or part of a large assembly. From looking at the images you've attached, I would personally mesh both models using shell elements and assign PSHELL cards as they are thin structures with no complex geometry. Let us know if you have anymore questions Matt
13. ## How to creat 2D element from nodes

I agree, I would calculate with shell elements. However, I have tested this myself. I created a simple model of a cantilever beam and compared different solid meshes with the max output von Mises stress result. Via hand calculations (baseline): Stress = 600 MPa 1x HEX8 element through thickness: Stress = 565 MPa 2x HEX8 element through thickness: Stress = 604 MPa 1x TET4 element through thickness: Stress = 154 MPa 2x TET4 element through thickness: Stress = 387 MPa 1x TET10 element through thickness: Stress = 623 MPa The results are a bit iffy because the max stress is located near the constraints (I should've done this using a 3-point bending model...) You can clearly see here that TET4 elements are bad at calculating stresses through the thickness due to bending. However the TET10 element (with midside nodes) is a lot better. Still, for best results calculating stresses through the thickness I would be using HEX elements (where possible) for thick components and QUAD elements for thin shell components.
14. ## IDs of attached elements

Hi Merula, You can get the ID's of attached elements using the *findmark command. Here's a little test script I wrote as an example: # Create element set for test run *createmarkpanel elems 1 "Select Elements" set elemsOriginal [ hm_getmark elems 1 ]; *clearmark elems 1 # Find attached elements hm_createmark elems 1 "by id" "\$elemsOriginal" *findmark elements 1 1 1 elements 0 2 set elemsAttached [ hm_getmark elems 2 ]; *clearmark elems 1 *clearmark elems 2 puts "The attached elements are \$elemsAttached"
15. ## Define multiple variables in one panel?

Ah thanks, I thought listvar and textvariable were doing the same thing. One final thing.. how do I make the window close after the user presses OK? Edit: Actually I will use tkmessageBox -type okcancel. What I want is that if the user presses OK it will accept the variables and also close the main window where it asks for inputs. If the user presses cancel then it will close the tkmessageBox and revert back to the main window asking for the inputs. I guess I need something else in the applyFunctrion procedure in order to close the main dialouge box when OK is pressed? hwt::CreateWindow mytoplevel \ -windowtitle "Input Fastener Properties" \ -noGeometrySaving \ -cancelButton Cancel \ -acceptButton OK \ -acceptFunc applyFunction \ -defaultButton Accept \ -minsize 470 100 \ -post; proc applyFunction args {tk_messageBox -message "Fastener Diameter Chosen: \$::valueToPrint \ Fastener Type Chosen: \$::fastType" -type okcancel}
×
×
• Create New...