Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by robertavarela

  1. The error message does not have any ^ operator pointing to the exact position where the command fails. It seems like some kind of installation issue, since I didn't even spontaneously call this function, but I'd like help to understand what exactly it is. On top of that, the line 575 that the error mentions in file default.cfg does not it even exist, because this file only has 431 lines: Regards, Roberta
  2. Rajath, Regarding block Mux, in fact if the first input signal is a Nx1 column vector, the first entry in Input Port Sizes of this block should be set to N. And then you need to update the DiscrStateSpace block accordingly - if you click on F1 while holding the block, you will see that: Speaking of other approaches, what is not satisfactory in the current strategy that you are applying? Regards, Roberta
  3. Hello, When I load the Python command window in v2019.2 of Compose, I get the following error when typing help("modules"): Although this error pops up, I am able to see the installed modules when I hit OK. But why is this error happening? How to avoid it? Thanks, Roberta
  4. Rodrigo, That is great to know! Don't hesitate to reach out to the forum again in case of questions or issues. Regards, Roberta
  5. Rodrigo, I suggest that you try again later to access Altair Connect, because unfortunately it is not possible to share these files here. And let us know if you have any questions or if you have any issue when following the steps above. Regards, Roberta
  6. Hello Rodrigo, Except for Simscape, we are able to import Simulink blocks when we install the extension Simport available at Altair Connect (https://connect.altair.com/CP/): Then we open Activate and install Simport as a library: And we will be able to import the desired block diagram from Simulink: We are not able to import all Simscape blocks because we have our own physical-based blocks in our Modelica library, which is an open-source language to simulate physical components. We have hundreds of physical blocks in the native installation of Activate with mechanical, thermal components and many others. So in case you find issues when importing physical blocks, we may be able to substitute them with the Modelica equivalent ones. I just attached a sample model to exemplify the Simulink importation. What you will see when it is imported is the following block diagram: Regards, Roberta abs_CS9.mdl
  7. Jim, Maybe I don't understand your request, but it seems to be that this kind of application would be a good fit for Altair Embed, where your control algorithm runs in real-time on the target microcontroller. Regards, Roberta
  8. 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
  9. I'd like to share the nice and slick synergy Compose has with Matrix Browser, a feature in HyperMesh to handle model data in table format. This is the typical use case when the model data will lead the process and Compose will play as the Math/Automation engine. Let’s assume that we have the model ExampleRib.fem (attached) and that we would like to get the central coordinates X, Y and Z of a few elements: In this example, I’d like to calculate the central distance of these elements to the point (0,0,0), which would be simply the square root of x²+y²+z². For that, I created a custom Compose function distZero (also attached): Which will receive as inputs from HyperMesh the coordinates X, Y and Z that I queried with Matrix Browser. 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 HyperMesh + Matrix Browser: The function will be available without the need for closing HyperMesh and reopening. Then we give the columns that will serve as arguments: And it's done! The custom Compose function calculated everything and the results are shown in a new column: Regards, Roberta ExampleRib.fem distZero.oml
  10. Brahmadev, That is correct. We can read all kinds of result files, like .h3d (OptiStruct), .op2 (Nastran), .odb (Abaqus) and so on. All entities and results inside these binary files are automatically recognized in Compose with functions such as readcae or readmultvectors. Also since we have plotting capabilities, you may perform several calculations with the data inside these results files and then plot it somehow. Regards, Roberta
  11. Saransakthi, Using the syntax I mentioned, you may put your frequency variable in variable1 and your amplitude in variable2, adjusting the decimal precision as you wish. After printing everything in your file using fprintf, it's a good practice to close your files (using fclose function in thi case) Regards, Roberta
  12. Hello, Could anyone help me to add subplots in the uicontrol? I was able to position a normal plot on it, but if I try to create a subplot, I lose my previous interfaces (buttons, texts etc). Thanks, Roberta
  13. You may also print your variables on the text file that you just created and opened: fprintf(fidout, 'Example of mixing text and variables: %.3f %.2f %8d\n', variable1, variable2, variable3); Where variable1 will be written with 3 decimal digits, variable2 with 2 decimal digits and variable3 as an integer. The command \n will break the line after you write all content. And you don't need to worry if your newtxtfile.txt is already in your folder... Once you create it again with Compose, it will overwrite the previous file, so you should not expect any kind of error saying that the file already exists. Regards, Roberta
  14. Nikolas, You would use either dos or system function in order to call .bat scripts. Please find attached a sample Compose script that I wrote as a part of a bigger workflow that calls CADFEKO in batch. Regards, Roberta CADFEKOInvoke.oml
  15. Nikolas, What could be done in this case to use FEKO + Compose would be to run a Lua script while calling POSTFEKO in batch. This Lua script would have not more than a few lines which would be standard for any model whose results you'd like to extract afterwards. The workflow I'd suggest in this case would be: 1) To do everything in batch in Compose 2) To ask Compose to write the Lua script which will be called along with POSTFEKO (passing the output file name at the same time, so POSTFEKO will understand which file it will refer to) 3) To create a while loop in Compose to keep searching for the .tr file that will be exported from this Lua script. Once the .tr file is found in the folder, your Compose function may carry on doing what it needs to do and accessing this .tr file to fetch the results. Regards, Roberta
  16. Hello, In Compose, you must select the function's name and then hit the right mouse button. There is an option Register Function where you should click - once you did this, the Compose function is available to be used not only in HyperStudy, but also in other HW applications, such as HyperMesh and HyperView. Let me know if this does not work out for you. Regards, Roberta
  17. Hello, Could you please share you text file 'nodes.txt'? Using fopen command is enough to import the file, apparently there is a problem with your text file. That is why it would be good if you could share it here. Regards, Roberta
  18. Brahmadev, Compose is a multilanguague (OML, Python and TCL) environment for doing Math calculations, data manipulating and visualizing. This includes CAE output files (.h3d, .op2, .odb...) or test results (.ascii, .uff, .unv....). With Compose you can program using the languages that I just mentined and debug your scripts. There are bridges between these languages too (OML-Python and OML-TCL) that gives you much flexibility to work with the best of each language. Since Compose works with TCL as well, you can write your scripts for HyperMesh with it, or even more: you may leverage the multilanguage possibilities of Compose. An example: let's say you have a CAE result file and would like to pass information from it to HyperMesh, in order to create load collectors cards, for example. You can use OML (Compose's primary language) to get the CAE result data and then pass these variables to the TCL environment using functions such as exporttotcl. Then you call your TCL script with evaltclscript and use the variables that have just been passed. Regards, Roberta
  19. Arul, I've just tested it and found out that this error appears in v2017.3, but not in 2019. Please download the latest version. Regards, Roberta
  20. Hello, all! As I am running a routine with a large number of loops, is there a way of using all the possible performance of a certain machine in Compose? There is a code which is consuming only around 33% of CPU and 120 Mb ram, but the computer has much more memory available. Many thanks, Roberta
  21. Hello! The definition of stress is on elements per se, but the usage of corner data is an abstraction which is present in HyperView but not in Compose. I will make myself clear with the image that I attached. The corner data takes into account the closest integration points in order to integrate and calculate the stress. We are not able to retrieve the results of integration points inside Compose, but only the stress of the centroid using commands such as readcae, readvector or readmultvectors. Regards, Roberta
  22. Hello, Please find attached a similar example that I created with the same purposes. There are slides explaining the workflow as well as a video about it at https://web2.altairhyperworks.com/altair-for-aerospace-learning-center. The idea is to: 1. Output from the CAE analysis is read with readmultvectors 2. A certain action is performed on the element stresses (plasticity corection) 3. An output which is readable in HyperView is created This output (.hwascii) is nothing more than a text file with headers. These headers make the file readable in Hyperview and therefore you could plot the contour there. Regards, Roberta CAEDemoCompose_ForCustomers.zip
  23. @Seoksan Kim, Please find attached! Roberta TestDataNewmark.oml
  • Create New...