Skip to main content

optiSLang 3D Postprocessing Script API 2025 R1

FreeFormVariationModel< TYPE > Class Template Reference

Last update: 16.07.2025

Provides random field models. More...

Public Types

typedef boost::function< number(TVector3 x, TVector3 y)> TCorrelationFunction
 a function which is called to analyze the correlation
 
typedef std::vector< number > TDoubleVector
 a vector of floating point numbers
 
typedef Eigen::Vector3d TVector3
 a 3D vector type
 

Public Member Functions

 check (Structure database)
 checks the settings on plausibility More...
 
 compute (Structure database)
 does the action More...
 
 FreeFormVariationModel (Structure database, string the_quantity_ident, string the_set_part_ident, string the_set_ident, DataObjectPtr the_mean, DataObjectPtr the_stddev)
 default constructor More...
 

Public Attributes

Matrix boundary_indices
 data indices of nodes/elements which define the boundary of the set (this is used as base to automatically place the points)
 
DataObjectPtr bounds_lower
 lower bounds (may be an empty pointer)
 
DataObjectPtr bounds_upper
 upper bounds (may be an empty pointer)
 
bool compute_distances
 if true then the distance vectors are exported
 
bool compute_variations
 true, if the individual variations are to be computed
 
MultivariateDistributionTypes::enum_type distribution_type
 The ident of the probability distribution that is assumed to convert data from original space to Gaussian. If empty (default), then it is automatically chosen.
 
bool enforce_zero_at_fixed_boundary
 if true (default), then a smooth transition is done at the interface between the morphed and fixed boundary. (actually zero displacement at interface) More...
 
bool erase_degenerated_shapes
 if true, then alle shapes being associated with too small correlations lengths will be eliminated from the model. The option 'num_optimal_points' is then an upper limit
 
DataObjectPtr mean
 mean value of the field
 
bool normalized
 if true (default), then the shapes are normalized such that they behave as partition of unity.
 
number num_optimal_points
 if >0 then additionally to the support point group (if any) the algorithm tries to find an optimal pattern with the given additional number of points
 
bool overwrite_existing
 Is true if already existing output data objects will be replaced. In this case, also all depending objects of the already existing one will be deleted.
 
string quantity_ident
 the ident of the quantity for which the random field is to be generated
 
bool scale_mean
 if true, the mean is associated with a scaling parameter and will be the first shape
 
DataObjectPtr stddev
 standard deviation of the field
 
string support_set_ident
 the ident of the given set of supports
 
string support_set_part_ident
 the part ident of the given set of supports
 
bool use_topological_distance
 if true (default) then the topological distance is used, else the spatial distance More...
 

Detailed Description

template<dataobject_types TYPE>
class FreeFormVariationModel< TYPE >

Provides random field models.

Template Parameters
TYPEthe field data type

This class provides a field parameterization similar to random field correlation models. The basic idea is that one creates "tents" around given support points. The tent is actually given through an autocorrelation function (governed by a correlation length parameter) centered around each support point. The supports are defined through sets.

The correlation models employed here refer to the correlation matrix that is created after transforming the field marginal CDF to standard normal space.

Constructor & Destructor Documentation

◆ FreeFormVariationModel()

FreeFormVariationModel ( Structure  database,
string  the_quantity_ident,
string  the_set_part_ident,
string  the_set_ident,
DataObjectPtr  the_mean,
DataObjectPtr  the_stddev 
)

default constructor

Parameters
databasethe database where all data is stored into
the_quantity_identsets quantity_ident
the_set_part_identthe part ident of the given set of supports
the_set_identthe ident of the given set of supports
the_meansets mean
the_stddevsets stddev

Member Function Documentation

◆ check()

check ( Structure  database)

checks the settings on plausibility

It throws an exception if there is a problem with the settings. Important: It tries to find out all problems with these settings and then exits the routine.

Parameters
databasethe SoS structure

◆ compute()

compute ( Structure  database)

does the action

Parameters
databasethe database where all data is stored into

Member Data Documentation

◆ enforce_zero_at_fixed_boundary

bool enforce_zero_at_fixed_boundary

if true (default), then a smooth transition is done at the interface between the morphed and fixed boundary. (actually zero displacement at interface)

Note
This is only working if a normalized shape is used.

◆ use_topological_distance

bool use_topological_distance

if true (default) then the topological distance is used, else the spatial distance

Note
If you use the spatial distance then no edges or regions are supported by manually define support point sets!

Connect with Ansys