Geometry Discretization

4C is a versatile tool which can handle Finite element as well as meshless (particle) methods. Naturally, the geometry of particles is very different from finite element representations, thus the geometry sections are detailed here separately as well. The definition of particles can be found here.

Finite Element Discretization

The basic ingredient of a finite element model is its geometrical representation, which is discretized by a mesh consisting of elements and nodes.

In general, one may define a finite element mesh in two ways:

  • Very simple, namely brick-shaped, meshes can be defined by a single command, which defines a structured mesh of this brick with equally spaced nodes and a given number of elements in each direction. This is called the domain definition in the following. See below how it works.

  • All other meshed are to be generated by external pre-processing software, see section Preprocessing. In the 4C input file, the mesh is included by node and element definitions. Of course, one may define the mesh node by node and element by element by hand, see below (Node definition)

Additional, the nodes may be grouped into sets, in order to apply boundary and/or interface conditions to them. See here how these sets are defined.

Domain definition

A cuboid domain including all necessary nodes and elements may be generated directly in the 4C input file. For example, one may generate a structural discretization as a brick with width, depth and height of 4 units each meshed by 27 cube-shaped elements by

STRUCTURE DOMAIN:
  bottom_corner_point:
  - 0.0
  - 0.0
  - 0.0
  top_corner_point:
  - 4.0
  - 4.0
  - 4.0
  subdivisions:
  - 3
  - 3
  - 3
  auto_partition: false
  elements:
    SOLID:
      HEX8:
        MAT: 1
        KINEM: linear

Node definition

The nodes are read in by the section NODE COORDS.

Within this section, the nodes are read one per line. There are different types of nodes:

  • General nodes (NODE)

  • Control points for nurbs geometry (CP)

  • Nodes with addition fiber information (FNODE)

All node coordinates must be given with three coordinates, even if the problem is 1D or 2D:

NODE COORDS:
- "NODE <ID> COORD <coord-x> <coord-y> <coord-z> [ROTANGLE <coord-yz> <coord-xz> <coord-xy>]"
- "CP <ID> COORD <coord-x> <coord-y> <coord-z> <weight>"
- "FNODE <ID> COORD <coord-x> <coord-y> <coord-z> [FIBER1|FIBER2|FIBER3|CIR|TAN|RAD|HELIX|TRANS] <further parameters>"

Element definition

Elements depend strongly on the discretization. They can be defined element by element with their specific nodal connectivity in the following sections:

- STRUCTURE ELEMENTS
- FLUID ELEMENTS
- LUBRICATION ELEMENTS
- TRANSPORT ELEMENTS
- TRANSPORT2 ELEMENTS
- ALE ELEMENTS
- THERMO ELEMENTS
- ARTERY ELEMENTS
- REDUCED D AIRWAYS ELEMENTS
- PERIODIC BOUNDINGBOX ELEMENTS

The general structure of each element line is the same for all of them:

<discretization> ELEMENTS:
- <number> <elementtype> <celltype> <nodeconnectivity> <further parameters>
  • number must be unique.

  • elementtype depends on the discretization.

  • celltype defines the shape of the element as explained in the cell type reference.

  • nodeconnectivity contains this element’s node numbers ; the total number of nodes given here must be in accordance with the cell type.

  • further parameters depend on the discretization as well.

Geometry sets

Geometry sets, to which constraints can be attributed, are defined in separate geometric entities, that is

  • Volumes

  • Surfaces

  • Lines

  • Nodes

Geometry sets are always defined by the nodes defining the respective entity.

For the geometric entities, there are two options to create the node sets: One may either define the sets by the contained nodes, or by their specific location as minimum or maximum position. The latter works quite well for rectangular/cubicle structures, for which the nodes are expressed as corners, lines are edges, and surfaces are sides.

If the extreme locations are used, one may enter entities as shown in the example f3_forced_hit_geogen_hdg.4C.yaml:

DNODE-NODE TOPOLOGY:
- CORNER fluid x- y- z+ DNODE 1
- CORNER fluid x- y- z- DNODE 2
- CORNER fluid x- y+ z- DNODE 3
- CORNER fluid x- y+ z+ DNODE 4
- CORNER fluid x+ y- z+ DNODE 5
- CORNER fluid x+ y- z- DNODE 6
- CORNER fluid x+ y+ z- DNODE 7
- CORNER fluid x+ y+ z+ DNODE 8
DLINE-NODE TOPOLOGY:
- EDGE fluid y+ z+ DLINE 1
- EDGE fluid y- z+ DLINE 2
- EDGE fluid y- z- DLINE 3
- EDGE fluid y+ z- DLINE 4
- EDGE fluid x- y+ DLINE 5
- EDGE fluid x- z+ DLINE 6
- EDGE fluid x- y- DLINE 7
- EDGE fluid x- z- DLINE 8
- EDGE fluid x+ y+ DLINE 9
- EDGE fluid x+ z+ DLINE 10
- EDGE fluid x+ y- DLINE 11
- EDGE fluid x+ z- DLINE 12
DSURF-NODE TOPOLOGY:
- SIDE fluid y+ DSURFACE 1
- SIDE fluid y- DSURFACE 2
- SIDE fluid x- DSURFACE 3
- SIDE fluid x+ DSURFACE 4
- SIDE fluid z+ DSURFACE 5
- SIDE fluid z- DSURFACE 6

for all other cases, one defines the set node by node:

DNODE-NODE TOPOLOGY:
  - "NODE <nodenumber> DNODE <pointsetnumber>"
...
DLINE-NODE TOPOLOGY:
  - "NODE <nodenumber> DLINE <linesetnumber>"
...
DSURF-NODE TOPOLOGY:
  - "NODE <nodenumber> DSURFACE <surfacesetnumber>"
...
DVOL-NODE TOPOLOGY:
  - "NODE <nodenumber> DVOL <volumesetnumber>"
...

Particle Discretization

Currently, two different particle methods are implemented: DEM (discrete element method) and SPH (smoothed particle hydrodynamics). For both methods, particles are simply defined by their spatial position and optionally by their radius (only available for DEM). A unique global ID is assigned to each particle automatically during runtime. Thus, the definition is very simple:

PARTICLE:
  - "TYPE <typestring> POS <x> <y> <z> [RAD <radius>]"

The TYPE keyword provides a particle phase, to which a material can be assigned in the section PARTICLE DYNAMIC, see the keyword PHASE_TO_MATERIAL_ID.

For DEM, the phases phase1 and phase2 may be defined.

For SPH, the following phases may be defined to represent different physical behavior:

  • phase1

  • phase2

  • boundaryphase

  • rigidphase

  • neumannphase

  • dirichletphase

Note that with SPH the particles are allowed to change their phase during a simulation based on the input parameter PHASECHANGETYPE and PHASECHANGEDEFINITION in the section PARTICLE DYNAMIC/SPH.

For SPH the radius corresponds to the cutoff radius of the smoothing kernel. Since the cutoff radius is assumed to be constant this is the only option available.

For the DEM, the particles are assumed to have a spherical shape with a specific radius. By default, the radii are equal for all particles with the same material definition for both DEM and SPH.

However, as mentioned above, with DEM the radius can also be defined individually per particle, either with a constant value for each particle (then the radius is given by the parameter RAD, see above), or by a size distribution. For a normal or a log-normal distribution of the radius, two parameters are needed, mean \(\mu\) and standard deviation \(\sigma\). The parameter \(\mu\) is defined by the initial radius in the material definition, while the parameter \(\sigma\) is defined by the parameter RADIUSDISTRIBUTION_SIGMA in PARTICLE DYNAMIC/DEM:

PARTICLE DYNAMIC/DEM:
  INITIAL_RADIUS: RadiusFromParticleInput|NormalRadiusDistribution|LogNormalRadiusDistribution
  RADIUSDISTRIBUTION_SIGMA: <variation>   # variation sigma for a radius distribution