Jump to content


Popular Content

Showing most liked content since 04/01/13 in all areas

  1. 4 likes
  2. 3 likes
    Hi, Deleting those files usually helps, Or you can write a .bat files like below: "C:/Program Files/Altair/2017.3/hm/bin/win64/hmopengl.exe" -nouserprofiledialog -uOptiStruct Search HyperMesh Startup Options in Altair Connect or in Help doc for more info.
  3. 3 likes
    Just another way to handle this.... *createmarkpanel nodes 1 "Select nodes to which the attached elements have to be determined" eval "*createmark elems 1 \"by nodes\" [hm_getmark nodes 1]" eval "*createmark nodes 2 \"by elems\" [hm_getmark elems 1]" *marknotintersection nodes 1 nodes 2 eval "*createmark elems 2 \"by nodes\" [hm_getmark nodes 1]" *markdifference elems 1 elems 2 set attached_elem_list [hm_getmark elems 1]
  4. 3 likes
    Hi Vipin You can use "by block" option in *createmark. Here is sample code. set blockname [::hwat::utils::GetUniqueName block "Dummy"]; *createsimpleblock $blockname 11 -100000 -100000 0.5 100000 100000 100000; *createmark surfs 1 "by block name" $blockname; *numbersmark surfaces 1 1; *createmark blocks 1 "by name only" $blockname; *deletemark blocks 1; Thanks, Imoto
  5. 3 likes
    work with only 1/4 Split surface of 2nd by 1st Make 2D mesh on 1st solid (yellow) => Make 3D tet mesh for 1st solid On interface, make 2D mesh on 2nd solid => Equivalence of nodes. Make the rest of 2D mesh of 2nd solid & equivalent of nodes: Finally fill 3D tet for 2nd solid and get the final result: Here's HM model: peca.hm HTH,
  6. 3 likes
    Yes surface is not a named hypermesh entity. If you tagged the surf in catia. Maybe the tag will be imported into hm as metadata. Try searching it by: set md [hm_metadata findall] puts [join [lsearch -all -inline -glob $md "surfs $surfID *"] \n]
  7. 3 likes
  8. 3 likes
  9. 2 likes
    The virtual wind tunnel you show in your screenshot if very small for any reasonable aerodynamics results. You might get colorful picture, but probably no useful interpretation. Wind tunnel dimensions: o 5 car lengths ahead of the car o 10 car lengths behind the car o 5 car widths on each side of the car o 10 car heights above the car o i.e., wind tunnel dimensions LWT x WWT x HWT = 16Lc x 11Wc x 11Hc. o The mesh farther away from the car will be coarse and increasing the wind tunnel domain would not affect the element count too much but it would still affect the B.Cs if they are too close to the car.  Boundary Layer details o First layer height will depend on the freestream velocity to obtain a maximum y+<100. A first guess would be 0.2mm<y<0.5mm. Ideally y+max<30. o For some applications y+max<100 should still give good results o growth rate of 1.3 o number of layers 5 o all tets in boundary layers
  10. 2 likes
    Hello @LFM1995 If you still have the hexa elements, please try this. hm_entityrecorder elems on; *createmark elems 1 "by config" 208; foreach elemid [hm_getmark elems 1] { lassign [hm_entityinfo centroid elems $elemid] X Y Z; *createnode $X $Y $Z; set center [hm_latestentityid nodes]; foreach nodeid [hm_getvalue elems id=$elemid dataname=nodes] { *createlist nodes 1 $center $nodeid; *createelement 2 1 1 1; } } hm_entityrecorder elems off; set newplot [hm_entityrecorder elems ids]; if {[llength $newplot] != "0"} { hm_createmark elems 1 $newplot; *configedit 1 "bar2"; } hm_markclearall 1; Download --->>> CreateBeamForCentroidHexElements.tcl
  11. 2 likes
    I'd like to share the seamless integration that Compose with other HyperWorks applications, such as HyperMesh and OptiStruct. In order to expose the Compose function to other HyperWorks applications, we need to register the function. This is done clicking on the right mouse button on Register Function in Compose: After this step, we may now see that the function has been registered under the same mouse click shown above under Show Registered Functions button. Once it is registered, we may now use it inside other HyperWorks softwares, and the function will be available without the need for closing and reopening the application of interest. Example in HyperMesh: Why Compose and HyperMesh? Matrix Browser queries and modifies HyperMesh and HyperView data entities without writing cumbersome TCL coding, along with a Math method developed in Compose. Example in HyperGraph: Why Compose and HyperGraph? Plotting capabilities of HyperGraph are expanded with Compose’s advanced functions and custom procedures developed by the user. Example in HyperView: Why Compose and HyperView? Advanced post-processing or special mathematical approaches may be applied directly on the model. Example in HyperStudy: Add a new output response Define a new expression Use your custom Compose function Why Compose and HyperStudy? User-defined functions to perform design exploration and optimization. Example in OptiStruct: Why Compose and OptiStruct? User-defined functions to perform optimization with DRESP3 card (desired response based on external files). Regards, Roberta
  12. 2 likes
    Thank you very mush!I use it to check a solid.It shows Intersections found.But how can i see the intersection facets?
  13. 2 likes
    please Try this: variable list1 proc framework args \ { *createmarkpanel comps 1 "Please select the components "; hm_framework registerproc getorderedcomps graphics_selection_changed; *clearmark comps 1; } proc getorderedcomps args \ { variable list1; lappend list1 [noIntersect;]; } proc noIntersect args \ { variable list1; foreach item [hm_getmark comps 1] \ { if {$item in $list1} \ { continue; } else {set comp $item}; } return $comp } framework puts $list1
  14. 2 likes
    Hi Manjunath, You can do it via: modelHandle AddResult $resultfileloc
  15. 2 likes
    Hi, We can use tool edges to create feature elements all along the free edges of your model, these can later be used to create shell cross sections and change the configuration of these feature elements to create 1D feature models of the original solid or shell models. https://altairuniversity.com/wp-content/uploads/2013/09/Tool_Edges_TTF.pdf Plotel elements can also be converted into CBAR and CBEAM elements. https://altairuniversity.com/wp-content/uploads/2017/03/1D_Elements_Extract.pdf
  16. 2 likes
    *createmarkpanel nodes 1 "Select a node on the edge" 4 set nodes_aroundhole [hm_getmark nodes 1] eval *createmark nodes 1 $nodes_aroundhole *createstringarray 4 "Remesh: 1" "AdjacentComp: 2" "CurvedFill: 1" "DefineMaxWidth:0" *fill_fe_holes 1 1 0 1 4
  17. 2 likes
    Okay, it kind of got solved. For everyone who has thr same issue. The System or the Mateial orientation dialog does NOT work for this. (2017.2) However you can create a coordinate system und put it into the property as CORDM. Select "USER" and choose the coordinate system. The materila will orient itself around the X-axis.
  18. 2 likes
    Hi Set w .wDemo Destroy $w Toplevel $w Wm transient $w . For {set i 1} {$i<5} {incr i} { Frame $w.f$i Label $w.f$i.lbl -text "Input $i =" Entry $w.f$i.ent Pack $w.f$i.lbl -side left -anchor w Pack $w.f$i.ent -side right -anchor e Pack $w.f$i -side top -anchor nw -fill x } Button $w.b -text Proceed Pack $w.b -side top -anchor e
  19. 2 likes
    Hi Use *entityhighlighting 0 hm_blockredraw 1
  20. 2 likes
    Hi, In your code, destroy .window11 will close the window. Not sure how to close it as soon as you enter a value.
  21. 2 likes
  22. 2 likes
    Another solution you can try is the following: hm_createmark nodes 1 "by id only" $NodeList; hm_createmark nodes 1 advanced reverse; hm_createmark elems 1 "by nodes" [hm_getmark nodes 1]; hm_getmark elems 1;
  23. 2 likes
    Hi Vipin You can ignore adjacent elems *createmark nodes 1 {*}$NodeList *createmark elems 1 "by node" {*}[hm_getmark nodes 1] *createmark elems 1 reverse *appendmark elems 1 "by adjacent" *createmark elems 1 reverse
  24. 2 likes
    Hi @etrud011, you can record the command using F10 panel and use it accordingly, for example *createmark elements 1 "displayed" *createmark elements 2 *elementtestjacobian elements 1 0.7 2 2 0 " 2D Jacobian " *deletemark elems 2
  25. 2 likes
    1. The idea is to use the 2D mesh to impose a mesh pattern on hexa mesh. If you want a specific mesh pattern in the through-thickness direction you can also 2D mesh the sides and use nodes or elements as guides (elems to drag/match, along geom). Note that imposing mesh patterns in 2 directions requires well thought out meshing plan as it needs to be 2 directionally mappable. Maybe you will find videos on solid map helpful . 2. surf geom in the case of provided screenshot can be set to none, because it is already defined by elems to drag. Select the surface opposite to the 2D mesh as dest geom. Please hit the like button on useful tips
  26. 2 likes
    When you use hm_pushpanel to invoke panel "automesh" to help user to adjust mesh, hm_pushpanel will return soon and not wait for user finish his work. => do not use hm_pushpanel, you need to pack all remained script into hm_setpanelproc example: eval *createmark surfs 1 $::FlangeSurfs set Holes [p_GetHoles surfs 1] hm_entityrecorder surfs on p_SplitHoles $Holes hm_entityrecorder surfs off eval lappend ::FlangeSurfs [hm_entityrecorder surfs ids] hm_setpanelproc { hm_setcollector automesh [hm_getcolnumber automesh 1] surfs hm_initpanel { eval *createmark surfs 1 $::FlangeSurfs hm_activateitem [hm_getitemnumber automesh mesh] } hm_callpanel automesh eval *createmark elems 1 {"by surface"} $::FlangeSurfs p_SolidMap elems 1 }
  27. 2 likes
    Hi, I did a sample for you to get started. Please find the attachment. Regards, llyle mypopup.tcl
  28. 2 likes
    Hi, If you get max vonmisses value from contour plot, please set an averaging method
  29. 2 likes
    Hi Vipin try using hm_getplanepanel
  30. 2 likes
    Hello mustaphos, At this point you need to have a look at the CADFEKO API. Everything you need will be under "project". I would suggest that you have a look at chapter 7.1 (Scripting basics) and in particular the example in 7.1.1. I would then suggest that you work through example I-1 in the Example guide since it walks you through the process of creating a model in CADFEKO. Reading settings from the model is the same and it is also demonstrated.
  31. 2 likes
    Hi Matthieu, Here is a macro for splitting 1D elements in 2 in one shot . I hope it will solve your problem and time *createmarkpanel elements 1 "select beams to split" #set elem_list [hm_getmark elements 1] set num [hm_marklength elements 1] hm_commandfilestate 0 hm_blockerrormessages 1 hm_blockmessages 1 *entityhighlighting 0 hwbrowsermanager view flush false eval *createarray $num [string repeat "2 " $num] *elementmarksplitwith1D 1 1 $num *entityhighlighting 1 hm_commandfilestate 1 hm_blockerrormessages 0 hm_blockmessages 0 hwbrowsermanager view flush true
  32. 2 likes
  33. 2 likes
  34. 2 likes
    Hi, For a fixture design, it depends on the operating frequency range on which the system is tested. You can for keeping the natural frequency around 1.5- 2 times of the operating frequency. If you are going for a component or system level design, understand the range of frequencies to which it is subjected to. For understanding local frequency effect, try running the frequency response analysis.
  35. 2 likes
  36. 2 likes
    Hi there perhaps, hm_getconfigtypeincol will help you
  37. 2 likes
    CBUSH is a generalized spring-damper structural element with can take up to 6 stiffness values.If there are more than one stiffness we need to assign a local coordinate system id. What exactly you want to capture with zero length Bush element?I have attached some documents from user guide for your reference. CBUSH.pdf PBUSH.pdf
  38. 1 like
    I see. Thank you for the clarification. I suppose I will have to rely on AMS, as it looks like Multi-Domain won't work for my application. Just to add some further documentation for future viewers: I actually ended up looking deeper into the theory manual as well, and it seems unfortunately for my application it will not work. Turns out for multi-domain, it's also important you have a very small amount of contact surfaces that are well defined, so it's not great for the application of fluid sloshing in tanks, but works great if you have an example like ditching, where it will be a simple and direct interface between the two domains. Thank you very much for your help Hyperman.
  39. 1 like
    Hi Michel, Sliding contact might not work using linear static analysis. In linear static analysis, the contact status does not change, does not slide and the contact stiffness is constant throughout. It is advisable to equivalence the sheet panels to the core instead of using the freeze contact. The load and consequently displacements are so high it can be solved more efficiently in Radioss. Given the loads and BCs are symmetric you could reduce the model to a quarter for computational efficiency. I have set up your model with imposed displacement of 10mm using NLSTAT analysis. 3PB_edit.hm
  40. 1 like
    Hi @Bidisha Barman, Maybe you can make use of the "Scope" in the far field request. There you can select which faces/wires are taken into account for the far-field calculation. You could for example select only those faces from the one element you're interested in.
  41. 1 like
    Hi 0000.out is the file which gives the summary of the FE model created (property, materials, parts, contacts, time step...) and summary of load cases in the form of warnings and/or error messages , please do attach the 0001.rad file to check about the run time , do cross verify the unit system consistency before carry out the run
  42. 1 like
    Do you see 'fid' variable has a negative value ? if so, you might not have the 'nodes.txt' in the current working directory. can you please make sure you have the file in current working directory, if not change the working directory or have the fullpath to the file. like: fid =fopen('C:/temp/test.txt', 'r') thanks, Manoj kandukuri
  43. 1 like
    Hi, I definitely agree with qchen regarding the doc :-) I have a similar question: I'm trying to import one of my scripts (imprtScrpt.py) in another script (mainScrpt.py). The imported script only contains functions. The only solution that I've found until now is to call "executeBatchSpy('imprtScrpt.py')" in mainScrpt. When I simply try "import imprtScrpt", mainScrpt exits without any message. Am I doing something wrong? Thank you very much in advance for your help! PS: until now, I've been ok with importing by using executeBatchSpy, but my script is starting to get quite big and I'd like to use imports to use profiling tools (such as doxy).
  44. 1 like
    Hi It is array get ::AbaqusCW::cwNonSurArray
  45. 1 like
    Most of casting software use STL import (3D scan data). But you can use Inspire Cast to import step/parasolid/... files with good geometry quality. Another method I overcome this issue for complex geometry (scan data) by using Simlab or HM to create good mesh >> export to STL >> Click2Cast.
  46. 1 like
    your mesh is good, guy! don't worry=) just unchek "min size"
  47. 1 like
    @marta in the STEPII files you shared, there is reference to .sty files (/INISTA control card). Instead, I have turned off this card and imported .sta file (with FE overwrite) from STEPI and the simulation runs fine. step2.hm step2_0000.rad step2_0001.rad STEPI_0001.sta
  48. 1 like
    Hi bouvy, The attached model gives a maximum Directivty of 2.49 dBi. Please note that for the Reflection Coefficient Approximation a minimum distance of lambda/10 should be between ground and segments/elements. That's why warnings are given: WARNING 667: A segment is close to the ground WARNING 668: A triangle is close to the ground I compared with Exact Sommerfel Integrals where the maximum Directivity is slightly higher (3.19 dBi). I assume that the lower the frequency, the worse the results, because the assumption of segments/elements being > lambda/10 away from the ground not fulfilled. Due to the small distance geometry and ground (1 cm) the Reflection Coefficient Approximation should only be used for frequencies > 30 GHz. I would recommend using Exact Sommerfeld Integrals instead. Please also note, that for dielectric halfspaces the loss in the dielectric is unknown and therefore only Gain will be computed (Directivity = Gain).
  49. 1 like
    The turbulence models all work for either steady or transient flows. You'll need to determine which model to use for your particular application, but it will not depend on whether it's steady or transient. (However, DES/LES would apply only to transient flows.)
  50. 1 like
    sorry, correct command is hm_holedetectioninit please read usage and example in hm reference help for this command
  • Create New...