Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


robertavarela last won the day on August 16

robertavarela had the most liked content!


About robertavarela

  • Rank
    Advanced Member

Profile Information

  • Country
  • Are you University user?

Recent Profile Visitors

1050 profile views
  1. OML (Open-Matrix Language) is one of Compose's languages, which is a derivation of HyperMath. HyperMath will be discontinued as of 2020 and therefore OML must be used instead. The latest versions of HyperWorks already support OML scripts in applications such as HyperMesh, HyperView and so on. Please refer to this topic for more information on this matter: The languages are very similar, again because OML was born from HyperMath. Therefore there is a utility called H2O, which is a tool used to convert scripts from Altair HyperMath HML language to Altair Compose OML language. H2O is an assistant to convert the scripts, because there are some minor differences in syntax and supported functions between HML and OML. Regards, Roberta
  2. Alex, hello! Please find attached an example with the script and a few files for you to try out. First of all, please keep in mind that the model information is not inside this new .h3d file, therefore you need to open a model file and the created results file in HyperView if you need to visualize it. There are 2 opening modes that might be used: new and append: - new clears the .h3d file for writing - append adds new information but it cannot modify existing information, which means means that it is not possible to add datatypes, layers or values to an existing subcase The hierarchy that must be followed is this one: - Layer definition (if needed) - Datatype definition (needs the layer in case there is one) - Subcase definition (needs the datatype) - Data per se (needs the subcase, datatype and layer in case there is one) Regards, Roberta simple_only_results.h3dsimple_model.h3dsimple_only_results.oml
  3. Nils, You are right, the Help is missing for this function and it will come in the next release (v2019.3). The syntax for it would be: data = [5 5;4 6;4 7;5 8;6 8;7 7; 7 6]'; figure(1); h = polyline(1, 'polydata', data); Where the first argument is figure handle and the third one is the data set. In your case, the figure will be very small using these inputs: But if you slightly change your data set to data = [5 5;104 106;104 7;5 8;106 8;7 7; 7 106]', for instance, we'd get: Regards, Roberta
  4. Nils, Another user in the forum (Livio) has a suggestion of using Compose as a master and Activate as a slave in order to run Activate in batch to perform parameter sweep. This post: May help you to achieve your goal! Regards, Roberta
  5. Manoj, Thanks for your suggestion! I was wondering if we had something that didn't need the user intervention, since every interaction with Compose would be done by the user by the custom GUI that has been created. Let's say that the script is for someone who is totally not familiar with Compose and all he is going to do is hit "Play" to use the GUI. Cheers, Roberta
  6. Hello, community! Is there a way to automatically launch the Python variable browser? I'd like to initialize it as soon as the OML script starts running for the sake of making it faster when the actual Python script is called. I'm currently using as a workaround the creation of a dummy variable: evalpythonscript('initializePython=1'); Thanks, Roberta
  7. What was the issue that you had when you tred to import the .mat file directly using the block FromMatFile or when you loaded the .mat file and then tried to use SignalIn? Could you please share your model here? Regards, Roberta
  8. Nils, The difference is the activation of Use subplots parameter in the Scope block, as per the screenshot below: This parameter was turned off in the tutorial model, whereas it was on in the file I shared. If you turn it on, you will see that it will work and generate a plot like this for i = 1:8: If Use subplots is on, we will have one plot per input. Otherwise each input is considered to be a curve (scalar inputs) in the single plot. Regards, Roberta
  9. I'd like to share a few explanations about the differences between Model Initialization and Diagram Context: In both menus, it is possible to declare variables that will be used along the model, but there are a few fundamental differences to be understood Diagram prevails over Model Initialization In case a variable A = 1 is declared in Model Initialization and then declared in the same level A = 2 in Diagram, the value to be used on that level and downward is A = 2. A variable declared in Model Initialization may be modified in levels below, which will affect that variable all levels above Although a variable A was created in the Model Initialization, it may be modified in a certain level, affecting its value not only downwards, but also upwards A variable declared in Diagram may be modified in levels below, but this will not effect the variable in levels above Different from the Model Initialization, if a variable A was created in Diagram, it may be modified in a certain level and it will affect only its value downards, not upwards It is possible to use the SetSignal block to set a variable value locally It is possible to use the SetSignal block to set a variable value locally which has the same name of another variable declared in Model Initialization, meaning that in all levels below it will still have the same value declared in Model Initialization I hope this brief explanation will help you understand the differences between these two important features. Regards, Roberta
  10. Nils, If you open a Water Tank tutorial model (attached) to give it a try, you will see that the constant is assigned to a certain variable x: Which is declared in your Diagram Home as a static variable: Instead of having a single value, you can sweep multiple values of x by simply doing a loop like this: Your response under Scope block will show the results for all x values: Regards, Roberta watert.scm
  11. Hello, My bad! In fact a number like this may be given to set up the #ticks, but what will be out pretty soon is the customization of tick values like Nils perhaps wants - currently these values are not possible to be changed. Regards, Roberta
  12. Nils, hello! The explicit choice for the number of ticks will be available as of the next version (2019.3). Regards, Roberta
  13. Currently Compose does not support syntaxes such as subplot (2, 2, [3 4]) or subplot (4, 1, 3:4) , but this request is on the Development queue to be implemented soon. Regards, Roberta
  14. 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
  15. 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
  • Create New...