**submodel#

Description#

Assume that the current computation is running on a part of a bigger problem already solved. We call submodel the current part and Master the bigger problem. This boundary condition imposes degrees of freedom located at boundary nodes in a submodel to values computed from the Master. The submodel boundary nodes have not to match with Master’s one, this BC is able to locate them in the Master mesh and interpolate their values from Master’s dofs. The condition is general and therefore applies to all types of DOFs for all types of problem.

Syntax#

The syntax of submodel is:

**submodel [ *format format ] \(~\,\) *global_problem Master_name \(~\,\) *dofs dof_1_name  dof_2_name  …  dof_n_name \(~\,\) *driven_nsets nset_1_name [ … nset_N_name ] [ *elset_by_elset elset_1_name [ … elset_N_name] ] [ *remap_time <TABLE> ] [ *transfer_type trans_type ]

format

This is the results format of the Master computation. If *format is omitted, the default Z7 format is assumed.

Master_name

The name of the Master computation.

dof_i_name

The name of the DOF to be imposed. This must be one of the defined DOF types given by the Master and submodel problems. DOF names are also listed in the problem.ut reference file.

nset_i_name

This is the name of a valid node set (nset) which gives all the submodel nodes where the DOFs are to be imposed.

elset_i_name

is a valid element set name for which the tranfer is restricted.

trans_type

is used to specify the transfer mapping method. By default, a direct space mapping is applied (e.g. 2D to 2D, 3D to 3D, and axisymmetric to axisymmetric mapping). One can use 2d_3d for extruded geometry and axi_2d/axi_3d for axisymmetric to 2D/3D mapping.

*remap_time

this option allows to interpolate the values of DOFs between time increments when Master and submodel have different time discretization.

Examples#

This example can be seen in test database, we use the displacement U1, U2 on a simple square to drive a submodel with a hole.

../../_images/submodel.png
***bc
  **submodel
    *format Z7
    *global_problem master
    *dofs U1 U2
    *driven_nsets external

The following example can be found in $Z7PATH/TESTS/Static_test/INP/arm3.inp:

***bc
 **submodel
  *format Z7
  *global_problem arm2-old
  *dofs U1 U2
  *driven_nsets ALL_NODE
  *remap_time cycle 0.0 1010.0
  *time  0.0 1.0 2.00 3.0 4.0
  *value 16.0 17.0 18.00 19.0 20.0

The values transferred from the global problem at each time between 0 and 1010, where each cycle lasts time=4, will be multiplied by the values specified after *value.