# RM Card

The RM card provides a sophisticated remeshing and adaptive mesh refinement facility. Most types of meshes (surface mesh with triangular patches, wire segment mesh, cuboidal volume elements) created by any option supported in Feko (for example, direct creation in PREFEKO with cards, but also import from NASTRAN, FEMAP, PATRAN and the rest) can be used as a basis, and one can then apply either a local or a global mesh refinement. Unfortunately in Feko Suite 5.4 there is still a restriction that tetrahedral volume elements as used for the FEM cannot be refined with the RM card.

On the Construct tab, in the Modify group, click the  Refine mesh (RM) icon.

A local mesh refinement refers to a point or a line as reference, or also to a complex cable harness geometry, which is defined directly by importing the corresponding .rsd file from CableMod or CRIPTE.

Note that similar to other Feko cards, the RM card applies only to what follows in the .pre file after the line where the RM card has been read. So for instance if one wants to import a mesh from a NASTRAN file via the IN card and do a mesh refinement during the import, then one first has to use the RM card, then followed by the IN card.

Multiple RM cards can be used, for instance if there are multiple areas in a model where the mesh shall be refined locally. Or also if we use a mesh refinement with respect to one point, the mesh size increases linearly with distance, and by adding another RM card with a global mesh refinement option, a threshold can be set.

## Parameters:

Remove all existing remeshing rules
Clear all previously defined remeshing rules (for example, the behaviour is as if no RM card was read). This option is useful if after having imported a structure using mesh refinement, one wants to import another structure or create objects directly in PREFEKO, and for these new structures no mesh refinement shall be used. If this option is checked, all the other parameters are ignored.
Set a new remeshing rule
Set a new remeshing option (previously read RM cards will be discarded).
Add a remeshing rule to existing ones
Add a remeshing rule to the already defined ones (for example, existing RM card rules will be kept, the new rule will be added to these).
Global mesh refinement
Global mesh refinement using the specified finer mesh size.
Local mesh refinement for a point
Here an adaptive mesh refinement is performed to obtain a finer mesh close to a point. The point must have been defined before with a DP card, and its name is passed in the input field for the reference point. Note that this point can be located arbitrarily in space, there is no need for this to be on the meshed structure.
Local mesh refinement for a line
Here an adaptive mesh refinement is performed to obtain a finer mesh close to a line. The line is defined by its start and end point. These two points must have been created before with DP cards. Multiple simultaneously active RM cards can be used to perform a mesh refinement with respect to an arbitrary polygonal shaped line, composed by multiple straight line segments.
Local mesh refinement for a cable harness
With this option one can perform a local mesh refinement close to a cable harness. The cable harness geometry is specified by a CableMod/CRIPTE .rsd file. The file name of this must be entered into the respective input field (visible only when this option has been selected).
Mesh polygon plates
As a special feature, the RM card also allows to mesh unmeshed polygonal plates (which are used in Feko for the UTD) during the import. This can be very useful if, for example, a UTD model is imported from FEMAP using then boundary surfaces, and instead of the UTD a MoM or MLFMM or PO solution shall be conducted (where a mesh is required).
Reference point
When using local mesh refinement with respect to a point, then here the name of this point is entered (the point must have been specified before at a DP card).
Start point of line
When using local mesh refinement with respect to a line, then here the name of the start point of the line is entered (the point must have been specified before at a DP card).
End point of line
When using local mesh refinement with respect to a line, then here the name of the end point of the line is entered (the point must have been specified before at a DP card).
CableMod/CRIPTE .rsd file
When using local mesh refinement with respect to a cable harness, then here the file name of the CableMod/CRIPTE .rsd file is specified.
Global finer mesh size
When a global mesh refinement is used, then this is the new mesh size which shall be applied. Mesh coarsening is not supported, only mesh refinement. So when the new mesh size is larger than the existing mesh size, simply no mesh refinement will be done.
Distance D1
Reference distance ${d}_{1}$ for the mesh refinement, discussed below.
Mesh size at D1
Mesh size ${s}_{1}$ at the reference distance ${d}_{1}$ , discussed below.
Distance D2
Reference distance ${d}_{2}$ for the mesh refinement, discussed below.
Mesh size at D2
Mesh size ${s}_{2}$ at the reference distance ${d}_{2}$ , discussed below.

The mesh sizes specified for the global or local mesh refinement apply to all types of geometry (for example, triangles, wires, cuboidal volume elements) in the same manner. This is not a principal restriction. If different refinement options are desired say for wires and triangles, one can use one RM card, create or import say just triangles, and then use another RM card and after this create or import just wires etc.

If one RM card specifies a global mesh refinement, then the local mesh size is readily given by the global finer mesh size. If one does local mesh refinement with respect to a point, then first the distance of the mesh element to this point is determined. Similarly for a line or a cable harness, the shortest distance from the mesh element to this line or cable is determined. If we assume that this distance is $d$ , then the local mesh size $s$ is given by the equation

(1) $s={s}_{1}+\frac{{s}_{2}-{s}_{1}}{{d}_{2}-{d}_{1}}\left(d-{d}_{1}\right)$

This means that for a distance $d={d}_{1}$ we get the mesh size $s={s}_{1}$ , and for the distance $d={d}_{2}$ the mesh size is $s={s}_{2}$ . For any other distances (smaller than ${d}_{1}$ , in between ${d}_{1}$ and ${d}_{2}$ , or also larger than ${d}_{2}$ ) a linear interpolation is used by means of the formula above. Thus the linear increase of the mesh size also continues for larger distances, but one should keep in mind that the RM card can only do a mesh refinement and no mesh coarsening, for example, as soon as for larger distances the remeshing option exceeds the already used mesh size of the original model, simply nothing will happen. Although not required, it is often useful to set the mesh size ${s}_{2}$ identical to the global already existing mesh size, then the parameter ${d}_{2}$ readily controls the region where a local mesh refinement is desired (for example, for distances d larger than ${d}_{2}$ the original mesh will be kept).

It shall also be mentioned here that if a CableMod or CRIPTE .rsd file is imported, in order to evaluate distance d between each mesh element and the cable harness in the right base unit (if an SF card scaling factor is set this can be for instance mm), the cable harness coordinates have to be scaled accordingly. Thus the SF scaling factor must be known before the RM card can be used. PREFEKO will give an error if an SF card is read and a RM card was processed before. The user must then just move the SF card in front of the RM card in the .pre file.

## Examples of RM card usage

A first example is shown in Figure 2 with the original mesh on the left hand side and on the right hand side the result of a local mesh refinement with respect to a point is given. For the example in Figure 3 a local mesh refinement with respect to two lines is used (for example, two simultaneously active RM cards).