Jump to content

Mr. Heinrich von Zadow

Moderators
  • Content Count

    199
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Mr. Heinrich von Zadow

  1. Hi Chris, for some algorithms, there is such an option (e.g. TSearch offers a "Variable Tolerance" -- if all design variables do not change significantly w.r.t. this value then the engine is stopped), but not for all. Cheers, Heinrich
  2. Dear Chien, that's hard to say. I'd probably start off by adjusting the shape manually(e.g. via delta shifts) while keeping it parametric (so you can still use that automated fitting procedure). Cheers, Heinrich
  3. Hello Armagan, from what I can see, this is just a rendering issue -- the geometry might be perfectly smooth. If you toggle wireframe view, you will see the underlying triangulation. However, unless you a planning on exporting tesselated data (i.e. STL) this is probably nothing to worry about. If you still want finer triangulation, you can change i.e. the maximum chord height of your BRep: Cheers, Heinrich
  4. Dear Chien, it looks like the maximum thickness position of the red profile is a bit too far towards the leading edge. However, the green profile also looks a bit "different" to my eye, so I doubt that you will get a much better fit when sticking to the NACA4DS. You could try to adjust the design variables manually for one of the sections just to get an idea if there is a lot of room for improvement. About the "weighting": In the feature I gave to you earlier, I simply check for the maximum deviation between points and profile like this: genericcurve errorFunction(){ .setx(t) .sety(profile.getShortestDistanceSquared(linearInterpolation.getpos(t))) .setz(0) } parameter error(errorFunction.getMax(1)) If we assume that your profile starts at t=0 (trailing edge, suction side), then goes through t=0.5 (leading edge) and back to t=1 (trailing edge, pressure side), you could put more "weight" to the leading edge region as follows: 1. You define a "weight distribution" --> it's just a function running from x=0 to x=1 with it's maximum at x=0.5. 2. you multiply each squared error with the corresponding evaluation of the weight distribution. The generic curve should the read like this: .sety(profile.getShortestDistanceSquared(linearInterpolation.getpos(t))*weightFunction.getPos(t):y) 3. Instead of just checking for the maximum quadratic error like before, you now use the area below the error function as objective measure for your optimization: parameter error(errorFunction.getArea(0,2)) You can play around and tweak things by manually adjusting the shape of the weight function. E.g. if you want to emphasize both, the leading and trailing edge region, your function could look like this: The old fitting result of my example looked like this (green: original, red: fit): now, with the weighting included, it looks like this: Keep in mind, that the result will always be only as good as the ability of your parametric profile to conform to your given data... I attached the project file for your convenience. Best regards, Heinrich testCaseWeightedLE.fdb
  5. Dear Hasan, that's hard to answer without taking a look at the project file. If you attach it, I'm happy to take a look. Cheers, Heinrich
  6. Dear Chien, from the picture it looks, as if you have an angle of attack unequal to zero. My suggestion would be to extract this value and rotate the profile such that the leading and trailing edge both have a y equal to 0. Let's see how this turns out -- my feeling is, that this should also reduce the large amount of camber you see in the red profile right now. Cheers, Heinrich
  7. Dear Chien, it is indeed possible to use CAESES' optimization algorithms to perform geometric optimizations such as the fitting of parametric profile to a set of points. The main difficulty usually is the definition of an appropriate objective function -- you will want to put "weight" onto the leading and trailing edge region, otherwise they will be matched poorly as they take up only a small fraction of the overall chord length. Depending on the quality of your data and how well the parametric profile matches the point data you will have to adjust things to your specific case. Attached is an example where I created a NACA profile and a set of discrete points from it. I then use a simple TSearch to fit another NACA to the point data -- looks like this: Like I mentioned, I expect that you will have to play around a bit with how the error (which is minimized by the optimization algorithm) is calculated. Right now, it's a simple least squares approach... Best regards, Heinrich testCase.fdb
  8. Dear Matheus, I guess it's fine to post them in the misc area. Regarding the Design Viewer: have you checked that you are looking at the right results table (see Screenshot)? Cheers, Heinrich
  9. Dear Matheus, you are absolutely right. Indeed, complex models can benefit a lot from parallel computing. Unfortunately, up to the latest CAESES 4.x no such option is available (except for the settings referring to multiple external tools running in parallel during an optimization that you mentioned). However, one of the mayor changes of our upcoming release CAESES 5, is in fact the full parallelization. If you are particularly interested in this feature you can stay tuned via our newsletter here: https://www.caeses.com/news/newsletter/ P.S: Often times it makes sense to take a closer look at what particular part of your geometry slows down the update -- you can use the profiler (go to help > start profiling, then trigger a model refresh, i.e. by changing a design variable and then go to help > stop profiling) to get statistics of the most time consuming objects in your model. Cheers, Heinrich
  10. Dear Mr. Luyu, you can use the attached feature for this. Kind regards, Heinrich importIges.fdf
  11. Hi Louise, I am not familiar with this specific format. If you can get your hands on a IGES, STEP that would be very comfortable. An STL will also be good and I think it's more likely they have this available from a 3D scan. Otherwise you can check if maybe the PLY contains not much more than point coordinates anyways. In that case, you could write a feature to import the file on your own. Cheers, Heinrich
  12. Dear catcoOol, With regard to shipflow you might want to check the shipflow manual/documentation I am sure there is plenty of material available. CAESES-wise all you should need are separate sectiongroups which will be used by shipflow for automatic mesh generation. Cheers, Heinrich
  13. Dear Lavesh, it's just a user-defined design variable. The skew in this project is defined as a function of normalized radius r/R. In the screenshot you can see how it is defined from 4 points as a B-Spline-Curve: If you take a closer look at p04, you will se that it's y-component is in fact the value you choose for SKEW_TIP: Hence, if you modify this value you modify the value of the skew at the blade tip (maximum radius) which changes the radial distribution of skew as shown in the following animation: As a result, the blade itself will change in shape accordingly: Hope this helps. Cheers, Heinrich
×
×
  • Create New...