Jump to content

Meta Surface: An Introduction

meta surface caeses

As a spe­cial­ized CAD solution, CAESES provides a set of dif­fer­ent surface types in order to create flexible para­met­ric geometry models. The meta surface is a bit distinct, when you compare it to common surface types in other CAD systems. Basi­cally, a meta surface is a para­met­ric sweep surface with more user controls and hence a higher flex­i­bil­ity, espe­cially in the context of effi­cient shape opti­miza­tion with sim­u­la­tion tools. It allows you to mas­sively reduce the total number of para­me­ters, while always gen­er­at­ing smooth and feasible surface shapes. In par­tic­u­lar, meta surfaces are ideal for complex free-form surfaces such as ducts, wings, exhaust ports, volutes, blades, ship hulls etc., to foster inno­va­tion with more cus­tomized and ready-to-automate CAD models. This blog post intro­duces the concept of meta surfaces as a gen­er­al­ized tech­nique for a broad variety of applications.

An Example

Let’s keep it simple and assume we want to design a variable tube geometry for which we would want to find an optimal shape, e.g. with regards to some flow char­ac­ter­is­tics. The fol­low­ing picture shows 4 dif­fer­ent tubes:

Different tube geometries where the radii values are varied

You can create such a tube in various ways: For instance, we could create a surface of rev­o­lu­tion using a para­met­ric contour. However, we want to extend this geometry later to be asym­met­ric, or even to sweep the tube along a 3D path. Hence, a surface of rev­o­lu­tion is no option.

Be able to have a asymmetric tube or more complex shape later

Another more gen­er­al­ized pro­ce­dure is to create a set of 2D circles in the XY-plane, using dif­fer­ent radii values at dif­fer­ent z‑locations. These circles can then be inter­po­lated by a surface using a NURBS skinning process. If we consider 6 circles for each tube as shown in the first picture, we can plot and inter­po­late the radii values to receive a distribution:

Corresponding radii distributions for the 4 different tube shapes

However, such a section-based surface creation process is typ­i­cally tedious because there is a lot of manual cross-section creation and indi­vid­ual modeling required. On top of that, the modeling process can poten­tially create infea­si­ble shapes, e.g. con­straints need to be ful­filled and surface oscil­la­tions come up due to the inter­po­la­tion. Last but not least, the entire workflow is not gen­er­al­ized and cannot be used for similar design tasks.

Meta Surfaces

Meta surfaces simplify the cross-section approach and intro­duces a fully gen­er­al­ized approach to such a standard task.

Meta Surfaces are para­met­ric sweep surfaces, where the surface gen­er­a­tion process is effi­ciently con­trolled by a set of function graphs.

The overall goal of meta surfaces is to give you the quick pos­si­bil­ity to use function graphs for creating geometry vari­a­tions. The graphs can be con­nected to design explo­ration and opti­miza­tion strate­gies, so that the geometry gen­er­a­tion process is auto­mated and robust. This finally creates an effi­cient auto­mated setup and makes sure that you create only nice, feasible shapes. Let’s take a closer look at how meta surfaces are set up in CAESES.

Step 1: Curve Definition

The first thing you need is the curve that you want to sweep. In this simple example, we define a para­met­ric circle that has a radius value and a z‑location. The latter intro­duces the move into the 3D space. This custom curve def­i­n­i­tion is done within feature def­i­n­i­tions. Features give you a gen­er­al­ized script­ing envi­ron­ment to design any type of custom curve. The fol­low­ing picture shows the circle def­i­n­i­tion and its two input para­me­ters called z” and r”:

Curve definition with input parameters "z" and "r"

The circle is created in the XY-plane by default, and then trans­lated in the z‑direction using the input z‑value. Such a command-based def­i­n­i­tion can be typed manually, or it can be gen­er­ated inter­ac­tively from a given curve in CAESES. We can test this curve in CAESES by creating a test section of the definition:

Test section curve with the two input arguments "z" and "r"

That’s it for the curve def­i­n­i­tion. You could now manually create a set of curves (e.g. 5 or 10) using copy & paste, change their radii and z‑values, and inter­po­late them by a NURBS surface to receive a tube. However, as we have learned in the last section, we want to automate this with meta surfaces. As a result, we will have less objects and a more flexible setup with the feature def­i­n­i­tion being one central place, where we can still modify our curve, if needed. Before we create the surface, we need to tell CAESES what the radii and z‑values look like when we sweep this circle definition.

Step 2: Func­tions for Input Parameters

For the radius function graph, we can create a smooth 2D curve (a special f‑spline curve), and control the start and end ordinate values as well as the tangent angles. For instance, the tube start radius is r=0.1 and the end radius is r=0.5. We can define such a graph in the XY-plane and in the nor­mal­ized interval [0,1]:

Tube radius function graph, defined in a normalized interval 

We also define how the input para­me­ter z” will develop during a sweep. This might seem a bit weird in the first stage, but z” is also just another input para­me­ter of the feature def­i­n­i­tion. In this example, the curve para­me­ter z” and hence the tube runs from z=0 to z=1 in the 3D space. We use a simple linear function for this sweep para­me­ter, again in the same nor­mal­ized system. As a result, we have the two function graphs, which define how the circle input para­me­ters develop within a certain range:

Function graphs for the two input parameters of the circle

Step 3: Con­nect­ing Curve Def­i­n­i­tion and Graphs

We need to connect the curve def­i­n­i­tion and the cor­re­spond­ing function graphs that describe the curve’s 3D behavior. For this purpose, there is the curve engine object in CAESES, where you choose the feature def­i­n­i­tion and where you set the function graphs:

Connecting the circle definition with the function graphs

By the way: The name curve engine” stems from the fact that, with the curve def­i­n­i­tion and the function graphs, you have all infor­ma­tion avail­able and con­nected to create a bunch of curves in the covered interval. 

Step 4: Surface Creation with Meta Surface

The final surface creation is done through the meta surface type. For this surface, you choose the curve engine from the previous step and a range (i.e., interval, called base posi­tions”), in which you want to create the surface. In our example, the function graphs are defined in the interval [0,1], so 0 an 1 are the base posi­tions. The fol­low­ing picture shows a meta surface for the tube that is now based on the function graphs:

Meta surface based on curve engine and its function graphs

As an advanced feature, the meta surface allows you to set two dif­fer­ent curve engines in order to blend from one curve def­i­n­i­tion to another (e.g. from a circle into a square etc.). This is essen­tially the reason why curve engines are sep­a­rated, and not part of the meta surface object.

You can control how many cross-sections are con­sid­ered for the internal skinning process. There is also the meta surface option to set rail curves while sweeping, e.g. for curve def­i­n­i­tions that are not closed. This makes sure that existing boundary curves are exactly met, which is impor­tant when it comes to creating clean solid geometry. 

Meta Surface: Summary

The entire meta surface process can now be sum­ma­rized in the fol­low­ing stages:

  1. Curve def­i­n­i­tion with a set of para­me­ters using feature definitions.
  2. Creation of function graphs for the single curve parameters.
  3. Linking of curve def­i­n­i­tion and function graphs by means of the curve engine.
  4. Creation of meta surface using the curve engine from step 3 within a spec­i­fied interval.

Extend­ing the Parameterization

So far, this simple tube could also be quickly realized using a surface of rev­o­lu­tion, and probably this would be the pre­ferred way. However, we used this sym­met­ric tube as an example to intro­duce the tech­ni­cal concept of meta surfaces. We have in mind the flexible design of more complex free-form surfaces, where meta surfaces can show their full poten­tial. As a step into that direc­tion, let’s make the shape asym­met­ric, also to get an idea of how easy it is to extend the existing parameterization.

One major benefit of this cen­tral­ized curve def­i­n­i­tion is that we have only one place where to add new para­me­ters. Say, we want to addi­tion­ally trans­late the circle along the x‑axis while sweeping. All we have to do is to create another input argument x” and slightly modify the feature def­i­n­i­tion code. That’s it — 10 seconds of work. By con­firm­ing this change, it will be applied to the existing model, i.e., the curve engine and the meta surface update automatically.

Add another input parameter to the curve definition to translate in x-direction

By using copy and paste, we can fur­ther­more create another function graph for the x‑distribution and set it at the curve engine, in the same way as shown earlier for the radii dis­tri­b­u­tion. This takes another 20 seconds of work and the result is shown below:

Asymmetric tube with extended parameterization and corresponding function graphs

Just to trigger some ideas: As an alter­na­tive para­me­ter­i­za­tion of this tube, one could use a 3D sweep path curve as input for the feature def­i­n­i­tion, so that e.g. x” and z” are picked from this path. Instead of having function graphs for these two para­me­ters, we would then intro­duce a single curve para­me­ter tp” (any name works) to run on this path using a linear function graph in the curve interval [0,1]. 

Alternative parameterization where the circle runs on a 3D path curve

More details and meta surface examples can be found in the doc­u­men­ta­tion browser of CAESES. Basi­cally, the point here is that you can grab infor­ma­tion from anywhere in your CAESES project to create your custom curve def­i­n­i­tion for this advanced para­met­ric sweep.

Automat­ing Geometry Generation

So, what to do with this now? The main purpose of meta surfaces is the effi­cient and para­me­ter-reduced auto­mated vari­a­tion. CAESES allows you to create design vari­ables with lower and upper bounds for any discrete value in your project setup. As a simple example, we could intro­duce a design variable for the end tangent value of the circle’s radii distribution:

Introduce design variables for automated variation of the shape

Such a design variable is then con­trolled by the inte­grated opti­miza­tion strate­gies or by external 3rd-party tools, such as Mod­e­FRON­TIER, HEEDS, OptiS­Lang and Optimus. You can also vary the start and end radii values, or you could create a com­pletely dif­fer­ent function graph (poly­no­mi­als, inter­po­la­tion curves, b‑splines etc.) and intro­duce design vari­ables for coef­fi­cients, vertices and other discrete function values.

Meta Surface Applications

As men­tioned in the intro­duc­tion of this article, this is a gen­er­al­ized capa­bil­ity from which you can benefit no matter what appli­ca­tion you work on. CAESES users create meta surfaces for complex shapes and if effi­cient controls are needed, par­tic­u­larly in auto­mated processes. Let us look at a couple of applications:

In the fol­low­ing ani­ma­tion, the meta surface of a ship hull is con­trolled by a set of function graphs for the ship’s dis­place­ment dis­tri­b­u­tion, water­line tangent angles, beam and so forth. Note that with this tech­nique only feasible hull geome­tries are created because the area con­straint (which turns into the dis­place­ment) is already part of the user’s cross-section definition.

Meta surface for ship hulls

Since curve engines offer the option to obtain a curve at a certain location of the meta surface interval (i.e. where the function graphs are well-defined), we can visu­al­ize the curve at a specific location. You can use this capa­bil­ity to e.g. check and visu­al­ize single curves of the meta surface, or to obtain start and end curves of the meta surface. 

Parametric ship hull section at x=155 m, taken from the curve engine

For ship hulls, the function graphs are typ­i­cally defined in a real-world coor­di­nate system (e.g. [0, 200]), instead of using a nor­mal­ized system. This has the advan­tage that function graphs can be visu­al­ized along the ship and hence directly cor­re­spond to the lon­gi­tu­di­nal posi­tions. That makes it easier for the engineer to under­stand what’s hap­pen­ing in the model.

Ship hull with the function graphs for the meta surfaces

In the context of blade design for marine and tur­bo­ma­chin­ery appli­ca­tions, CAESES users define fully cus­tomized 2D profiles with any para­me­ters for e.g. camber, thick­ness, leading edge radius, etc. For these single para­me­ters, cor­re­spond­ing func­tions graphs define the span-wise or radial devel­op­ment of the shape. This allows engi­neers to have a higher control about their 3D blade shapes, for full cus­tomiza­tion in the context of explor­ing new inno­v­a­tive designs.

Meta surface for turbomachinery impeller blade

Another standard appli­ca­tion for meta surfaces are volutes for pumps and tur­bocharg­ers. The cross-section typ­i­cally contains para­me­ters for the A/R ratio, fillet radii and other geometry controls, for which function graphs are created, and varied during opti­miza­tion runs — often in com­bi­na­tion with the impeller, blade and diffusor meta surfaces.

Compressor volute surface generation

In the auto­mo­tive sector, there are a variety of com­po­nents and parts that can be addressed with meta surfaces for shape opti­miza­tion purposes. For instance, intake port designs can be con­trolled by function graphs for the cross-section area, while sweeping along a 3D path.

Intake port surface sweep along a path using function graphs for e.g. cross-section areas

More Infor­ma­tion

Even though we put together a sub­stan­tial amount of text for this article, the entire modeling process of e.g. the simple tube only takes 2 minutes in CAESES. With the curve engine and the meta surface capa­bil­i­ties, you obtain a flexible and ready-to-use para­met­ric sweep process with lit­er­ally unlim­ited pos­si­bil­i­ties! It might take some time and exper­i­men­ta­tion until you fully under­stand the power of this unique modeling offer. Note also that the custom curve does not need to be a 2D curve. Any curve def­i­n­i­tion that somehow moves into the space can be used as the base curve for the para­met­ric sweep.

Check out the geometry modeling section of CAESES for more details about the entire CAD capa­bil­i­ties. More infor­ma­tion about feature def­i­n­i­tions and custom geometry can be found on the script­ing pages.

Sub­scribe to the Newsletter

Are you inter­ested in geometry-related topics and design opti­miza­tion? Then stay tuned and sign up for our newslet­ter to receive short reads like this one! 

More articles

Latest from the blog

All articles

Stay up to date

Receive latest news to your inbox.

Subscribe to newsletter