Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


jmpajot last won the day on June 4 2018

jmpajot had the most liked content!

About jmpajot

  • Rank

Profile Information

  • Are you University user?

Recent Profile Visitors

1302 profile views
  1. Geometry changes are generally handled by morphing in HyperMesh. There are several HyperMesh tutorials on how to create shapes, and a HyperStudy tutorial such as HS-1025 shows how to use the shapes in HyperStudy once they are created.
  2. Hello, The expression builder is only a means to assign values. Variable = expression. It does not allow for multiple line expressions or logic. If you need to use logic, you can embed it inside a registered function. There are tutorials that show how to register functions: 1506 or 1040, for example.
  3. HyperMath tutorial 4030 shows an optimization example using HyperMath. You would need to replace the analytical functions with code that modifies, run, and reads data from your "HyperWorks" session. The API into a HyperMesh session is written in tcl, so a HyperMath function would need to execute tcl to modify a hm session. There is no example I know of to do this, mostly because another Altair product such as HyperStudy can easily run optimization on a finite element model without any custom coding. It is its raison d'etre.
  4. Hello, 1. The inability to read the file is likely because of version compatibility. As Rahul has indicated above, you may need HyperWorks 2017.1 to read an Abaqus 2017 file. From a literal point of view, the error is because the reader doesn't recognize the file, which makes a versioning issue likely. Can you confirm what happends when you run HW 2017.1? 2. There are tutorials that show how to read data from outside HyperStudy. Please see HS-3010 or HS-2200.
  5. The settings file information is only a message, there is no need to do anything. The rest of the messages and errors are because HyperStudy cannot resolve many of the paths and dependencies on the server machine. Hand editing the xml is error prone and not recommended. On your local machine, please create an archive (File->Export Archive). This will create an *hstx archive file. This is an all-in-package, similar to a zip file. This package contains all the file dependencies internally and will automatically expand into proper paths on a different machine. The archive system is the proper way to maintain portability across machines. The archive file can be directly submitted to the hstbatch executable, please see the options in the help. Also, there is an error about the spreadsheet report, which requires excel to be installed. I'd guess that it is not installed on the server machine, so you should deactivate that report type.
  6. First, I think you would be better off using the h3d rather than the res file from OptiStruct. I am not an OptiStruct expert, but it is my understanding that the h3d is the preferred modern format and the res is an older legacy format. The steps you are using are correct. When you are reading from the file source, you are getting a vector of the diplacement at that node over the modes. So if you have ten modes, then the vector will have a length of 10: the first entry (for example v_1[0]) is for the first mode, the second entry v_1[1] is for mode 2. If you want the list of frequencies for the modes that would require another vector source to read that information. You can then compare or cross reference the two as you see fit. You may benefit from using a HyperMath function to perform more logic related operations.
  7. Hello, There is no difference between *xy and *csv, I believe they are using the same reader. You can always investigate the contents of a vector by defining a response as just the vector name and clicking evaluate in the expression builer. This is geneate an error because responses cannot be vector, but you can see the contents of the vector. You have not shared the contents of you file, but based on what you describe, I suspect the data you want is simply not the first and second column as you have have requested. Without actually seeing a snapshot of the file contents it is impossible to be more specific. When he data doesn'y have headers, they are simply labeled with generic names like Column1, for example. Thanks
  8. In the optimization approach of HyperStudy, or the during the Setup approach phase, there is a step Select/Define design variables. You can change the bounds at this point.
  9. Hello, When defining resppnses to track during an approach, HyperStudy works with scalar values not vectors. So, for example, if you are going to run an optimization, the objective or the constraints but be scalar. However, when using functions, you sometimes need to pass vectors as arguments to the functions. These vectors are either (1) from the file source tab in the expression builder, (2) from the ASCII extracacts Tab in the expression builder, or (3) other responses. When you create any of these three, they have an associated varname which is the variables assigned to them (by default it may be v_1 for example. Simply pass the name as an argument to the function. So for example, let's say you created vectors v_1 and v_2 which are the x and y data, respectively, on the curves mentioned above. I could pick off the maximum using an expression max(v_2).
  10. Hello, For the exact function you specified in your post, you don't need to go to an external function (DRESP3), you could use the internal function (DRESP2). In either case, the card structure is virtually identical. You need to setup a response of type compliance, not weighted compliance. Then pass this response along with the subcase number through the DRESP2/3 card. For example: DRESP1 2 comp COMP DEQATN 1 z(x,y)=x**2+y**2 DRESP2 3 myValue 1 + DRESP1L 2 1 2 2
  11. Hello Stefan, To add to the above reply from Fatma: you could define something like r_6 using a HyperMath function like: function getNumReqs(fileName,type_index,subcase) s = GetSubcase(fileName,subcase+1) numReqs=s::GetNumReqs(type_index+1) return numReqs end This function can be registered for use in HyperStudy making it accesible just like any other function. So for example after registering it, you would define r_6 to have the expression : getNumReqs(getenv("HST_APPROACH_RUN_PATH") + "/m_1/beam.h3d",1,0) where 1 and 0 are the Type and Subcase referenced by resvector. Thanks Joe
  • Create New...