Simple Configuration Interface

True freedom in parameters modification

Set the Solver

Manage all of the parameters for problem specification

For simple control of the entire simulations run we have designed a simple text interface allowing to user easily specify or change parameters affecting physical parameters such as material properties, boundary conditions, the relationship between individual simulation steps, evaluation and results monitoring, etc.

Main Features

Math Expresions​

ESPRESO solver uses mathematical expression toolkit library ExprTk for parsing and evaluation mathematical expression. Thanks to that, boundary condition, material parameters or geometrical definition can be set as a function dependent variables. User can also specify depended variables as tabular data.​

Input Arguments​

Structure of our configuration file allows to the users simply manage every single parameter as an input argument, and call these parameters directly from the command line. Thanks to that, external libraries for optimization and Uncertainty Quantification or libraries based on artificial intelligence for training neural networks can be connected directly.

ecf Checker​

Since the solver configuration contains hundreds of parameters, we have integrated validation techniques to detect correctness of all specified parameters and their mutual integrity. Therefore, editing the configuration files is a very easy variant instead of using a graphical user interface.

Custom Templates

The ECF is a useful choice for creating configuration templates applicable to a broad portfolio of single-style products. Templates ensure simple solution, repeatability, fast and efficient path to the design process.

Customer Product Portfolio

Solver Templates

Repeatable massively parallel solution without annoying solver settings

ecf Example

ecf for simple stabilized advection difusion
# ESPRESO Configuration File
INPUT            GENERATOR;
PHYSICS   HEAT_TRANSFER_2D;

GENERATOR {
  SHAPE   GRID;

  GRID {
    UNIFORM_DECOMPOSITION   TRUE;

    LENGTH_X                   1;
    LENGTH_Y                   1;
    LENGTH_Z                   1;

    NODES {
      LEFT   <0 , 0> <0 , 1> <0 , 0>;
      TOP    (0 , 1> <1 , 1> <0 , 0>;
    }

    ELEMENT_TYPE         SQUARE8;

    BLOCKS_X                   1;
    BLOCKS_Y                   1;
    BLOCKS_Z                   1;

    CLUSTERS_X            [ARG0];
    CLUSTERS_Y            [ARG1];
    CLUSTERS_Z                 1;

    DOMAINS_X             [ARG2];
    DOMAINS_Y             [ARG3];
    DOMAINS_Z                  1;

    ELEMENTS_X            [ARG4];
    ELEMENTS_Y            [ARG5];
    ELEMENTS_Z                 1;
  }
}

HEAT_TRANSFER_2D {
  LOAD_STEPS        1;

  MATERIALS {
    MAT_01 {
      DENS               1;
      CP                 1;
      THERMAL_CONDUCTIVITY {
        MODEL   ISOTROPIC;

        KXX             5;
      }
    }
  }

  MATERIAL_SET {
    ALL_ELEMENTS   MAT_01;
  }

  INITIAL_TEMPERATURE {
    ALL_ELEMENTS   293.15;
  }

  THICKNESS {
    ALL_ELEMENTS   1;
  }

  STABILIZATION   CAU;

  LOAD_STEPS_SETTINGS {
    1 {
      DURATION_TIME   0.05;
      TYPE       TRANSIENT;
      MODE          LINEAR;
      SOLVER          FETI;

      TRANSIENT_SOLVER {
        METHOD   CRANK_NICOLSON;
        TIME_STEP        0.0005;
      }

      FETI {
        METHOD          TOTAL_FETI;
        PRECONDITIONER   DIRICHLET;
        PRECISION            1E-08;
        ITERATIVE_SOLVER     GMRES;
        REGULARIZATION   ALGEBRAIC;
      }

      TEMPERATURE {
        LEFT   280;
        TOP    800;
      }

      TRANSLATION_MOTIONS {
        ALL_ELEMENTS {
          X    500*(Y-0.5);
          Y   -500*(X-0.5);
        }
      }
    }
  }
}

OUTPUT {
  PATH                              results;
  FORMAT                            ENSIGHT;

  RESULTS_STORE_FREQUENCY    EVERY_TIMESTEP;
  MONITORS_STORE_FREQUENCY   EVERY_TIMESTEP;

  STORE_RESULTS                         ALL;
}