Jump to content


Popular Content

Showing most liked content since 06/02/20 in all areas

  1. 5 likes
    Hi techs! I've created a Ball & Beam model on MotionView to explore a co-simulation with Activate. Many of you may have seen this on undergraduate/master class studying on frequency or even on time domain. I've decided to do something different, creating the model on a multibody environment. The control is a simple PD, where I've calculated using analytical method (Kp +Kd.s) with a specified overshoot and settling time. You could explore changing its values... I'd like to thank @Livio Mariano for suggesting me his own low-pass filter in a way to filter the input displacement signal (without it I was having a problem to converge). I've created a short video to show you how it works, and the files are attached. Enjoy! João. Ball_&_beam.zip
  2. 4 likes
    Hello community, I want to share some code that will help you to use a gamepad/joystick in compose. I created an OML-class that represents the controller. I will provide you with more informations, documents and updates soon. To make the code work, you need to install the XInput-Python interface: https://pypi.org/project/XInput-Python/ In the topic below, there are instructions how to install python modules in compose: regards Nils vrjoystick.zip
  3. 3 likes
    Hello everyone, Regarding some Shock's analysis demands, I've decided to facilitate and automate (using Activate) the task to obtain the expected Shock Response Spectrum curve as below: This model will be very useful for those who are intending to do some Shock's analysis, even a linear approximation using the amplification factor on a certain frequency, as a Response Spectrum covering all the frequency domain. Basically the inputs are the Half-sine and System properties: Sine: Magnitude, period, phase. System: Mass, damping, stiffness. After set them, you'll just have to click 'Run' and then 'Execute'. Besides the traditional plots (Acceleration (G) vs. Frequency (Hz)) you will already have the 'TABLED1.fem' to be used on OptiStruct, as can be seen in this video. Thanks for @robertavarela, @RoKet and @Adriano Koga for some tips regarding the modeling. Hope this be very useful for you all! Please, let me know if you have any question about this model (attached). João. Srs_curve_model.zip
  4. 3 likes
    Hi everyone, i'd like to share a script slightly modified, based on the very famous 99lines topology optimization script from Ole Sigmund group (http://www.topopt.mek.dtu.dk/). It brings a topology optimization problem, for miminize compliance, while keeping a limited volume fraction of material. It is a bi-supported beam example. This runs fine in Compose 2019..3+ I believe. Just load the .oml file, and run the script. Then for execution type a few parameters while calling the 'top' function. top(20,10,0.5,3.0,1.5) top(numb elems in x, numb elems y, volume fraction, penalization , minimum radius filter) 99lines_modified.oml
  5. 3 likes
    Hello all, I wanted to share with you a tool to digitize plots in images using OML and Python. The aim is to convert plots that are introduced in text books like Analysis and Design of Flight Vehicle Structures (Bruhn, 1973): Such plots are commonly used in industries like Aerospace to calculate constants and other parameters that assess Margins of Safety of components and systems. Finally, we can do a polynomial curve fitting to use these curves and compute these constants without the need to look at the plots everytime they must be applied. The steps of the attached scripts are: 1) Give the axes bounds, degree of polynomial curve fitting and image whose plot will be digitized 2) Hit Start in the OML script (it will automatically call the Python script) 3) Give a first click with the mouse button to start selecting the corners of the plot 4) Select the corners 5) Give another click to select the points 6) Select as many points as you want 7) Double click with any key to finish the selection 8) Plot is generated and polynomial coefficients are computed and printed Regards, Roberta PlotDigitizer.oml ginput_plot.py
  6. 2 likes
    Hi @Nadzrin, The advancing front vs. Delaunay triangulation discussion actually refers to the surface meshing. AcuSolve doesn't have much of a preference either way when it comes to surface meshing. The runtime argument I made is in reference to the volume meshing (AcuConsole's octree vs HW-CFD's approach). In this case, the linear solver *should* perform better with the mesh from HW-CFD. Note that the performance won't be radically different between the two approaches, but according to our linear solver experts on the AcuSolve team, the more random mesh is beneficial. Would be an interesting test for someone to run. and report the results!
  7. 2 likes
    Right. AcuConsole's mesher will create octree patterns in large open regions. That mesher works as follows: 1.) Create surface mesh using the delaunay triangulation approach 2.) Extrude boundary layers from the surface into the volume regions 3.) Build octree mesh in volume regions 4.) Connect the surface/boundary layer mesh to the octree regions using delaunay or advancing front technique. However, the question is what you feel is superior about the octree approach. The structured nature of an octree mesh is not beneficial to AcuSolve. The randomness of the nodal positions in the HW-CFD mesh tends to make the linear algebra less stiff and can actually lead to faster run times on meshes of similar node count. Additionally, the 2:1 size jumps that are present in the octree mesh can cause a stiff linear system in AcuSolve as well. Overall, you should see that the HW-CFD mesh performs better in the solver, and is also faster to generate due to the more effective use of mult-threading. I'd be interested to hear if your experience is not consistent with these expectations.
  8. 2 likes
    Deb, In Compose v2020, you can use composedir function and in previous versions you can use getenv('ALTAIR_HOME') to get the environment variable that points to Compose installation folder. Regards, Roberta
  9. 2 likes
    Hello CLervick, this feature is not yet available, but you can still run portion of your script. To run a portion of your script: - highlight it - right click - Run Selection Hope it helps, Lorenzo
  10. 2 likes
    Hello all, As you already know, OML (Open Matrix Language) has a syntax compatible with other matrix-based languages, such as Octave. This compatibility leverages both the reuse of legacy data and syntax knowledge of these other softwares. It means that it’s possible to have a non-disruptive adoption of Compose and it can coexist with existing Math tools. Please find attached a video explaining the main differences that you may encounter when trying to use your past scripts in Compose and how to overcome them. Regards, Roberta LegacyData_AltairCompose.mp4
  11. 2 likes
    Hi @Soheil_F, By any chance is it your first time running MotionSolve? I ask you this, because I've searched the "scpxml.dll" file and it should be in your solver path installation, something like: "D:\Programas\Altair\2020\hwsolvers\motionsolve\bin\win64" Could you please access this path and search for "scpxml.dll" file? I've made a test deleting it and run the Activate tutorial and I've got the same error as yours: I've copied to the installation path again, and it worked. So it could be some MotionSolve installation error. João.
  12. 2 likes
    Based on the same script, @Kosuke IKEDA created an example connecting OptiStruct Activate, where K, M and C matrices were converted from OS to ABCD matrices (state-space system): Which may be imported in Activate then. The impulse response results match OS transient: Regards, Roberta hm_plate_cms_AX.pch io_def.txt stc_DMIGPCH2ABCD_rev1.oml
  13. 2 likes
    Workaround: In Python: list2=[(1,1),(2,2),(3,3)] list3 = [list(child) for child in list2] In OML: getpythonvar('list3')
  14. 2 likes
    FREE Altair Compose Notebook: An Introduction to System Dynamics and Controls using Altair Compose (Click Here) WHAT IS ALTAIR COMPOSE NOTEBOOK? The Altair Compose Notebook is an environment where you can develop interactive documents, mixing text, pictures, equations, and editable scripts. · For Academia: an application to make teaching more efficient and fun · For Professional: a tool to create interactive document that you can share across your organization · For Everyone: an environment to develop and present your projects WHAT WILL YOU LEARN FROM THIS NOTEBOOK? In this first notebook we talk about System Dynamics and Controls. Our aim is to provide you with all the basic knowledge you will need to work on your projects or deepen your studies. We will cover: 1. System Dynamics 2. Continuous Dynamics 2.1. System Analysis 2.2. Control Theory 3. Discrete Dynamics The theoretical explanation will be integrated by practical examples and applications, that will be developed leveraging Compose built-in functions (in particular the ControlSystem Library). MORE RESOURCES Also a .pdf version is available. CLICK HERE to download the E-book: An Introduction to System Dynamics and Controls using Altair Compose
  15. 2 likes
    There are multiple commands to extract CAE/Test data file in Compose OML. of which, readmultvectors, readcae commands extracts results of specific input arguments given by the user. I had multiple requests from users asking, as these 2 functions serve the same purpose then whats the difference between readmultvector & readcae? Which one do we use and when? As an engineer myself, I tried to break it down based on 2 key factors below: 1. Syntax differences (Ease of Use) 2. Speed/Performance Attached is the paper i wrote about the same with example. Hope this helps users to pick the right command for their tasks. Happy coding!! Thanks, Manoj kandukuri readmultvector_readcae_why_are_they_2.pdf
  16. 1 like
    there is a toolkit called HWTK in HW installation. They might help you to get started.
  17. 1 like
    HI Alfonso, Kindly follow all the steps given in the tutorial file and you would get the answer. For maximum shear (in HV) you can select "MaxShear" as shown below: Thank You
  18. 1 like
    I'm not sure if I understood correctly, but actually, the sweep nominal run is just to check your variables range for the nominal model, and verify if any error will occur in these different ranges. What you're looking for, actually, is to perform a DOE. You first need to run a regular nominal run (just a single run). After that, configure your responses as the max temperature of your surface. After having these in place, then you'll create a new approach, as DOE. Under the DOE, you will define how many levels you want (5 in your case), and run the DOE, which will then, automatically extract your temperature values for your varying velocities. There are a bunch of tutorials in the Help showing this process.
  19. 1 like
    in HyperView, plot the displacement in the desired direction, and then use 'Query', and click the desired nodes. or you can use the 'measure' function, use 'node path' and pick your nodes of interest, and 'Create Curves' to plot them. (value x distance)
  20. 1 like
    Numerically, both meshes can give the "same" results. The 2nd is "nice" to see, but nothing is guaranteed his numerical result is better than 1st one.
  21. 1 like
    I would suggest 0.34 m/s as initial conditions, and run a 'steady' state first to establish some sort of flowfield, before switching to transient and mesh motion at free surface. If you're more interested in the buildup of the wave at the cylinder, then you could start from rest and increase the velocity over time within a single transient run. That will just take longer to develop to the full behavior at the cylinder. But, again, since you say the experiment does show chaotic wave breaking, you won't get very far with the single-phase free-surface simulation, since you'll get mesh distortion. (You need a constant fluid topology, and a chaotic breaking wave is not a constant fluid topology.)
  22. 1 like
    With Direct FRF there's not much to do to enhance performance, as it needs to solver the equations coupled, for each frequency. Anyway, you can try to reduce some freqnecies, if you already know what are your frequency range of interest, and save some time.
  23. 1 like
    Hi Deb, In your script, just before calling hw.exe, you should unset ( = set to empty) the variable ALTAIR_HOME . Franck
  24. 1 like
    Hi Alex, In shell stress results you have several results for different layers: Layer = Middle => Membrane stress only Layer = Top/Bottom => Membrane stress + Bending stress HTH,
  25. 1 like
    having a complete torus surface, you just need to create a solid using the 'solids' panel. just make sure to have the surfaces enclosing a volume. just reviewing my video before, there's no need to create the larger circle that I did. I was thinking to use the 'drag using line', and ended-up not using it.
  26. 1 like
    Have a look at 2D mesh within "^Surf_1" & "^Surf_2" and you will understand: HM model: Pedal.hm
  27. 1 like
    hi, not sure if you are familiar to HM hex meshing. I suggest you to take a look at this video as a reference. You basically need to slice your solid in small mappable regions to get a full hex mesh. You need to activate the 'mappable' visualization, and slide your solid until you get all the solids green or yellow..
  28. 1 like
    Thanks for your reply João. I actually talked with the Altair support team, and they said that this issue with cosimulation in Linux has been fixed in 2020 version and we just need to upgrade our MotionView.
  29. 1 like
    Hi Simonebellini, you can email me at sourav.das@altair.com Regards Sourav
  30. 1 like
    attached you will find the help documentation for model checker, that can be found at HyperMesh Help. https://altairuniversity.com/wp-content/uploads/2020/06/Model_Checker_supported_HW2020.pdf
  31. 1 like
    Model Checker is a very useful tool embed in HyperMesh that performs a series of verifications in your model in order to catch most common errors even before submitting the model to run, as it may take some time to export it and then launch it. To Load the ‘Model Checker’: [HWx and HM Desktop] Ctrl+F >> ‘model checker’ [HM Desktop] Tools > Model Checker Once it is open, you can perform a check by right-mouse click (RMB) and click ‘Run’. Model Checker will verify your model considering the most common ERROR and WARNING scenario for your solver.
  32. 1 like
    this is my last video for you. now go and give it a try, and look after some training materials out there. 2020_06_10_1591816085.mp4
  33. 1 like
    For combining any Dynamic Load, you need to use the load collector DLOAD and choose your 9 loads. Don't forget to define the scalar factors S, and Sgloblal as well. (probably all 1.0) Then, use this DLOAD combination in your LoadStep.
  34. 1 like
    follower_model.femHi again, your model does not perform as expected because you have applied both forces and constraints(SPC) in free temp nodes (the ones that you've used for creating the geometry). The temp nodes were not attached to your mesh, thus they do not transmit anything to your structure. In order to connect them, i've created a couple rigid elements (1d>>Rigids>>RBE2) in both ends. I attached the model with RBE2's, but it is not converging for your loading. Your loading needs to be reviewed as you have applied only a normal compressive loading. I don't know what you're trying to accomplish here, but i would review these loads. Also depending on your targets, NL material could also be considered. Please take a look also at Altair free e-books at Altair University. They might help with some modelling tips.
  35. 1 like
    In this case, you'd need to use list function again in those tuples inside the list: l[0] = list(l[0]) Which would generate this variable: [['my', 'name'], 'is', 'mr', 'tuple'] With getpythonvar, the output would be a cell within a cell: Regards, Roberta
  36. 1 like
    Hi Jackie, Two things are necessary to be changed: A instead of 'A' Definition of A in Model context or Diagram Home context - or - GetFromBase('A') instead of A Regards
  37. 1 like
    Answering your question: you could select the points and use hm_getvalue to retrieve its info. hm_getvalue points id=4 dataname=x -25 As a important side note: There are at least 2 tools already built in HM for checking and comparing CADxFE. If you Ctrl+F and type 'comparison' you will find this one. Another ore complete option is called MVD (Model Verification Director) and can be accessed in the Parts Browser. (more info in the help)
  38. 1 like
    i forgot to mention thath in your case, as there's lots of sliding in the contact region, it is recommended to use TRACK in contact groups, as FINITE or CONTINUOUS SLIDING as there is a lot of changing in contact pairs. Oherwise, contact pairs are not recalculated through the analysis (SMALL SLIDING). Also, when running a NL model for the first tiem, i would recommned using PARAM,NLMON,DISP as it saves a _nl.H3D file that can be opened in HV in real time, and checking critical areas for convergence.
  39. 1 like
    please, take a look at this video at youtube..it is very similar.
  40. 1 like
    i'm wondering what material are you using and which units. Looking at your material, the LIMIT1 under MATS1 is only 100. Your Young modulus is extremely high compared to that. So at the minimum touch, there is plasticity already. Besides checking these values I would recommend you to impose a control in maximum increment DTMAX in NLADAPT. As there seems to be lots of plasticity, a tighter increment control might be needed. Also consider changing the NLPARM to NLPARM(LGDISP) if large strains are expected.
  41. 1 like
    This is absolutely awesome, Roberta! Thank you for sharing! Best Christian
  42. 1 like
    Hi, Can you turn off "Near by surfaces not overlapping" and "Penetrating surfaces" check box and then try convert to overlap? It will work. Refer the attached video for your reference. Also, attached a sample model used in the video. Convert_Overlap_Penetration.mp4 Intersection.gda
  43. 1 like
    Hi, can you trying adding -nobg hv -b -nobg -tcl Image_Capture1.tcl example.modl example.res
  44. 1 like
    Hello community, if you like to instantiate a certain number of a model/class/component and connect the ports with a for-loop you can do it like in the picture below: In this example a specified number of the "HeatedPipe" component is created. One for-loop is connecting the flow ports and the other one is connecting the heat ports. regards Nils RadiatorSimple.zip
  45. 1 like
    Hi Simonebellini, Could you please share the file with me.
  46. 1 like
    Which tutorial is it? Most likely, the result is due to your constraints. The solver tries to satisfy the constraints at first, and only then optimises towards the objective even if the minimum found is above the initial value. It is simply the optimum feasible with the given constraints.
  47. 1 like
    I use both Python(for Simlab customization) and TCL(for HyperMesh). In my opinion, Python is helpful for data management with OOP (of course it will be faster) and the syntax is easier than TCL. However, HyperMesh have supported many TCL API to interact with HM. We can use a lot of those API functions easily, no need to create our code again. This helps create script very quickly. Integrate Python in HyperMesh is easy but write a huge API functions need a lot of effort. I use Simlab Python but found many limitation because there are not so much API functions. I use Abaqus/Ansys Python but also found many limitation. So, Python or TCL does not matter. The important is supported API functions under CAE software. HW will support Python because they serve some trend. For me, I do not need. I need API more than Python.
  48. 1 like
    HyperMeshでは、Postページ⇒hidden lineパネルで、『要素のみ』断面カット表示が可能です。 ジオメトリ(CAD)の断面カットをしたい場合は、HyperViewと組合せて、表示させる回避方法が考えられますので、下記のURLからビデオをご確認下さい。 http://fast.wistia.net/embed/iframe/bfaw0qyd6p?popover=true
  49. 1 like
    SettingsからMaterial databaseをクリックします。 Edit currentをクリックします。(現在の材料データベースに追加する場合) Material Groupを右クリック(ここではGeneric Materials)し、Add materialをクリックします。 必要な項目を入力し、Save materialをクリックして登録します。 既存材料をコピーして編集することもできます。 非線形材料についてStress-strain curveから応力-ひずみ曲線のcsvファイルをインポートできます。 ↓csvの書式
  50. 1 like
    HyperMesh上で、選択した節点の座標値をタグとして表示したい場合は、プルダウンメニューFile⇒Run⇒Tcl/Tk scriptからファイルを実行して下さい。 CreateCoordinateTagForNodes.tcl ↓実行イメージ↓
  • Create New...