del_2n_edge_for_all_elm | (node_prefer_to_del_id, node_prefer_to_keep_id, consider_geometry, reason_why_not) |
Description: | ||
This function deletes an element edge for all Tet/Tri/Bar elements using it. | ||
Input: | ||
INTEGER | node_prefer_to_del_id | This value specifies the Patran node id for deletion. This should be the one you prefer to delete. |
INTEGER | node_prefer_to_keep_id | This value specifies the Patran node id for deletion. This should be the one you prefer to keep. |
INTEGER | consider_geometry | This value specifies the options : 1 (TRUE) if you wish to consider geometry, otherwise, 0 (FALSE). |
STRING [VIRTUAL] | reason_why_not | This value specifies the virtual string containing : "" for this string if the edge was deleted. Otherwise (string length greater than 0), this string holds the reason why it cannot be deleted. |
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 if no error occurred. |
fem_conn_fastener_prop_modify | (name, diameter, kti, kri, mass, mcid, mflag, id) |
Description: | ||
This function modifies a fastener connector property record in the database. | ||
Input: | ||
STRING[] | name | The name of the connector property. |
REAL | diameter | The connector diameter. |
REAL(3) | kti | Stiffness values in directions 1 to 3. |
REAL (3) | kri | Rotation stiffness values in directions 1 to 3. |
REAL | mass | The lumped mass of the fastener. |
INTEGER | mcid | The element stiffness coordinate system (-1 = use element coordinate system). |
INTEGER | mflag | Defines whether the coordinate system specified for mcid is absolute (1) or relative (0). |
Output: | ||
INTEGER | id | The ID of the new connector property. |
INTEGER | <Return Value> | This function returns a value of 0 if successful. |
Error Conditions: | ||
DbDuplicateEntry DbMaterialNotFound |
fem_conn_property_get | (name, type, mat, rvals, ivals, id) |
Description: | ||
This function modifies a connector property record in the database. | ||
Input: | ||
STRING[] | name | The name of the connector property. |
Output: | ||
STRING[] | type | The type of connector property (General, Spot Weld). |
STRING[] | mat | Name of the reference material property. |
REAL() | rvals | Real property values (diameter, Idmin, Idmax, etc.). |
INTEGER() | ivals | Integer property values. |
INTEGER | id | The ID of the new connector property. |
INTEGER | <Return Value> | This function returns a value of 0 if successful. |
Error Conditions: | ||
DbRegionNotFound DbPropValNotFound DbMaterialNotFound |
fem_conn_property_modify | (name, type, mat, rvals, ivals, id) |
Description: | ||
This function modifies a connector property record in the database. | ||
Input: | ||
STRING[] | name | The name of the connector property. |
STRING[] | type | The type of connector property (Generl, Spot Weld). |
STRING[] | mat | Name of the reference material property. |
REAL() | rvals | Real property values (diameter, Idmin, Idmax, etc.). |
INTEGER() | ivals | Integer property values. |
Output: | ||
INTEGER | id | The ID of the connector property. |
INTEGER | <Return Value> | This function returns a value of 0 if successful. |
Error Conditions: | ||
DbRegionNotFound DbPropValNotFound DbMaterialNotFound |
fem_conn_spotweld_modify | (id, pname, method, fmt, gs, ga, gb, pata, patb, sptyp) |
Description: | ||
This function modifies spot weld connectors (usually one at a time). | ||
Input: | ||
INTEGER | id | The starting id for the new connector(s). |
STRING[] | pname[] | The connector property name. |
STRING[] | method | The connector creation method (Projection or Axis). |
STRING[] | fmt | The weld format (ELPAT, PARTPAT, ALIGN, ELEMID, or GRIDID). |
STRING[] | gs | List of connector locations (nodeds or xyz). |
STRING[] | ga | List of surface A pierce nodes. |
STRING[] | gb | List of surface B pierce nodes. |
STRING[] | pata | List of surface A patch identifiers. |
STRING[] | patb | List of surface B patch identifiers. |
STRING[] | sptyp | Surface patch types (GRIDID format only). Q4Q8 = quad4/quad8, Q4T6 = quad4/tri6, etc. |
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 if successful. |
Error Conditions: | ||
MSG_FEM_CONN_ZERO_DIAM MSG_FEM_CONN_GS_OR_GA_REQD MSG_FEM_CONN_ALIGN_GA_GB_REQD MSG_FEM_CONN_PATA_PATB_REQD MSG_FEM_CONN_BAD_POINT_PATCH MSG_FEM_CONN_GS_NODE_ID_REQD MSG_FEM_CONN_PROP_NOT_FOUND |
fem_conn_spotweld_prop_modify | (name, mat, diameter, imset, id) |
Description: | ||
This function modifies a spot weld connector property record in the database. | ||
Input: | ||
STRING[] | name | The name of the connector property. |
STRING[] | mat | Name of the reference material property. |
REAL | diameter | The connector diameter. |
INTEGER | imset | The M-Set flag (0=OFF, 1=ON). |
Output: | ||
INTEGER | id | The ID of the new connector property. |
INTEGER | <Return Value> | This function returns a value of 0 if successful. |
Error Conditions: | ||
DbDuplicateEntry DbMaterialNotFound |
fem_mod_elem_reverse | (element_select, elements_reversed) |
Description: | ||
This function will reverse the connectivity of the specified elements, reversing the direction of the normal vector for those elements. | ||
Input: | ||
STRING | element_select[] | This value specifies a selection of element identifiers to be used for the elements being reversed. |
Output: | ||
STRING | elements_reversed[VIRTUAL] | |
This value returns a description of the elements which were reversed. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
fem_mod_elem_separate | (element_select, node_select, seperation_option, keep_association, num_nodes, nodes_created) |
Description: | ||
This function will separate elements at the specified nodes, edges or faces. | ||
Input: | ||
STRING | element_select[] | This value specifies a selection of element identifiers to be used for the elements being separated. Element edges and faces can also be specified with this value. |
STRING | node_select[] | This value specifies a selection of nodes identifying where the elements will be separated. |
INTEGER | seperation_option | This value specifies the method used to separate elements from nodes. See the remarks below for more information. |
LOGICAL | keep_association | This value specifies, when set to TRUE, that new nodes that are created will maintain an association to the model geometry. |
Output: | ||
INTEGER | num_nodes | This value returns the number of nodes created. |
STRING | nodes_created[VIRTUAL] | |
This value returns a description of the nodes created. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
Value | Description | |
1 | Separate elements at the nodes specified by the input value node_select. | |
2 | Separate elements at the element edges specified by the input value element_select. | |
3 | Separate element faces at the element faces specified in the input value element_select. | |
4 | Separate element faces at the free element edges specified in the input value element_select. | |
5 | Separate element faces at the free element faces specified in the input value element_select. |
fem_mod_quad_split_nm | (pattern, auto_manual, element_select, orientation_element, num_selected, num_orientation, num_nodes_created, num_elems_created, num_nodes_deleted, num_elems_deleted, nodes_created, elements_created, nodes_deleted, elements_deleted) |
Description: | ||
This function will split quadrilateral elements in a specified pattern using a selection of elements as input. | ||
Input: | ||
STRING | pattern[] | This value specifies the pattern into which the quadrilateral elements will be split and should always be set to “nm_quad”. |
STRING | auto_manual[] | This value specifies, when set to “Manual”, that the number of entities in the input value element_select be counted to determine how many orientation edges will be needed. This value can accept two values “Auto” or “Manual” and should be set to “Auto” if the input values num_selected and num_orientation equal each other. |
STRING | element_select[] | This value specifies a selection of quadrilateral elements to be split. |
STRING | orientation_element[] | This value specifies a selection of elements that are used to specify the orientation of the elements to be split. |
INTEGER | num_selected | This value specifies the number of elements described in the input value element_select. |
INTEGER | num_orientation | This value specifies the number of element edges described in the input value orientation_element. |
Output: | ||
INTEGER | num_nodes_created | This value returns the number of nodes created. |
INTEGER | num_elems_created | This value returns the number of elements created. |
INTEGER | num_nodes_deleted | This value returns the number of nodes deleted. |
INTEGER | num_elems_deleted | This value returns the number of elements deleted. |
STRING | nodes_created[VIRTUAL] | |
This value returns a description of the created nodes. | ||
STRING | elements_created[VIRTUAL] | |
This value returns a description of the created elements. | ||
STRING | nodes_deleted[VIRTUAL] | |
This value returns a description of the deleted nodes. | ||
STRING | elements_deleted[VIRTUAL] | |
This value returns a description of the deleted elements. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
fem_modify_nodes | (node_select, new_node_id, ref_coord_frame, anly_coord_frame, point_select, modify_options, nodes_modified) |
Description: | ||
This function will modify specified node attributes. | ||
Input: | ||
STRING | node_select[] | This value specifies a selection of nodes to be modified. |
STRING | new_node_id[] | This value specifies a selection of node identifiers to be assigned to the modified nodes. |
STRING | ref_coord_frame[] | This value specifies an identifier for the reference coordinate frame assigned to the modified nodes. |
STRING | anly_coord_frame[] | This value specifies an identifier for the analysis coordinate frame assigned to the modified nodes. |
STRING | point_select | This value specifies a selection of points to which the modified nodes will be moved. |
INTEGER | modify_options(10) | This value specifies the manner in which the node attributes will be modifies. Each offset in the array of values can be set to 1 to cause the attribute to be modified or to 0 so that the attribute is not modified. See the remarks below for more information. |
Output: | ||
STRING | nodes_modified[VIRTUAL] | |
This value returns a description of the modified nodes. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
Offset | Description | |
1 | Modify the id values of the nodes. | |
2 | Modify the analysis coordinate frame to which the nodes are assigned. | |
3 | Modify the reference coordinate frame to which the nodes are assigned. | |
4 | Modify the association of the nodes. This option is currently not implemented. | |
5 | Modify the location of the nodes. | |
6 | Not used. | |
7 | Not used. | |
8 | Not used. | |
9 | Not used. | |
10 | Not used. |
fem_modify_nodes_offset | (transformation_type, ref_coord_frame, vector_direction, magnitude, reverse_direction, node_select, nodes_modified) |
Description: | ||
This function will move nodes by a specified vector distance. | ||
Input: | ||
LOGICAL | transformation_type | This value specifies, when set to TRUE, that the move will be curvilinear in the reference coordinate system. If this value is set to FALSE, a cartesian move in the reference coordinate frame will take place. |
STRING | ref_coord_frame[] | This value specifies an identifier for the reference coordinate frame in which the move will take place. |
STRING | vector_direction[] | This value specifies a vector that defines the direction in which the nodes will be moved. This vector does not affect the distance that the move will take, only the direction. |
STRING | magnitude[] | This value specifies how far the nodes will be moved. This argument is ignored if “transformation_type” is set to TRUE. |
LOGICAL | reverse_direction | This value specifies, when set to TRUE, that the direction of the input value vector_direction be reversed. |
STRING | node_select[] | This value specifies a selection of nodes to be modified. |
Output: | ||
STRING | nodes_modified[VIRTUAL] | |
This value will return a description of the nodes that have been modified. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
fem_modify_elems | (new_element_id, new_shape, new_element_type, current_node_select, new_node_select, element_select, modify_options, elements_modified) |
Description: | ||
This function will modify the specified element attributes. | ||
Input: | ||
STRING | new_element_id[] | This value specifies a selection of new element identifiers to be assigned to the modifies elements. |
STRING | new_shape[] | This value specifies a new element shape to assign to the modified elements. See the remarks below for more information. This value is currently not used. |
STRING | new_element_type[] | This value specifies a new element topology to assign to the modified elements. See the remarks below for more information. |
STRING | current_node_select[] | This value is a selection of nodes describing the current element nodes to be modified. |
STRING | new_node_select[] | This value is a selection of nodes describing the new element nodes to which the modified elements will be assigned. |
STRING | element_select[] | This value specifies a selection of elements to be modified. |
INTEGER | modify_options(10) | This value specifies the manner in which the node attributes will be modifies. Each offset in the array of values can be set to 1 to cause the attribute to be modified or to 0 so that the attribute is not modified. See the remarks below for more information. |
Output: | ||
STRING | elements_modified[VIRTUAL] | |
This value returns a description of the modified elements. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
Point | Bar | Tria | |
Quad | Tet | Wed | |
Hex | Any |
Point | Quad9 | Hex21 | |
Bar2 | Quad12 | Hex26 | |
Bar3 | Quad16 | Hex27 | |
Bar4 | Tet4 | Hex32 | |
Tria3 | Tet5 | Hex64 | |
Tria4 | Tet10 | Wedge6 | |
Tria6 | Tet11 | Wedge7 | |
Tria7 | Tet14 | Wedge15 | |
Tria9 | Tet15 | Wedge16 | |
Tria13 | Tet16 | Wedge20 | |
Quad4 | Hex8 | Wedge21 | |
Quad5 | Hex9 | Wedge24 | |
Quad8 | Hex20 | Wedge52 |
Offset | Description | |
1 | Modify the id values of the elements. | |
2 | Modify the topology of the elements. | |
3 | Modify the association of the elements. This option is currently not implemented. | |
4 | Modify the connectivity of the elements. | |
5 | Not used. | |
6 | Not used. | |
7 | Not used. | |
8 | Not used. | |
9 | Not used. | |
10 | Not used. |
fem_modify_mpc_nodal | (mpc_id, constant, num_terms, dependency_flag, coefficient, node_select, degrees_of_freedom) |
Description: | ||
This function will modify a multi-point constraint which is associated to the specified nodes. | ||
Input: | ||
INTEGER | mpc_id | This value specifies the id for the multi-point constraint to be modified. |
REAL | constant | This value specifies the constant term for the multi-point constraint. |
INTEGER | num_terms | This value specifies the number of terms defined for the multi-point constraint. |
LOGICAL | dependency_flag(num_terms) | |
This value specifies the dependency state for each term of the multi-point constraint. The term will be dependent if the value in dependency_flag is set to TRUE and will be independent if the array value is set to FALSE. | ||
REAL | coefficient(num_terms) | |
This value specifies the coefficient used with each term. | ||
STRING | node_select[](num_terms) | |
This value specifies a selection of nodes associated with each term. | ||
STRING | degrees_of_freedom[](num_terms) | |
This value specifies the degrees of freedom for each term. | ||
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
fem_modify_mpc_nodal2 | (mpc_id, constant, num_terms, dependency_flag, coefficient, node_select, degrees_of_freedom) |
Description: | ||
This function will modify a multi-point constraint which is associated to the specified nodes. | ||
Input: | ||
INTEGER | mpc_id | This value specifies the id for the multi-point constraint to be modified. |
REAL | constant | This value specifies the constant term for the multi-point constraint. |
INTEGER | num_terms | This value specifies the number of terms defined for the multi-point constraint. |
LOGICAL | dependency_flag(num_terms) | |
This value specifies the dependency state for each term of the multi-point constraint. The term will be dependent if the value in dependency_flag is set to TRUE and will be independent if the array value is set to FALSE. | ||
STRING | coefficient(num_terms) | |
This value specifies the coefficient used with each term. | ||
STRING | node_select[](num_terms) | |
This value specifies a selection of nodes associated with each term. | ||
STRING | degrees_of_freedom[](num_terms) | |
This value specifies the degrees of freedom for each term. | ||
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
fem_mod_bar_split | (element_select, num_nodes_created, num_elems_created, num_nodes_deleted, num_elems_deleted, nodes_created, elements_created, nodes_deleted, elements_deleted) |
Description: | ||
This function will split a set of bars in two. | ||
Input: | ||
STRING | element_select[] | This value specifies a selection of bars to be split. |
Output: | ||
INTEGER | num_nodes_created | This value returns the number of nodes created. |
INTEGER | num_elems_created | This value returns the number of elements created. |
INTEGER | num_nodes_deleted | This value returns the number of nodes deleted. |
INTEGER | num_elems_deleted | This value returns the number of elements deleted. |
STRING | nodes_created[VIRTUAL] | |
This value returns a description of the created nodes. | ||
STRING | elements_created[VIRTUAL] | |
This value returns a description of the created elements. | ||
STRING | nodes_deleted[VIRTUAL] | |
This value returns a description of the deleted nodes. | ||
STRING | elements_deleted[VIRTUAL] | |
This value returns a description of the deleted elements. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
fem_mod_tria_split | (pattern, auto_manual, element_select, orientation_node, num_nodes_created, num_elems_created, num_nodes_deleted, num_elems_deleted, nodes_created, elements_created, nodes_deleted, elements_deleted) |
Description: | ||
This function will split triangular elements in a specified pattern using a selection of elements and nodes as input. | ||
Input: | ||
STRING | pattern[] | This value specifies the pattern into which the triangular elements will be split. See the remarks below for more information. |
STRING | auto_manual[] | This value specifies, when set to “Manual”, that the number of entities in the input value element_select be counted to determine how many orientation edges will be needed. This value can accept two values “Auto” or “Manual” and the “Manual” setting is active only when the input value pattern is set to either “2_tria” or “Mixed”. |
STRING | element_select[] | This value specifies a selection of triangular elements to be split. |
STRING | orientation_node[] | This value specifies a selection of nodes that are used to specify the orientation of the nodes in the elements to be split. |
Output: | ||
INTEGER | num_nodes_created | This value returns the number of nodes created. |
INTEGER | num_elems_created | This value returns the number of elements created. |
INTEGER | num_nodes_deleted | This value returns the number of nodes deleted. |
INTEGER | num_elems_deleted | This value returns the number of elements deleted. |
STRING | nodes_created[VIRTUAL] | |
This value returns a description of the created nodes. | ||
STRING | elements_created[VIRTUAL] | |
This value returns a description of the created elements. | ||
STRING | nodes_deleted[VIRTUAL] | |
This value returns a description of the deleted nodes. | ||
STRING | elements_deleted[VIRTUAL] | |
This value returns a description of the deleted elements | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
2_tria | Mixed | |
3_tria | 3_quad | |
4_tria |
fem_mod_quad_split | (pattern, auto_manual, element_select, orientation_node, orientation_element, num_nodes_created, num_elems_created, num_nodes_deleted, num_elems_deleted, nodes_created, elements_created, nodes_deleted, elements_deleted) |
Description: | ||
This function will split quadrilateral elements in a specified pattern using a selection of elements and nodes as input. | ||
Input: | ||
STRING | pattern[] | This value specifies the pattern into which the quadrilateral elements will be split. See the remarks below for more information. |
STRING | auto_manual[] | This value specifies, when set to “Manual”, that the number of entities in the input values orientation_node and orientation_element be counted. The number of entities in the input value orientation_node will be counted when the input value pattern is set “2_tria” or “3_quad”. The number of entities in the input value orientation_element will be counted when the input value pattern is set to “2_quad” pr “3_tria”. This value can accept two values, “Auto” or “Manual”. |
STRING | element_select[] | This value specifies a selection of quadrilateral elements to be split. |
STRING | orientation_node[] | This value specifies a selection of nodes that are used to specify the orientation of the nodes in the elements to be split. |
STRING | orientation_element[] | This value specifies a selection of element edges that are used to specify the orientation of the elements to be split. |
Output: | ||
INTEGER | num_nodes_created | This value returns the number of nodes created. |
INTEGER | num_elems_created | This value returns the number of elements created. |
INTEGER | num_nodes_deleted | This value returns the number of nodes deleted. |
INTEGER | num_elems_deleted | This value returns the number of elements deleted. |
STRING | nodes_created[VIRTUAL] | |
This value returns a description of the created nodes. | ||
STRING | elements_created[VIRTUAL] | |
This value returns a description of the created elements. | ||
STRING | nodes_deleted[VIRTUAL] | |
This value returns a description of the deleted nodes. | ||
STRING | elements_deleted[VIRTUAL] | |
This value returns a description of the deleted elements. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
2_quad | 2_tria | |
3_quad | 3_tria | |
4_quad | 4_tria |
improve_mesh_2 | (input_data_qtt, ac_input_data, mesh_is_acceptable, worst_tet_iter_info, elem_qual_val_min_old, elem_qual_val_min_new, elem_improved_qtt, reason_why_not) |
Description: | ||
This function allows users to improve a Tet mesh for Jacobian values. | ||
Input: | ||
INTEGER | input_data_qtt | This value specifies the quantity of input data strings in ac_input_data. |
STRING[]() | ac_input_data | This value specifies the input data items. The format for each data item is : IDENTIFIER=VALUE. For more information on each of these items, see the description below where the string is found and its value passed to a distinct variable. |
Output: | ||
LOGICAL | mesh_is_acceptable | This value will be set to TRUE if the mesh is acceptable; FALSE if otherwise. |
INTEGER | worst_tet_iter_info | This value returns the information on the number of iterations performed. Possible values : Positive (Good) : The quantity of iterations performed before running out of elements which could be fixed. Negative (Bad) : The quantity of iterations performed before an interruption occurred. One may re-submit this function in the later case. |
REAL | elem_qual_val_min_old | Old (before mesh improvements) minimum normalized global element quality found in the mesh. |
REAL | elem_qual_val_min_new | New (after mesh improvements) minimum normalized global element quality found in the mesh. |
INTEGER | elem_improved_qtt | This value returns the quantity of elements which were not acceptable, and which were improved. Note that this may include new elements which were not in the original mesh, as multiple passes are performed on the mesh. |
STRING [VIRTUAL] | reason_why_not | This value indicates the reason why a mesh improvement could not be attempted: Null string: A mesh enhancement was attempted. String length greater than 0: Reason why a mesh enhancement could not be attempted. |
INTEGER | <Return Value> | This function returns a value of 0 if no error occurred. |
Identifier | Typical Value, Description. |
HardNode_LpStr | "Node 1:5". List processor string for hard nodes ( not to be modified ) |
SolidAndElem_LpStr | "Solid 1 Elm 1:#". List processor string for the elements to be considered for a potential improvement. Not only the elements to be improved, but surrounding elements must be supplied as this function will need to modify them. This list of elements may partially fill a geometric entity, or span across geometric boundaries. Elements do not all have to be associated to geometry. When geometric entities are supplied, the associated elements will be considered in addition of those explicitly supplied. |
Dump_FN_FEM_Original | "". File name to dump the p3->Aries original mesh to. Empty string if dump not desired. |
Dump_FN_FEM_Final | "". File name to dump the p3->Aries final mesh to. Empty string if dump not desired. |
CR_Tet_NASTRAN_Verify | "TRUE". TRUE if we wish to consider the "NASTRAN Tet Collapse Ratio" criterion as a possible critical quality criterion. FALSE otherwise. |
CR_Tet_NASTRAN_ValAccept | "0.01". For the "NASTRAN Tet Collapse Ratio" criterion. Value which is acceptable. Worse is not acceptable. |
CR_Tet_NASTRAN_Weight | "1.0". For the "NASTRAN Tet Collapse Ratio" criterion. The value supplied will dictate the weight of this criterionwith respect to the others. |
CR_Tet_NASTRAN_PowerExp | "1.0". For the "NASTRAN Tet Collapse Ratio" criterion. This value is the power exponent to be applied to the normalized calculated value for this criterion. Typical values : 1.0 : Linear variation of the normalized value (-1.0 is the worst normalized value, 0.0 is the acceptance, 1.0 is the best possible normalized value) with the (still) normalized value considered for a weighted ponderation. Above 1.0 : Increases the effect of being far from 0.0. Under 1.0 : Decreases the effect of being far from 0.0. |
DihedralMax_Tet_Verify | "FALSE". TRUE if we wish to consider the "Tet Maximum Dihedral Angle" criterion as a possible critical quality criterion. FALSE otherwise. |
DihedralMax_Tet_ValAccept | "0.0". For the "Tet Maximum Dihedral Angle" criterion. Value which is acceptable. Worse is not acceptable. |
DihedralMax_Tet_Weight | "1.0". For the "Tet Maximum Dihedral Angle" criterion. The value supplied will dictate the weight of this criterionwith respect to the others. |
DihedralMax_Tet_PowerExp | "1.0". For the "Tet Maximum Dihedral Angle" criterion. See CR_Tet_NASTRAN_PowerExp. |
JacobianMinScaled_Verify | "TRUE". TRUE if we wish to consider the "Minimum Element Scaled Jacobian" criterion as a possible critical quality criterion. FALSE otherwise. |
JacobianMinScaled_ValAccept | "1.0E-6". For the "Minimum Element Scaled Jacobian" criterion. Value which is acceptable. Worse is not acceptable. |
JacobianMinScaled_Weight | "1.0". For the "Minimum Element Scaled Jacobian" criterion. The value supplied will dictate the weight of this criterionwith respect to the others. |
JacobianMinScaled_PowerExp | "1.0". For the "Minimum Element Scaled Jacobian" criterion. See CR_Tet_NASTRAN_PowerExp. |
JacobianMinScaled_ElemOrder | "-1". Element shape function polynomial order. 1 : Linear 2 : Quadratic 3 : Cubic 4 : Quartic 5 : Quintic Here is the list of supported polynomial orders for each element shape : Point : Any (only 1 gauss point will be considered). Bar : 1 through 19 Tri : 1 through 5 Quad : 1 through 19 Tet : 1 through 3 Wedge : 1 through 5 Hex : 1 through 19 0..N : Order will be used as specified. -1 (or any value less than 0 ): The elem_order will be set to : 0 : For Point1. 1 : For Bar2, Tri3, Quad4, Tet4, Wedge6, Hex8. 2 : For Bar3, Tri6, Quad8, Tet10, Wedge15, Hex20. 3 : For Bar4, Tri9, Quad12, Tet16, Wedge24, Hex32. Thus providing an accuracy sufficient for the element topology. |
JacobianMinScaled_Para1dGpQttCrit | "1". Criterion for determining the quantity of Gauss-Legendre quadrature integration points along a 1D parametric direction. 0 : This function will establish a sufficient number of Gauss-Legendre quadrature integration points such that the accuracy (or error) of the quadrature will be for a polynomial one degree higher than the element order (p) : p : element polynomial shape function order. O(h^q) : Order of the error of the quadrature (subsequent integration). Thus, to have a precision of the order O(h^p) the error order O(h^q) must be : q >= p+1 1 : Select the number of points based on a simple common usage rule : *p_gauss_point_qtt = elem_order + 1 ; This criterion will have no influence on directions parallel to a triangular face of a Tri/Tet/Wedge element. |
JacobianMinScaled_ConsGpNodeAll | "2". In order to establish the minimum/maximum element scaled Jacobian, consider : 0 : Only the Gauss-Legendre quadrature integration points. 1 : Only the nodal positions. 2 : Both the Gauss-Legendre quadrature integration points and nodal positions. |
ElemQual_CalcMode | "0". This relates to the mode of combination of the individual criterions to form an element global criterion value. 0 : Worst applicable specific criterion normalized value. Use specific criterion ponderation parameters : CR_Tet_NASTRAN_Weight CR_Tet_NASTRAN_PowerExp DihedralMax_Tet_Weight DihedralMax_Tet_PowerExp JacobianMin_Weight JacobianMin_PowerExp for establishing the worst criterion normalized value. But when establishing the global element quality normalized value only the *_PowerExp (not the *_Weight ) is used to keep the range of normalized value to be within -1..1. 1 : Ponderated value of all applicable criterions. Use specific criterion ponderation parameters : CR_Tet_NASTRAN_Weight CR_Tet_NASTRAN_PowerExp DihedralMax_Tet_Weight DihedralMax_Tet_PowerExp JacobianMin_Weight JacobianMin_PowerExp for establishing the worst criterion normalized value as a ponderation of all applicable criterions. |
ElemQual_Point_MultFactor | "1.0". For Point elements. The value supplied is a multiplication factor of an element's overall normalized quality value according to its topology. Values supplied should be : 0 < X <= 1.0 . |
ElemQual_Point_PowerExp | "1.0". For Point elements. This value is the power exponent to be applied to an element's overall normalized quality value according to its topology. Typical values : 1.0 : Linear variation of the normalized value (-1.0 is the worst normalized value, 0.0 is the acceptance, 1.0 is the best possible normalized value) with the (still) normalized value considered for a weighted ponderation. Above 1.0 : Increases the effect of being far from 0.0. Under 1.0 : Decreases the effect of being far from 0.0. |
ElemQual_Bar_MultFactor | "1.0". For Bar elements. See ElemQual_Point_MultFactor. |
ElemQual_Bar_PowerExp | "1.0". For Bar elements. See ElemQual_Point_PowerExp. |
ElemQual_Tri_MultFactor | "1.0". For Tri elements. See ElemQual_Point_MultFactor |
ElemQual_Tri_PowerExp | "1.0". For Tri elements. See ElemQual_Point_PowerExp. |
ElemQual_Quad_MultFactor | "1.0". For Quad elements. See ElemQual_Point_MultFactor |
ElemQual_Quad_PowerExp | "1.0". For Quad elements. See ElemQual_Point_PowerExp. |
ElemQual_Tet_MultFactor | "1.0". For Tet elements. See ElemQual_Point_MultFactor |
ElemQual_Tet_PowerExp | "1.0". For Tet elements. See ElemQual_Point_PowerExp. |
ElemQual_Wedge_MultFactor | "1.0". For Wedge elements. See ElemQual_Point_MultFactor |
ElemQual_Wedge_PowerExp | "1.0". For Wedge elements. See ElemQual_Point_PowerExp. |
ElemQual_Hex_MultFactor | "1.0". For Hex elements. See ElemQual_Point_MultFactor |
ElemQual_Hex_PowerExp | "1.0". For Hex elements. See ElemQual_Point_PowerExp. |
Mesh_BadElemClusterLayerQtt | “-1”. Options: -1 : Consider the whole mesh, not just clusters. 0 : Reduce the supplied elements list to only the bad ones. N : Reduce the supplied elements list to only the bad ones and N layers of element (in supplied list) around them. |
Mesh_AssumePerfectMesh | "1". Options : 1 : (TRUE) if we assume a perfect Aries mesh integrity : No loose references... 0 : (FALSE) otherwise, and all loose reference verifications will be performed at the cost of reducing performance. Setting assume_perfect_mesh=0 for large models (10k or more) can multiply the overall time (establishing mesh data structure + fixing flat Tets) by a factor of 5. |
Mesh_TrackFeEntLife | "0". Options : 1 : (TRUE) if we wish to track finite element entity (node/element) creation and destruction (hence life). 4 files will be created in the current directory where Patran is launched : DebugNodeNew.txt DebugNodeDel.txt DebugElemNew.txt DebugElemDel.txt . Those files will hold references to node/elements by using their memory adress and node coordinates (but no id). Note that node coordinates can change due to projection onto geometric entities. To compare these files, first sort them. This can be a valuable tool for finding memory leaks. 0 : (FALSE) otherwise. No files created. |
Mesh_ConsiderGeometry | "1". Set to 1 (TRUE) if we wish to consider and respect geometric boundaries. New elements will be associated to geometry. 0 (FALSE) otherwise, in which case the new elements will not be associated to geometry. |
Mesh_MeshFillsSameDimGeom | "0". Set to 1 (TRUE) if the mesh fills one or many geometries of the same dimensionality. In this case, there also should be elements in the supplied list without an associated geometry, and the supplied list of elements must fill geometries of the same dimensionality (solids in this case). 0 (FALSE) otherwise. |
Mesh_WorstElemIterMax | "-1". This serves to establish the maximum count of iteration for modifying the mesh for each worst element found: -2 : No limit on iterations. -1 : No preset value. This will be automatically established. 0 : Only evaluate the state of the mesh perform no modification. 0<N : Accomplish N iterations for the worst element found. A status on the mesh will be supplied N+1 times. |
Mesh_GeomOriginForNodeProj | "1". Origin of associated geometry : 0 : If no projection of nodal coordinates should be performed. Otherwise (greater than 0) to specify how the geometry reference was created (p_geom->id) in order to select the proper projection functions. 1 : Created from Patran geometric entities. 2 : Created by the TE (Topology Engine). This is the case for meshes created with the Aries (also known as Hybrid mesher. |
Mesh_EdgeDelMeshSpaceCheck | "1". This only applies for edges on the mesh boundary without an associated geometry of lower order than that of the mesh. Options : 0 : Do not consider mesh space (length/area/volume) variations. 1 : Prevent mesh space reduction due to an edge deletion. 2 : Prevent mesh space increase due to an edge deletion. 3 : Prevent mesh space reduction/increase due to an edge deletion. |
Mesh_ElemToleranceRatio | "0.03". Tolerance ratio value for considering a spatial match as a fraction of the longest edge of the element. |
Mesh_PostMod_LinEdgeInBadJacElem | "0". This is a flag for handling the remaining bad Jacobian elements at the end of the process (after the last improvement iteration cycle). Options : 0 : Do not linearize edges of elements which are unfixable, or elements which are bad after we reached maximum iterations. 1 : Linearize... |
Mesh_ElemMaxImprvAttempts | "-1". Maximum number of attempts allowed for an element before accepting defeat to improve it.. Options : -1 : No limit on attempts. 0<N : Maximum number of attempts allowed. |
Mesh_ElemMaxGenerationLevel | "-1". Maximum number of generations levels (child of...) allowed for an element after which it will no longer be considered for improvement. Original elements have a generation level of 0. Options : -1 : No limit on the number of generation levels. 0<N : Maximum number of generation levels. |
Mesh_AllowLocElemTolRatio | "1". Options : 1 : (TRUE) to allow this function to find another value for Mesh_ElemToleranceRatio for individual element which can not be fixed with the value supplied. This is recommended. 0 : (FALSE) otherwise. |
Mesh_HistSesInfoLevel | "0". This will control the level of information sent to the history window and session file during the improvement processl. The levels are : 0 : No information. 1 : For each iteration or major step, provide a 1 line status. 2 : (same as 1) + Give more details, such as the reason why Tet elements can not be improved. |
Mesh_SaveOnlyMaxDimMesh | "1". Options : 1 : TRUE if we only want to save to Patran database the element of the same dimensionality as the highest element dimensionality in the mesh, and their associated nodes. 0: FALSE otherwise. |
modify_mesh_seed | (curve_list, input_option, num_elem, ratio, length1, length2) |
Description: | ||
This function allows users to modify the mesh seed on a curve from type to another. For example, a one way bias seeded edge can be converted to tabular. Users can modify seed on only one curve at a time. | ||
Input: | ||
STRING | curve_list[VIRTUAL] | This value specifies a list of curves or edges on which mesh seeds need to be modified. |
INTEGER | input_option | This value specifies the input option. Valid values are: 1 = uniform mesh seed with num_elem inputs, 3 = one-way-biased mesh seed with num_elem and ratio inputs, and 5 = two-way-biased mesh seed with num_elem and ratio inputs. |
INTEGER | num_elem | This value specifies the number of elements for the curve. |
REAL | ratio | This value specifies the ratio between the last element and the first. (length2/length1) |
REAL | length1 | This value specifies the length of the first element. |
REAL | length2 | This value specifies the length of the last element. |
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
modify_mesh_seed_tabular | (curve_list, coord_type, num_nodes, node_locs, point_list) |
Description: | ||
This function will delete elements from the database and the graphics window. | ||
Input: | ||
STRING | curve_list[VIRTUAL] | This value specifies a list of curves or edges on which mesh seeds need modified. |
STRING | coord_type[VIRTUAL] | This value specifies the coordinate type. Valid values are: ``Arc Length’’ and``Parametric’’. |
INTEGER | num_nodes | This value specifies the number of nodes in the table. (including 0.0 and 1.0) |
REAL | node_locs(VIRTUAL) | This value specifies the node location values. (should be in [0.0, 1.0]) |
STRING | point_list[VIRTUAL] | This value specifies the list of point locations. |
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
See the Status Messages for information on any error values returned by this function. |
refine_mesh_1 | ( node_lp_str, edge_length_max, consider_geometry, reason_why_not ) |
Description: | ||
This function will split all element edges which are longer than a specified value using the specified node vertices. | ||
Input: | ||
STRING | node_lp_str | This value specifies a list processor string identifying nodes used as element edge vertices. This string is used to identify valid element edges to be considered for splitting. |
REAL | edge_length_max | This value specifies, when positive, the desired maximum edge length. A negative value will be used to specify a fraction and can have a value between 0.0 and 0.1. The absolute value of the negative input will be used to take the fraction of the longest element edge using node vertices amongst the supplied nodes. |
INTEGER | consider_geometry | This value when set to one will specify the consideration of geometry. New nodes will be projected and associated with the appropriate geometry. New elements will be associated to geometry. When this value is set to zero, geometry will be ignored. |
Output: | ||
REAL | edge_length_max | This value will return the maximum edge length used to split element edges. |
STRING | reason_why_not[VIRTUAL] | |
This value will return an empty string if the function completes normally. Otherwise if the function fails this string will specify the reason the operation could not be completed. | ||
INTEGER | <Return Value> | This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error. |
Error Conditions: | ||
This function may return a nonzero value if an error occurs. |
split_2n_edge_for_all_elm | (node_a_id, node_b_id, param_pos, consider_geometry, reason_why_not) |
Description: | ||
This function will split an element edge for all Tet/Tri/Bar elements using it. | ||
Input: | ||
INTEGER | node_a_id | This value specifies the Patran first edge vertex node id. |
INTEGER | node_b_id | This value specifies the Patran second edge vertex node id. |
REAL | param_pos | This value specifies the parametric position for split. Values range from 0.0 (1st node) to 1.0 (2nd node). |
INTEGER | consider_geometry | This value specifies the options : 1 (TRUE) if you wish to consider geometry; 0 (FALSE) otherwise. |
STRING [VIRTUAL] | reason_why_not | This value specifies the virtual string containing : "" for this string if the edge was split. Otherwise (string length greater than 0), this string holds the reason why it could not be split. |
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 if no error occurred. |
split_3n_face_for_all_elm | (node_a_id, node_b_id, node_c_id, a_area_coors, consider_geometry, reason_why_not) |
Description: | ||
This function will split an element triangular face for all Tet/Tri elements using it. | ||
Input: | ||
INTEGER | node_a_id | This value specifies the Patran first triangular face vertex node id. |
INTEGER | node_b_id | This value specifies the Patran second triangular face vertex node id. |
INTEGER | node_c_id | This value specifies the Patran third triangular face vertex node id. |
REAL | a_area_coors | This value specifies the area coordinate parametric position. Values range from 0.0 to 1.0. The sum of the 3 is equal to 1. The coordinates are normally called L1/L2/L3, where each value is equal to the smaller triangle area formed by the mid point and the triangle edge opposite of the corner, divided by the area of the whole triangle. |
INTEGER | consider_geometry | This value specifies the options : 1 (TRUE) if we wish to consider geometry; 0 (FALSE) otherwise. |
STRING [VIRTUAL] | reason_why_not | This value specifies the virtual string containing : "" for this string if the edge was split. Otherwise (string length greater than 0) this string holds the reason why we could not split it. |
Output: | ||
INTEGER | <Return Value> | This function returns a value of 0 if no error occurred. |
str_from_real_signif_digit | (value_real, significant_digit_qtt, digits_before_decimal_qtt_max, leading_0_after_decimal_qtt_max, accept_non_0_int_simplification, c_value_real) |
Description: | ||
This function will split an element edge for all Tet/Tri/Bar elements using it. | ||
Input: | ||
REAL | value_real | This value specifies the numerical value. |
INTEGER | significant_digit_qtt | This value specifies the quantity of significant digits (must be equal or greater to 1). 4 is typical. |
INTEGER | digits_before_decimal_qtt_max | |
This value specifies the maximum number of digits before the decimal point. 5 is typical. | ||
INTEGER | leading_0_after_decimal_qtt_max | |
This value specifies the maximum number of "0" after the decimal point before the 1st significant digit. 3 is typical | ||
INTEGER | accept_non_0_int_simplification | |
This value specifies the options (0 is typical) : 1 (TRUE) Case where we wish to consider an integer notation for non-zero values that could be expressed in a floating point notation. This simplification will only occur if the value is exactly equal to its rounded integer value. Note : Be aware that this kind of output may easily vary according to the precision of the numerical value. 0 (FALSE) otherwise. This is recommended for the stability of the output string values. | ||
Output: | ||
STRING [64 ] | c_value_real | This value returns the string of characters representing the numerical value. |
INTEGER | <Return Value> | This function returns a value of 0 if no error occurred. |