8 structural_modal_analysis_definitions (alpha)
Contains all the definitions specific to a structural modal analysis procedure.
Name |
| Type |
| Description |
| Default |
| LIST |
| Defines the type of modal solution method to compute. Currently only a frequency extraction method is supported. |
| ||
outputs (alpha) [optional] |
| LIST |
| The outputs object holds all output objects, identified by user defined identifiers. An output object defines an output for this procedure. Remark: If a chosen set was specified as an immersed set during geometry creation, that set must the only item in the sets list. If an immersed set is selected the output command will produce two separate files. The main file will include a tessellated surface representation of the boundary. The second file (with suffix envelope), will include a smooth volumetric output of the U-spline envelope domain for the immersed set. When viewing results on the envelope domain take care that only values on the interior of the model of interest are considered as values at the extremities of this representation may not exhibit physically relevant behavior. Not all elements from the original mesh used may be shown, in general only those that intersect the model of interest will be included. |
| |
boundary_conditions (alpha) [optional] |
| LIST |
|
| ||
interactions (alpha) [optional] |
| LIST |
| Each object in the interaction definitions array defines an interaction for the procedure. Currently the supported interactions are mechanical_contact and tied_constraint. |
| |
interaction_search_parameters (alpha) [optional] |
| LIST |
| Each object in the interaction search definitions array defines search parameters to be used in an interaction. Currently the supported search definitions is a sensor-based layout. |
|
8.1 modal_solution_methods (alpha)
Defines the type of modal solution method to compute. Currently only a frequency extraction method is supported.
Name |
| Type |
| Description |
| Default |
label (alpha) |
| STRING |
| The user defined identifier for this modal solution method definition. |
| |
| SUB OBJECT |
| See linked documentation |
|
8.1.1 frequency_extraction (alpha)
Find natural frequencies based on the input parameters.
Name |
| Type |
| Description |
| Default |
minimum_frequency (alpha) |
| DOUBLE |
| Minimum frequency in the frequency domain of interest. |
| |
maximum_frequency (alpha) |
| DOUBLE |
| Maximum frequency in the frequency domain of interest. |
|
8.2 outputs (alpha)
The outputs object holds all output objects, identified by user defined identifiers. An output object defines an output for this procedure. Remark: If a chosen set was specified as an immersed set during geometry creation, that set must the only item in the sets list. If an immersed set is selected the output command will produce two separate files. The main file will include a tessellated surface representation of the boundary. The second file (with suffix envelope), will include a smooth volumetric output of the U-spline envelope domain for the immersed set. When viewing results on the envelope domain take care that only values on the interior of the model of interest are considered as values at the extremities of this representation may not exhibit physically relevant behavior. Not all elements from the original mesh used may be shown, in general only those that intersect the model of interest will be included.
Name |
| Type |
| Description |
| Default |
label (alpha) |
| STRING |
| The user defined identifier for this output definition. |
| |
tessellate [optional] (alpha) |
| true|false |
| The output should be tessellated to hdf5 files for consumption by third party tools. |
| |
| SUB OBJECT | SUB OBJECT |
| The definition of the class of output |
|
Example Usage:outputs: [ { label: "field_results", field: { database_name: "results", interval: "output_interval", part: "cframe", variables: { displacement: [ "x", "y", "z" ], stress: [ "all" ] }, element_variable_output_strategy: "interpolate", include_integration_point_output: false } }, { label: "probe_results", history: { interval: "output_interval", probe_variables: [ "stress_probe", "load_reaction_force" ] } } ]
8.2.1 field (alpha)
The field object is primarily useful for visualization and explorative analysis of the results. In addition to the result values, field output exports information needed to construct a visualization of the model.
Name |
| Type |
| Description |
| Default |
database_name (alpha) |
| STRING |
| The file name prefix of the output file that will be written to disk. The field output is written out in the ParaView *.pvd format. |
| |
interval (alpha) |
| STRING |
| The user defined identifier of the interval to use for this output. This interval will specify when the output should be written, as determined by the time_increment or step_increment values within the interval. A time_increment of 0 acts the same as a step_increment of either 0 or 1, writing output after each intermediate solution step. A negative value for time_increment or step_increment will output only at the bounds of the interval. |
| |
part | set |
| STRING | STRING |
| Defines the set or part to be operated on. If nothing is specified, it is equivalent to including every part. |
| |
| SUB OBJECT |
| See linked documentation |
| ||
element_variable_output_strategy [optional] (alpha) |
| “max” | “min” | “average” | “interpolate” |
| This specifies how values are calculated within each cell. min, max, and average take the minimum, maximum, or average component point values at the integration points and report them across the entire cell. interpolate interpolates the component values from the integration points. |
| |
include_integration_point_output [optional] (alpha) |
| true|false |
| Whether to include output at integration points. Output at integration points is not included by default. |
| false |
tessellation_option [optional] |
| STRING |
| Tessellation identifier that defines options for tessellation |
|
8.2.1.1 part | set
Defines the set or part to be operated on. If nothing is specified, it is equivalent to including every part.
Name |
| Type |
| Description |
| Default |
part |
| STRING |
| The user defined label of the part that defines the set. |
| |
set |
| STRING |
| The user defined identifier of the geometric set. |
|
8.2.1.2 variables (release)
The variable to output.
Name |
| Type |
| Description |
| Default |
displacement | velocity (beta) | acceleration (beta) | stress | nominal_strain (beta) | plastic_strain (beta) | deformation_gradient (alpha) | failure_indicator (alpha) |
| [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ] | [ “equivalent”, ... ] | [ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ] | [ “value”, ... ] |
| Any of the given options can be defined |
|
Example Usage:variables: { displacement: [ "x", "y", "z" ], stress: [ "all" ] }
8.2.1.3 displacement | velocity | acceleration | stress | nominal_strain | plastic_strain | deformation_gradient | failure_indicator
Any of the given options can be defined
Name |
| Type |
| Description |
| Default |
displacement |
| [ “all” | “x” | “y” | “z” | “magnitude”, ... ] |
|
| ||
velocity (beta) |
| [ “all” | “x” | “y” | “z” | “magnitude”, ... ] |
|
| ||
acceleration (beta) |
| [ “all” | “x” | “y” | “z” | “magnitude”, ... ] |
|
| ||
stress |
| [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ] |
|
| ||
nominal_strain (beta) |
| [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ] |
|
| ||
plastic_strain (beta) |
| [ “equivalent”, ... ] |
|
| ||
deformation_gradient (alpha) |
| [ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ] |
|
| ||
failure_indicator (alpha) |
| [ “value”, ... ] |
|
|
8.2.2 history (alpha)
Define a history object to extract time-history data from specific regions of interest. The history object is primarily useful for analysis at known regions of interest (ROI), especially when a high-temporal resolution is required to gain useful information from the results. Field output on the entire domain of the model is often intractable in these situations as writing the entire field at a high sample rate can negatively impact performance, especially when using explicit time-integration, and can quickly generate enormous files that are cumbersome to process. History output writes a minimal set of information at user define probe_variable locations to an HDF5 file format that is easy to process in any number of downstream tools such as Excel, Matlab, or Python.
Name |
| Type |
| Description |
| Default |
interval (alpha) |
| STRING |
| The user defined identifier of the interval to use for this output. |
|
8.3 boundary_conditions (alpha)
Name |
| Type |
| Description |
| Default |
label (alpha) |
| STRING |
| A user defined identifier for this boundary condition. |
| |
components (alpha) |
| [ “x” | “y” | “z”, ... ] |
| Specifies which displacement components to constrain. |
| |
part | set |
| STRING | STRING |
| Defines the set or part to be operated on |
| |
penalty (alpha) [optional] |
| SUB OBJECT |
| See linked documentation |
| |
quadrature_options (beta) [optional] |
| SUB OBJECT |
| See linked documentation |
|
8.3.1 part | set
Defines the set or part to be operated on
Name |
| Type |
| Description |
| Default |
part |
| STRING |
| The user defined label of the part that defines the set. |
| |
set |
| STRING |
| The user defined identifier of the geometric set. |
|
8.3.2 penalty (alpha)
Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.
Name |
| Type |
| Description |
| Default |
value (alpha) |
| DOUBLE |
| The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true. |
| 1e1 |
dimensionless (alpha) |
| true|false |
| If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests. |
| true |
8.3.3 quadrature_options (beta)
Name |
| Type |
| Description |
| Default |
quadrature [optional] (beta) |
| “QP1” | “QP0” | “Q1” | “Q2” | “Q3” | “Q4” | “Q5” | “Q6” | “Q7” | “Q8” | “Q9” | “Q10” |
| Quadrature type enumeration. The quadrature type determines the point layout over a patch or patch element. The schemes following the pattern “Q#” specify that a Gauss quadrature scheme with #-points will be used. The schemes following the pattern “QP#” specify that a Gauss quadrature scheme with -points will be used, where is the degree of the patch's or patch element's basis. |
| QP1 |
optimized_cut_quadrature_strategy [optional] (beta) |
| “match_uncut” | “reduce_from_uncut” | “match_basis” |
| Strategy to choose the degree of accuracy for quadrature on cut cells. The default strategy of reduce_from_uncut chooses quadrature rules with similar numbers of points as those used on uncut cells, as specified by quadrature; it has lower formal accuracy (integrating tensor products of monomials up to degree for uncut quadrature Q), but is a good default choice for practical calculations. The strategy match_uncut matches the formal accuracy of the quadrature on uncut cells, but is significantly more costly. The strategy match_basis chooses a rule that exactly integrates the basis functions; this is equivalent to reduce_from_uncut if the uncut cells use the default quadrature of QP1, but may differ for other choices of uncut quadrature. |
| reduce_from_uncut |
optimized_cut_quadrature_degree [optional] (beta) |
| NONNEGATIVE INTEGER |
| If provided, this value overrides optimized_cut_quadrature_strategy by specifying an explicit polynomial degree of accuracy for optimized quadrature rules on cut cells. |
| |
optimization_method [optional] (beta) |
| “tet_pruning” | “grid_doubling” | “linear_programming” |
| Specifies the preferred method of quadrature generation for cut cells. If the preferred method fails on a particular cell, the other methods will be used in an attempt to recover. |
| tet_pruning |
optimization_residual_tolerance [optional] (beta) |
| DOUBLE |
| The absolute residual tolerance used in quadrature optimization on cut cells. A smaller value will result in a more accurate quadrature rule, but may increase the time to compute quadrature rules for cut cells. |
| 1e-12 |
optimization_lawson_hanson_solve_completion [optional] |
| true|false |
| An experimental option that controls the convergence behavior of quadrature optimization. For best results it is recommended to set this value to true. If set to true this causes each iteration of quadrature optimization to solve to the highest accuracy possible. The results at each iteration are then checked against the optimization_residual_tolerance to determine if a sufficient rule has been found. If this value is set to false then the optimization_residual_tolerance is passed to the solve at each iteration and can cause the solve step to terminate more quickly which can result in faster execution and a lower number of quadrature points. However the quality and accuracy of the resulting rule may be suspect. |
| true |
tessellation_option [optional] |
| STRING |
| Tessellation identifier that defines options for tessellation |
|
8.4 interactions (alpha)
Each object in the interaction definitions array defines an interaction for the procedure. Currently the supported interactions are mechanical_contact and tied_constraint.
Name |
| Type |
| Description |
| Default |
label (alpha) |
| STRING |
| User defined identifier for this interaction definition. |
| |
quadrature_options (beta) [optional] |
| SUB OBJECT |
| See linked documentation |
| |
| SUB OBJECT | SUB OBJECT |
|
|
Example Usage:interactions: [ { label: "all_interfaces", quadrature_options: { quadrature: "QP1"}, material_interface: { interface: "all_interfaces", penalty: {value: 28000000000, dimensionless: false} } } ]
8.4.1 quadrature_options (beta)
Name |
| Type |
| Description |
| Default |
quadrature [optional] (beta) |
| “QP1” | “QP0” | “Q1” | “Q2” | “Q3” | “Q4” | “Q5” | “Q6” | “Q7” | “Q8” | “Q9” | “Q10” |
| Quadrature type enumeration. The quadrature type determines the point layout over a patch or patch element. The schemes following the pattern “Q#” specify that a Gauss quadrature scheme with #-points will be used. The schemes following the pattern “QP#” specify that a Gauss quadrature scheme with -points will be used, where is the degree of the patch's or patch element's basis. |
| QP1 |
optimized_cut_quadrature_strategy [optional] (beta) |
| “match_uncut” | “reduce_from_uncut” | “match_basis” |
| Strategy to choose the degree of accuracy for quadrature on cut cells. The default strategy of reduce_from_uncut chooses quadrature rules with similar numbers of points as those used on uncut cells, as specified by quadrature; it has lower formal accuracy (integrating tensor products of monomials up to degree for uncut quadrature Q), but is a good default choice for practical calculations. The strategy match_uncut matches the formal accuracy of the quadrature on uncut cells, but is significantly more costly. The strategy match_basis chooses a rule that exactly integrates the basis functions; this is equivalent to reduce_from_uncut if the uncut cells use the default quadrature of QP1, but may differ for other choices of uncut quadrature. |
| reduce_from_uncut |
optimized_cut_quadrature_degree [optional] (beta) |
| NONNEGATIVE INTEGER |
| If provided, this value overrides optimized_cut_quadrature_strategy by specifying an explicit polynomial degree of accuracy for optimized quadrature rules on cut cells. |
| |
optimization_method [optional] (beta) |
| “tet_pruning” | “grid_doubling” | “linear_programming” |
| Specifies the preferred method of quadrature generation for cut cells. If the preferred method fails on a particular cell, the other methods will be used in an attempt to recover. |
| tet_pruning |
optimization_residual_tolerance [optional] (beta) |
| DOUBLE |
| The absolute residual tolerance used in quadrature optimization on cut cells. A smaller value will result in a more accurate quadrature rule, but may increase the time to compute quadrature rules for cut cells. |
| 1e-12 |
optimization_lawson_hanson_solve_completion [optional] |
| true|false |
| An experimental option that controls the convergence behavior of quadrature optimization. For best results it is recommended to set this value to true. If set to true this causes each iteration of quadrature optimization to solve to the highest accuracy possible. The results at each iteration are then checked against the optimization_residual_tolerance to determine if a sufficient rule has been found. If this value is set to false then the optimization_residual_tolerance is passed to the solve at each iteration and can cause the solve step to terminate more quickly which can result in faster execution and a lower number of quadrature points. However the quality and accuracy of the resulting rule may be suspect. |
| true |
tessellation_option [optional] |
| STRING |
| Tessellation identifier that defines options for tessellation |
|
8.4.2 tied_constraint (alpha)
Defines interaction properties for a surface to surface tied constraint.
Name |
| Type |
| Description |
| Default |
target_set (alpha) |
| STRING |
| Specifies the target interaction surface. |
| |
source_set (alpha) |
| STRING |
| Specifies the source interaction surface. |
| |
region_search_method (alpha) |
| STRING |
| Specifies the object in interaction-search-parameters to define the constraint search method. |
| |
penalty (alpha) [optional] |
| SUB OBJECT |
| See linked documentation |
| |
offset [optional] (alpha) |
| true|false |
| A tied constraint property that, if true, will use a formulation that approximately maintains the initial gap distance. If false, the tied constraint formulation will not maintain gap distances under rotation, but is less expensive to compute. |
| true |
8.4.2.1 penalty (alpha)
Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.
Name |
| Type |
| Description |
| Default |
value (alpha) |
| DOUBLE |
| The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true. |
| 1e1 |
dimensionless (alpha) |
| true|false |
| If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests. |
| true |
8.4.3 material_interface (alpha)
Name |
| Type |
| Description |
| Default |
interface (alpha) |
| STRING |
| The label of the interaction in the geometry/interactions array. |
| |
penalty (alpha) [optional] |
| SUB OBJECT |
| See linked documentation |
| |
region_search_method [optional] (alpha) |
| STRING |
| The search paramaters to use. |
| |
offset [optional] (alpha) |
| true|false |
| A material interface property that, if true, will use a formulation that approximately maintains any initial gap due to a small geometric mismatch at the material interface. If false, the tied constraint formulation may be less robust to geometry error, but is less expensive to compute. |
| true |
Example Usage:material_interface: { interface: "all_interfaces", penalty: {value: 28000000000, dimensionless: false} }
8.4.3.1 penalty (alpha)
Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.
Name |
| Type |
| Description |
| Default |
value (alpha) |
| DOUBLE |
| The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true. |
| 1e1 |
dimensionless (alpha) |
| true|false |
| If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests. |
| true |
8.5 interaction_search_parameters (alpha)
Each object in the interaction search definitions array defines search parameters to be used in an interaction. Currently the supported search definitions is a sensor-based layout.
Name |
| Type |
| Description |
| Default |
label (alpha) |
| STRING |
| User defined identifier for this interaction search definition. |
| |
| SUB OBJECT |
| See linked documentation |
|
8.5.1 sensor_based (alpha)
Defines properties for sensor-based interaction search method. The layout of sensors is determined by the quadrature rule specified in the material interface or tied constraint using these search parameters. For each sensor (quadrature point) on the source surface, the nearest point is found on the target surface using the given parameters.
Name |
| Type |
| Description |
| Default |
max_iterations (alpha) |
| NONNEGATIVE INTEGER |
| Specifies the maximum iterations for the search. |
| 10 |
relative_tolerance (alpha) |
| DOUBLE |
| Specifies the relative search tolerance. |
| 1e-8 |
bounding_box_extension (alpha) |
| DOUBLE |
| Specifies the extension of the bounding box for the interaction search. |
| 1e-3 |