FreeFormVariationModel< TYPE > Class Template Reference
Last update: 16.07.2025Provides 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
-
TYPE the 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
-
database the database where all data is stored into the_quantity_ident sets quantity_ident the_set_part_ident the part ident of the given set of supports the_set_ident the ident of the given set of supports the_mean sets mean the_stddev sets 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
-
database the SoS structure
◆ compute()
| compute | ( | Structure | database | ) |
does the action
- Parameters
-
database the 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!