CNCHECK
CNCHECK,
Option
, RID1
,
RID2
, RINC
,
InterType
, TRlevel
,
Val1
, Val2
,
Val3
Provides and/or adjusts the initial status of contact pairs.
Option
Option to be performed:
DETAIL
—
List all contact pair properties (default).
SUMMARY
—
List only the open/closed status for each contact pair.
POST
—
Execute a partial solution to write the initial contact configuration to the jobname.rcn file.
ADJUST
—
Physically move contact nodes to the target in order to close a gap or reduce penetration. The initial adjustment is converted to structural displacement values (UX, UY, UZ) and stored in the jobname.rcn file.
MORPH
—
Physically move contact nodes to the target in order to close a gap or reduce penetration, and also morph the underlying solid mesh. The initial adjustment of contact nodes and repositioning of solid element nodes due to mesh morphing are converted to structural displacement values (UX, UY, UZ) and stored in the jobname.rcn file.
TADJUST
—
Physically move target body to the contact surface in order to close a gap or reduce penetration. The initial adjustment is converted to structural displacement values (UX, UY, UZ) and stored in the jobname.rcn file.
RESET
—
Reset target element and contact element key options and real constants to their default values. This option is not valid for general contact.
AUTO
—
Automatically sets certain real constants and key options to recommended values or settings in order to achieve better convergence based on overall contact pair behaviors. This option is not valid for general contact.
TRIM
—
Trim contact pair (remove certain contact and target elements).
OVER
—
When a rigid beam or a weld joint connects to a rigid surface constraint or a rigid body, automatically convert the rigid beam elements (MPC184) to rigid target or contact elements.
In addition, if
Val1
= 1 is set, when a Lagrange-multiplier-based joint element connects a rigid surface constraint or a rigid body, also switch to the penalty method (KEYOPT(2) = 1 of MPC184).UNSE
—
Unselect certain contact and target elements.
SPLIT
—
Split base (original) contact pairs into smaller sub-pairs at the preprocessing (/PREP7) level. The main intent of this option is to achieve better scalability in a distributed-memory parallel (DMP) run. The splitting operation may create additional overlapping contact elements at the split boundaries. Contact pairs can only be split once. Repeated use of this option results in no further splitting for those contact pairs already split.
DMP
—
This option is similar to the SPLIT, but it is more automatic and contact pair-splitting is done at the solution level (SOLVE) of the first load step, not at the preprocessing level. This option is activated only in a distributed-memory parallel (DMP) run. For this option,
TRlevel
,InterType
, andVal1
are valid. All other arguments are ignored.MERGE
—
Merge all contact sub-pairs that were previously split (by prior
Option
= SPLIT or DMP operations) back to their original pairs. Any contact and target elements deleted due to the trim logic of the splitting operation cannot be recovered by the MERGE operation. All other arguments are ignored.RID1
,RID2
,RINC
The meanings of
RID1
,RID2
, andRINC
vary depending on the contact type or theOption
specified, as described below.RID1
accepts tabular input for someOption
values.RID1
,RID2
,RINC
are ignored whenOption
= DMP.Pair-Based Contact — For pair-based contact, the range of real constant pair IDs for which
Option
will be performed. IfRID2
is not specified, it defaults toRID1
. If no value is specified, all contact pairs in the selected set of elements are considered.General Contact — For general contact (
InterType
= GCN),RID1
andRID2
are section IDs associated with general contact surfaces instead of real constant IDs. IfRINC
= 0, theOption
is performed between the two sections,RID1
andRID2
. IfRINC >
0, theOption
is performed among all specified sections (RID1
toRID2
with increment ofRINC
).Contact Splitting — For contact splitting at the preprocessing level (
Option
= SPLIT only),RID1
,RID2
, andRINC
are used as follows:If
RID1
,RID2
, andRINC
are non-zero and positive, split the contact pairs from real constant pair ID numberRID1
toRID2
in increments ofRINC
. In this case, ifTRlevel
is non-zero, it will only be applied to these specified pairs.If
RID1
is zero or blank,TRlevel
will take affect for all contact pairs in the model from largest to smallest.If
RID1
,RID2
,RINC
, andTRlevel
are not defined, the program automatically determines the number of sub-pairs for splitting each contact pair.
Tabular Input for
RID1
—RID1
accepts tabular input in the form of a 2D array whenOption
= ADJUST, MORPH or TADJUST. In this case,RID2
,RINC
,Val1
,Val2
, andVal3
are ignored. For more information, see Physically Moving Contact Nodes Toward the Target Surface in the Contact Technology Guide.InterType
The type of contact interface (pair-based versus general contact) to be considered; or the type of contact pair to be trimmed, unselected, or auto-set.
The following labels specify the type of contact interface:
(blank)
—
Include all contact definitions (pair-based and general contact).
GCN
—
Include general contact definitions only (not valid when
Option
= RESET or AUTO).The following labels specify the type of contact pairs to be trimmed/unselected/auto-set (used only when
Option
= TRIM, UNSE, or AUTO, and only for pair-based contact definitions):ANY
—
All types (default).
MPC
—
MPC-based contact pairs (KEYOPT(2) = 2).
BOND
—
Bonded contact pairs (KEYOPT(12) = 3, 5, 6).
NOSP
—
No separation contact pairs (KEYOPT(12) = 2, 4).
SMAL
—
Small sliding contact pairs (KEYOPT(18) = 1).
SELF
—
Self contact pairs (target surface completely overlaps contact surface).
INAC
—
Inactive contact pairs (symmetric contact pairs for MPC contact or KEYOPT(8) = 2).
The following labels specify the type of contact pairs to be split, and are used only when
Option
= DMP or SPLIT, and only for pair-based contact definitions:(blank)
—
All types.
MPC
—
MPC-based contact pairs (KEYOPT(2) = 2).
BOND
—
Bonded contact pairs (KEYOPT(12) = 3, 5, 6).
NOSP
—
No separation contact pairs (KEYOPT(12) = 2, 4).
SMAL
—
Small sliding contact pairs (KEYOPT(18) = 1).
TRlevel
This argument is either the trimming level for trimming contact pairs, or the number of sub-pairs for contact splitting or executing a partial solution.
Trimming level (used only when
Option
= TRIM, UNSE, or MORPH):(blank)
—
Normal trimming (default): remove/unselect contact and target elements which are in far-field.
AGGRE
—
Aggressive trimming: remove/unselect contact and target elements which are in far-field, and certain elements in near-field.
Number of sub-pairs used for contact splitting (used only when
Option
= SPLIT or DMP):(blank)
—
The program automatically chooses the number of sub-pairs for splitting in order to achieve better scalability in a DMP run.
N
—
Input a non-zero positive number to indicate the maximum number of sub-pairs for splitting the largest contact pair in the model. All other smaller contact pairs will be split following this number proportionally. The number you input may not always be honored. Splitting may result in a fewer number of sub-pairs basing on many factors.
Effect of initial interface treatment used for or executing a partial solution (when
Option
= POST):(blank)
—
The program follows settings of KEYOPT(9) of contact element type for every contact pair to report numerical penetration/gap.
1
—
The program ignores settings of KEYOPT(9) of contact element type for every contact pair to report geometrical penetration/gap.
The remaining arguments, Val1
,
Val2
, and Val3
, are parameters that
control initial contact adjustment. They are only valid when
Option
= ADJUST, MORPH, TADJUST, OVER, DMP, or SPLIT. The meaning of these arguments varies depending on the
Option
setting.
When Option
= ADJUST or MORPH,
Val1
, Val2
, and
Val3
are CGAP
,
CPEN
, and IOFF
, respectively:
CGAP
Control parameter for opening gap; must be greater than zero. Close the opening gap if the value of the gap is smaller than the
CGAP
value.CGAP
defaults to 0.25*PINB (where PINB is the pinball radius) for bonded and no-separation contact. Otherwise, it defaults to the value of real constant ICONT.CPEN
Control parameter for initial penetration.
CPEN
must be greater than zero. Close the initial penetration if the value of the penetration is smaller than theCPEN
value.CPEN
defaults to 0.25*PINB (where PINB is the pinball radius) for any type of interface behavior (either bonded or standard contact).IOFF
Control parameter for initial adjustment. Input a positive value to adjust the contact nodes towards the target surface with a constant interference distance equal to
IOFF
. Input a negative value to adjust the contact node away from the target surface with a uniform gap distance equal to the absolute value ofIOFF
.
When Option
= TADJUST, Val1
and
Val2
are PMAX
and
PMIN
, respectively (Val3
is not
used):
| — | Upper limit of initial allowable penetration. |
| — | Lower limit of initial allowable penetration. |
When Option
= SPLIT or DMP,
Val1
is the label that specifies the type of contact pairs to be
trimmed (only for pair-based contact definitions):
| — | The program automatically deletes inactive contact pairs defined by auto-asymmetric
selection (KEYOPT(8) = 2). If |
| — | The program automatically deletes inactive contact pairs defined by auto-asymmetric selection (KEYOPT(8) = 2), and also trims all split contact pairs. |
When Option
= TRIM or DMP,
Val1
is the label that specifies the "global" pinball value used by
contact pairs to be trimmed. When Option
= DMP, "TRIM"
needs to be set at Val1
to activate this feature. The global
pinball value must be positive.
Notes
The CNCHECK command provides information for surface-to-surface,
node-to-surface, and line-to-line contact pairs (element types
TARGE169, TARGE170,
CONTA172, CONTA174,
CONTA175, CONTA177). All contact and
target elements of interest, along with the solid elements and nodes attached to them, must be
selected for the command to function properly. For performance reasons, the program uses a subset
of nodes and elements based on the specified contact regions (RID1
,
RID2
, RINC
) when executing the
CNCHECK command.
CNCHECK is available in both the PREP7 and SOLUTION processors, but only before the first solve operation (that is, only before the first load step or the first substep).
If the contact and target elements were generated through mesh commands (AMESH, LMESH, etc.) instead of the ESURF command, you must issue MODMSH,DETACH before CNCHECK. Otherwise, CNCHECK will not work correctly.
The following additional notes are available:
Option
= POST
The command CNCHECK,POST solves the initial contact configuration in one substep. After issuing this command, you can postprocess the contact result items as you would for any other converged load step. However, only the contact status, contact penetration or gap, and contact pressure will have meaningful values. Other contact quantities (friction stress, sliding distance, chattering) will be available but are not useful.
Initial contact results obtained and listed from CNCHECK,DETAIL, CNCHECK,POST, and the actual solution may not be always consistent with each other. The discrepancy is mainly due to applied boundary conditions and solution options. Contact results from CNCHECK,POST are, in general, closer to what the solution will provide than those from CNCHECK,DETAIL.
To inspect the real geometric penetration and gap, specify
TRLEVEL
=1. The program will set KEYOPT(9) = 0 internally during
the execution of CNCHECK,POST.
Because Option
= POST forces a solve
operation, the PrepPost (PP) license does not work with CNCHECK,POST.
If CNCHECK,POST is issued within the solution processor, the SOLVE command that solves the first load step of your analysis should appear in a different step, as shown in the following example:
/SOLU CNCHECK,POST FINISH . . . /SOLU SOLVE FINISH . . .
CNCHECK,POST writes initial contact results to a file named jobname.rcn. The command should be issued before defining analysis type, solution options, and boundary conditions. If the command is issued later, a segmentation violation error may occur. When postprocessing the initial contact state, you need to explicitly read results from this file using the FILE and SET,FIRST commands in POST1 to properly read the corresponding contact data. Otherwise, the results may be read improperly. The following example shows a valid command sequence for plotting the initial contact gap:
/SOLU CNCHECK,POST FINISH /POST1 FILE,Jobname,RCN SET,FIRST PLNSOL,CONT,GAP,0,1 FINISH . . .
Option
= ADJUST or MORPH
You can issue CNCHECK,ADJUST to physically move contact nodes to the target surface. Alternatively, you can issue CNCHECK,MORPH to physically move contact nodes to the target surface and then morph the underlying mesh to improve the mesh quality. See Physically Moving Contact Nodes Toward the Target Surface in the Contact Technology Guide for more information. Similar to the POST option, if CNCHECK,ADJUST or CNCHECK,MORPH is issued within the solution processor, the SOLVE command that solves the first load step of your analysis should appear in a different step:
/SOLU CNCHECK,ADJUST FINISH . . . /SOLU SOLVE FINISH . . .
After issuing the CNCHECK,ADJUST command, the initial adjustment is converted to structural displacement values (UX, UY, UZ) and stored in a file named jobname.rcn. Similarly, the CNCHECK,MORPH command converts the initial adjustment of contact nodes as well as the morphing adjustment of solid element nodes to structural displacement values (UX, UY, UZ) and stores them in the jobname.rcn file. You can use this file to plot or list nodal adjustment vectors or create a contour plot of the adjustment magnitudes via the displacements. When postprocessing the nodal adjustment values, you need to explicitly read results from this file using the FILE and SET,FIRST commands in POST1 to properly read the corresponding contact data. Otherwise, the results may be read improperly.
Option
= TADJUST
You can issue CNCHECK,TADJUST to physically move the target body to the
contact surface. This command tries to establish initial contact with penetration in a range
specified by PMAX
and PMIN
. Similar to the
ADJUST and MORPH options, the initial adjustment is converted to structural displacement values
(UX, UY, UZ) and stored in the jobname.rcn file. This option accepts
tabular input in the RID1
field.
You can specify either a positive or negative value for PMIN
and
PMAX
. The program interprets a positive value as a scaling
factor and interprets a negative value as the absolute value.
For more information, see Physically Moving the Target Body Toward the Contact Surface in the Contact Technology Guide.
Option
= RESET
The command CNCHECK,RESET allows you to reset
all but a few key options and real constants associated with the specified
contact pairs (RID1
, RID2
, RINC
) to their default values. This
option is only valid for pair-based contact definitions.
The following key options and real constants remain unchanged when this command is issued:
Option
= AUTO
The command CNCHECK,AUTO automatically changes certain default or undefined key options and real constants to optimized settings or values. The changes are based on overall contact pair behaviors. In general, this command improves convergence for nonlinear contact analysis. This option is only valid for pair-based contact definitions.
The tables below list typical KEYOPT and real constant settings implemented by CNCHECK,AUTO. The actual settings implemented for your specific model may vary from what is described here. You should always verify the modified settings by issuing CNCHECK,DETAIL to list current contact pair properties.
KEYOPT | Description | Default (0 or blank) | CNCHECK,AUTO | |||
1 | Selects DOF set | Structural DOFs | Automatic selection based on DOFs of underlying elements. | |||
2 | Contact algorithm | Augmented Lagrange | 1- Penalty for rigid-rigid contact [1]. | |||
4 | Location of contact detection point | Gauss point | 2 - Normal to target surface if KEYOPT(2) > 1. | |||
5 | CNOF/ICONT adjustment | No adjustment | 1 - Auto CNOF if tiny gap exists. | |||
6 | Contact stiffness variation | Use default range | ||||
7 | Element level time increment control | No control |
| |||
8 | Assymetric contact selection | No action | 2 - Auto selection if KEYOPT(2) > 1. | |||
9 | Effect of initial penetration or gap | Include all | 1 - Exclude if KEYOPT(5) = 1, or if ICONT was previously specified. | |||
10 | Contact stiffness update | Between load steps | 0 - Between iterations except when underlying elements are superelements. [2] |
Real Constants | Description | Default | CNCHECK,AUTO | |
No. | Name | |||
3 | FKN | Normal penalty stiffness factor | 1 | Set to 5 if KEYOPT(9) = 2 (ramp initial penetration) and KEYOPT(10) > 0. |
6 | PINB | Pinball region | see [1] | Cut in half if spurious contact is detected or contact searching is slow. |
14 | TCC | Thermal contact conductance | 0 | Calculated as a function of highest conductivity of underlying element and overall model size. |
19 | ECC | Electric contact conductance | 0 | Calculated as a function of highest permitivity or lowest resistivity of underlying element and overall model size. |
26 | MCC | Magnetic contact permeance | 0 | Calculated as a function of highest emissivity of underlying element and overall model size. |
37 | PCC | Pore fluid contact permeability coefficient | 0 | Calculated as a function of highest permitivity of underlying element and overall model size. |
PINB default depends on contact behavior (rigid vs. flexible target), NLGEOM,ON or OFF, KEYOPT(9) setting, KEYOPT(12) setting, and the value of real constant CNOF (see Defining the Pinball Region (PINB)).
CNCHECK,AUTO also sets PRED,OFF for the case of a force-distributed constraint defined via MPC contact.
Removing or Unselecting Contact and Target Elements (Option
= TRIM/UNSEL)
You can issue CNCHECK,TRIM or CNCHECK,UNSEL to remove or unselect contact and target elements which are
in far-field (that is, open and not near contact), or even in near-field
if aggressive trimming logic is used (TRlevel
= AGGRE).
Option
= SPLIT, DMP, or MERGE
The SPLIT, DMP, and MERGE options are intended for use in a distributed-memory parallel (DMP) run. Use the command CNCHECK,SPLIT or CNCHECK,DMP to split large contact pairs into smaller sub-pairs so that the smaller contact pairs can be distributed into different cores, thereby improving performance. This functionality is not the same as manually splitting contact pairs during the modeling process. The program splitting logic performs the necessary exchange of data on the boundaries between the split contact pairs to ensure that the results with and without splitting are essentially identical. CNCHECK,DMP also performs trimming for bonded, small-sliding, and removing inactive pairs from auto-asymmetric contact definition before splitting to improve load balance ratio of DMP runs.
The command CNCHECK,MERGE can be used to merge the sub-pairs together again, which is useful for postprocessing the contact results based on the original contact pair geometry. However, caution must be taken when a downstream analysis is performed since the MERGE operation may alter the database.
For more information, see Solving Large Contact Models in a Distributed-Memory Parallel Environment in the Contact Technology Guide.