Mr. Heinrich von Zadow
-
Content Count
201 -
Joined
-
Last visited
-
Days Won
9
Posts posted by Mr. Heinrich von Zadow
-
-
Hi Gunnar,
very good. If you would like me to take a look at the mesh, feel free to upload it.
Best regards,
Heinrich -
Hi Gunnar,
You imported an STL file. Try using s STEP or IGES if you can. (These are not discretized, but NURBS-based) If you can get your hands on such a format, you can technically get to the underlying surfaces. However, they might be untrimmed and hence, not work for generation of your panelmesh. To check, create a BRepPart and use right-click "extract surfaces".
If STL is all you can get, you don't want to put that in a BRep, but rather use Trimeshes and Solids. For trimeshes (maybe you can get one with higher resolution) you could try the right-click "split by angle". This should make quick work of the reparametrization of the individual faces.
Best regards,
Heinrich -
Dear Rohit,
if by download you mean export, you can simply select the geometry objects you would like to export and choose File>Export> and from there choose the format you need.
See below screenshot for a list of available formats (depending on your license the list may vary):
Best regards,
Heinrich -
Dear Zhen,
in principle, yes. You could set up a second delta shift perpendicular to the first one and combine the two in a delta product. It would be way easier if you could just set up a fully parametric model. Or is there a specific reason why you need to start from an existing/imported trimesh?
BR,
Heinrich -
Hi Zhen,
in this case, I recommend using a simple delta shift. I renamed your curves: source (red), target(green) and calculated the y-offset between the two: "difference (black)".
Now you can set up a delta shift to transform your source based on difference --> this will make it match exactly with target. Voila.
Best regards,
Heinrich
-
Dear Zhen,
if you could attach your latest project file I am happy to take look.
Best regards,
Heinrich -
Hi Armagan,
firstly, from a CFD viewpoint I'd recommend you to go for a cylindrical domain, especially if you are going to split it into just a segment.
I'd probably just create a domain-segment of 120° and then substract the wind turbine from it via boolean op.
BR,
Heinrich -
Hi Rull,
what you see when extracting surfaces from a solid ( it doesn't matter if it's a Parasolid import, or any other NURBS-based format, such as IGES, STEP or just a solid modeled in CAESES) are the "underlying surfaces". A few explaining words:
BRep is actually short for "boundary representation" and gives you a hint about what's happening here. Underlying NURBS surfaces + a set of boundary curves (along with some other information) define the final shape. This is very convenient since it allows trimming (and cutting holes, etc.) without actually having to reparameterize the surfaces. If you "ectract" them, you will see the complete surfaces...
I didn't quite understand you question/problem about removing this face though. Maybe you can explain it again?
Best regards,
Heinrich -
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 -
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
- 1
-
-
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
-
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
-
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
-
Dear Luyu,
please find attached the feature definition I used for the bulbous bow design in this video: https://www.youtube.com/watch?v=3L5CItNdxmk
Just drag it into your existing project and use it as shown in the video.
Cheers,
Heinrich
-
Hi Chien,
thanks for taking the time to sort things a little bit.
First thing I noticed is your usage of the BRep operation "solid from intersections". This is actually meant to allow you to create a closed solid from a set of surfaces. This could be something like the 6 sides of a cube, but the beauty is, that you don't have to worry if your faces are a bit over sized and intersect each other. The enclosed volume will be found and end up as your solid...
Second is a bit earlier in the process. You might want to double check your trailing edge -- the two surfaces don't seem to be a tight match. Usually you should be able to add suction and pressure side of the blade, as well as the tip to one BRep using "add sources" and there should be no open (red) edges. Except for the hole towards the hub, of course.
Please feel free to get back to me once you have sorted this part out.
Cheers,
Heinrich
-
Dear Chien,
one of the files (with number "2" and "NO_REBUILD") in the name shows nothing but a hub. The other file doesn't show anything. Please take some time to prepare the files and let me know in detail for which object the BRep operation fails.
Maybe you can also use just one string parameter to hold the file path so that I can adjust this one parameter to my local directory of csv files.
Thanks,
Heinrich
represent a circle with F-spline
in General Modeling
Posted · Report reply
Hi Zhen,
just a small addition in case someone else stumbles across your question. For an actual (perfect) circle you can not use an F-Spline. Behind the scenes an F-Spline is a B-Spline curve, optimized with respect to fairness and constrained at start, end, start-tanget, end-tangent, curvature, enclosed area, etc... That means, if you set the area as the area of a circle and also match the tangent at start and end you will get something that is really close to a circle, but not a perfect circle.
For an actual (quarter of a) circle, you need a NURBS curve with 3 control points. The weight of the center point needs to be set to 0.5*sqrt(2).
In order to keep the area constant while moving points 1 and 3 (in your picture), I suggest a delta shift and a brent (you can search the forum for nested optimization to see how the brent algorithm can be used to adjust the area to a certain target value).
Cheers,
Heinrich