How to Configure the Memory in Flux?

What's new

From Flux 2020, there is a new mode to manage the numerical and character memories: the Dynamic mode.

In this mode, the numerical and character memories are dynamically managed by Flux itself during its execution. So, the user no longer has to configure both memories.

But for the moment default mode is still user or static memory (the choice is in supervisor options).

Introduction

From Flux 2020, there are 2 memory management modes for the numerical and character memories:
  • User (default mode)
  • Dynamic
Important: This "How To" document only deals with the User mode.

Context

The memory used by Flux includes:
  • The memory explicitely/statically defined by the user for Flux (via the Flux Supervisor Options or directly via environment variables)
  • Some additional memory: dynamically allocated depending on the used components/functionalities

Memory defined by the user

Almost all Flux actions use the memory defined (assigned) by the user:
  • Numerical memory: it is the memory used for the different modeling actions (import, mesh, solving process, ...)
    Note: For the solving process:
    • The ICCG solver uses this memory
    • The MUMPS solver does not use this memory but additional dynamically allocated memory (this is not configurable)
    • With a project of more than 300 000 nodes, the solver automatically chosen is ICCG
    Warning: For PEEC, this is not this memory which is used for the solving process, but GUI memory + PEEC Solver.

  • Character memory: it is the memory used for the storage of entity names (parameters, transformations, regions, conductors, …) and the project names in the working directory

  • GUI memory + PEEC Solver: it is the memory used for everything related to the Graphical User Interface (graphical display, …)
    Warning: For PEEC, this memory is also used for the solving process.

  • System memory: it encompasses various memory requirements necessary to Flux inner working (and is automatically computed)
    Note: The value of the system memory cannot be changed by the user.

Additional memory

Some Flux components or functionalities consume additional memory:
  • During an import and in the modeler: the ACIS library
  • During the mesh generation: MeshGems if used
  • During the solving process: MUMPS if used

Summary



Example

4 Flux 2D projects solving processes in parallel using MUMPS solver on a computer with 64 GiB RAM.

For each project:
  • Numerical memory: 10 GiB
  • Character memory: 600 MiB
  • GUI memory: 400 MiB
  • System memory: 1000 MiB
Total memory assigned: 12 GiB