Several capabilities in Abaqus and other SIMULIA products use the field mapper to provide spatial mapping of fields between domains
having different mesh topologies.
The field mapper:
provides mapping between point, surface, and volume domains;
provides point-cloud mapping to surface and volume domains;
uses various search and mapping algorithms;
supports scalar, vector, tensor, and quaternion fields; and
allows evaluation of fields at nodes, at surface facet centers, and on element
centers or integration points.
This section provides an overview of the field mapper with a focus on Abaqus capabilities. The various capabilities in Abaqus might use only a subset of the field mapper functionality. For further information
about restrictions, consult the section describing the specific Abaqus capability.
The SIMULIA Co-Simulation Engine (CSE) also uses the field mapper, where the CSE configuration file specifies the
mapper settings. This section does not address the CSE configuration file settings;
however, the mapping algorithm discussion applies to the SIMULIA Co-Simulation Engine.
A field is a physics quantity that spans a numerical domain. The numerical domain can
be a set of discrete points associated with a body, a surface on a body, or the
volume of a body. In Abaqus discrete points are represented by a node set, a surface domain is represented by
a surface definition, and a volume domain is represented by an element set. The
field mapper maps fields between domains with dissimilar mesh topologies.
The field mapper supports mapping between similar domain types (point-to-point,
surface-to-surface, and volume-to-volume) and mapping between points-to-surfaces and
points-to-volume. Mapping involving points limits the mapping algorithms that you
can use because no underlying region topology exists and insufficient information is
available to accurately interpolate and integrate the fields.
A field is categorized as either extensive or intensive based on the physics
properties. For extensive fields, the amount of matter within the body determines
the field values. Typically, these are integrated values over the surface or volume
of the body. Examples of extensive fields include forces, heat fluxes, and masses,
which define a total quantity. For intensive fields, the amount of matter within the
body does not influence the field values. Examples of intensive fields include
pressure, surface heat flux density, and mass density, which are quantities defined
per unit area or volume. Displacement, velocity, and temperature are also examples
of intensive fields because these fields do not depend on the amount of matter
within the body. The field mapper provides conservative integration techniques for
mapping intensive to extensive fields; for example, mapping of a traction field to
nodal forces.
Fields can be evaluated at nodes, at the center of surface facets, or at the center
or integration points of elements. It is best to evaluate fields where they are
computed by the solver because they are most accurate at those locations. For
example, stresses in a finite element analysis are most accurate at the integration
points where they are computed, while stresses can also exist at nodes for output
purposes. However, the stresses at the nodes are extrapolated quantities, and they
might subsequently be averaged between adjacent elements before writing output to a
results file. For co-simulation, Abaqus always selects the appropriate location to evaluate fields. In a sequential
analysis, you must ensure that fields are written at the appropriate locations to
the results file in the previous analysis.
Domain Coupling for Multiphysics and Multiscale Simulations
When coupling physics to solve a multiphysics or multiscale simulation, you must
consider whether the numerical domains overlap or abut to define the domain coupling
type. Domain coupling types include point coupling, surface coupling, and volume
coupling.
Point coupling is coupling that occurs at discrete locations associated with
a body. An example of point coupling is coupling Abaqus with a one-dimensional (1D) reduced-order model. In this case, the points
of the 1D model must correspond with the co-located nodes in the Abaqus model.
Surface coupling involves distinct domains where fields are exchanged and
mapped across a common interface. An example of surface coupling is a
fluid-structure simulation, where the fluid and solid domains are distinct,
and fields are exchanged and mapped across the interface surface where the
fluid and solid adjoin.
Volume coupling involves domains that overlap and fields that are exchanged
and mapped over the volume of a body. An example of volume coupling is a
sequential thermal-stress simulation; the temperature field within the body
causes thermal expansion, and the thermal and stress domains overlap.
Select the domain coupling type (point, surface, or volume) independent of where the
field is evaluated. For example, in a sequential thermal-stress analysis, you should
define the volume of the body by providing an element set, although temperature is
evaluated at nodes. By specifying a volume, the mapper uses the topology information
to provide accurate mapping. If you select points to represent the domain, the
mapper uses a less accurate point-cloud algorithm.
Mapping Operations
Mapping operations consist of two parts:
a search where an association is made between members (nodes, elements, or
integration points) of the source and target meshes; and
a calculation where field values are transferred from the source to the
target meshes using interpolation and integration algorithms.
The search algorithm establishes a one-to-one association between members of the
source and target meshes. How such an association is formed and whether members of
interest are searched on the source or target mesh depends on the mapping algorithm
(see Mapping Algorithms).
When coupling surface domains, the surface normal is used to distinguish which faces
(SPOS or SNEG) are abutting. The search is performed such that the surface normals
of the source and target regions are facing each other.
For discussion purposes, a mapping category defines a set of similar mapping
operations performed when mapping a field from the source mesh to the target mesh.
The field's physics properties (intensive or extensive) and the location at which it
is evaluated define the category (see Table 1). Within a mapping category, there might be one or more
algorithms from which you can select.
Table 1. Mapping categories.
Category
Source Field
Target Field
Nodal
Integration Point
Nodal
Integration Point
Intensive
Extensive
Intensive
Intensive
Extensive
Intensive
1
2
3
4
Mapping Algorithms
Four mapping algorithm categories are described below. To simplify the discussion,
the term "element" represents an element for a volume domain and a surface facet for
a surface domain.
Category 1: Interpolation Based on the Source Element's Shape Function
Mapping category 1 is applicable when mapping intensive nodal fields from the
source mesh to either intensive nodal or integration-point fields on the target
mesh. Examples include mapping nodal displacements or mapping velocity from a
structural solver (computed at nodes) to velocity of a CFD solver (typically
computed at the fluid cell center) between source and target meshes.
If the source mesh is element based, the target node or integration point is
projected onto the source mesh, and the search algorithm finds the closest
source element and the location within the source element where the target point
is projected. The target field is then interpolated using the source element's
shape function. If the source mesh is discrete, a similar algorithm is employed
using a point-cloud search algorithm. The point-cloud search algorithm find the
closest source nodes and forms a virtual element to interpolate the field
values.
Category 2: Interpolation Based on the Target Element's Shape Function
Mapping category 2 is applicable when mapping extensive nodal fields to extensive
fields; for example, mapping nodal forces between source and target meshes.
If the source mesh is element based, the source node is projected onto the target
mesh, and the search algorithm finds the closest target element and the location
within the target element where the source node is projected. The source field
is then distributed using the target element's shape function. If the target
mesh is discrete, a similar algorithm is employed using a point-cloud search
algorithm. The point-cloud search algorithm finds the closest target nodes and
forms a virtual element to distribute the field values. In this case, the total
quantity is conserved across the interface; however, the distribution might be
less accurate.
Category 3: Extrapolation Followed by Interpolation on the Source Element
Mapping category 3 is applicable when mapping intensive integration-point fields
to either intensive nodal or integration-point fields on the target mesh. An
example is mapping stresses between source and target meshes.
The source mesh must be element based. The field is first extrapolated to each
element's nodes on the source mesh. Following the extrapolation, the elemental
stress values are retained and averaging is done among neighboring elements. The
target node or integration point is projected onto the source mesh, and the
search algorithm finds the closest source element and the location within the
source element where the target point is projected. The target field is then
interpolated using the source element's shape function.
Category 4: Integration of Intensive to Extensive Fields
Mapping category 4 uses integration methods and is applicable when mapping
intensive integration-point fields to extensive nodal fields. Two algorithms are
available: the subelement algorithm and the global conservative algorithm.
Subelement Algorithm
The subelement algorithm provides conservative mapping with a smooth
distribution. It requires that the target mesh is element based. Each target
element is divided into subelements. For each subelement, this algorithm
locates the source field values according to the procedure described in
Category 1: Interpolation Based on the Source Element's Shape Function and sums the values over all the subelements.
The number of subelements is determined automatically to provide accurate
results.
Global Conservative Algorithm
The global conservative algorithm provides conservative results over the
entire region. It requires that the target mesh is element based. This
algorithm is computationally less expensive than the subelements algorithm;
however, the mapped field might show an uneven distribution in some cases.
The global conservative algorithm makes the source field extensive by
integrating the field over the source elements and then, for every source
node, computing field values according to the procedure described in Category 2: Interpolation Based on the Target Element's Shape Function.
Modifying the Search Position Tolerance Distance
Because the source and target meshes need not be coincident, the search algorithm
must determine whether or not to map a member of the target mesh. The distance used
to make that determination is referred to as the search position tolerance distance.
The default position tolerance is 50% of the average element diagonal length in the
domain. In certain circumstances, you might want to modify the search position
tolerance distances; for example, if your model has complex geometry or if the mesh
topology in one dimension is significantly different in other dimensions.
You can specify four position tolerances.
Define a search position tolerance distance in the positive surface normal
direction for surface domains; only points within the position tolerance
normal to the surface are considered.
Define a search position tolerance distance in the negative surface normal
direction for surface domains or a search radius for the point-cloud
algorithm for point domains.
Define a position tolerance for how far a point can be located outside an
element for volume coupling or outside a surface facet in the plane of the
surface for surface coupling.
Define a search tolerance radius for the unmapped members treatment (see
Nearest Neighbor Method).
You can provide the position tolerance distance as an absolute distance or a relative
distance based on the characteristic region dimension. Absolute tolerances might be
more appropriate if the mesh discretization varies significantly, such that the
characteristic dimension is a poor representation in certain parts of the mesh.
Selecting the Base Configuration
Typically, the search is based on the original nodal coordinates of the source mesh.
You might want to use the deformed configuration of the source mesh; for example, in
a case where the model is remeshed in the subsequent analysis using the deformed
shape of the first analysis.
Unmapped Members Treatment
If the search fails to make an association, the field mapper reports unmapped
members. For most Abaqus features, the simulation ends, and the unmapped members are reported. Common
causes of such failures include:
The source and target domains use different unit systems.
The source and target regions are not co-located.
The target domain is larger than the source domain, requiring
extrapolation.
The search tolerance distances are inadequate for complex geometry or poor
mesh topology.
You can try to correct the mesh or adjust the search tolerance distances. If these
attempts fail, you can specify how the field mapper treats the unmapped members.
Treatment is intended for circumstances where you have only a few unmapped members.
You should interpret results carefully in the vicinity of the unmapped members.
There are two treatment methods available: the nearest neighbor method and the
constant value method.
Nearest Neighbor Method
The field mapper can approximate values by assigning a value from a neighboring
node or element. The search for candidate neighbors is limited by the nearest
neighbor radius tolerance (see Modifying the Search Position Tolerance Distance).
Constant Value Method
Alternatively, you can specify a constant value to assign to unmapped members.
For example, when transmitting a heat flux across a surface, you can assign a
zero heat flux at an unmapped member. In such a case, the total heat flux is
still conserved across the entire interface, but, locally, a zero heat flux is
used for the unmapped member.
Specifying Tensor Averaging
When mapping tensor quantities, you can specify how to use the averaging technique.
You can average the tensor component-by-component, using a technique that preserves
the eigenvalues of the tensor, or using a technique that preserves the von Mises
invariant.