# Agros2D

Agros2D is an open-source code for numerical solutions of 2D coupled problems in technical disciplines. Its principal part is a user interface serving for complete preprocessing and postprocessing of the tasks (it contains sophisticated tools for building geometrical models and input of data, generators of meshes, tables of weak forms for the partial differential equations and tools for evaluating results and drawing graphs and maps). The processor is based on the library Hermes containing the most advanced numerical algorithms for monolithic and fully adaptive solution of systems of generally nonlinear and nonstationary partial differential equations (PDEs) based on hp-FEM (adaptive finite element method of higher order of accuracy). Both parts of the code are written in C++.

## Features

* Coupled Fields - With coupled field feature you can blend two or more physical fields in one problem. Weak or hard coupling options are available.
* Nonlinear Problems - Simulation and analysis of nonlinear problems are available. Agros2D now implements both Newton’s and Pickard’s methods.
* Automatic space and time adaptivity - One of the main strengths of the Hermes library is an automatic space adaptivity algorithm. With Agros2D is also possible use adaptive time stepping for transient phenomena analysis. It can significantly improve solution speed without decreasing accuracy.
* Curvilinear Elements - Curvilinear elements is an effective feature for meshing curved geometries and leads to faster and more accurate calculations.
* Quadrilateral Meshing - Quadrilateral meshing can be very useful for some types of problem geometry such as compressible and incompressible flow.
* Particle Tracing—Powerful environment for computing the trajectory of charged particles in electromagnetic field, including the drag force or their reflection on the boundaries.

## Highlights of capabilities

* Higher-order finite element method (hp-FEM) with h, p and hp adaptivity based on reference solution and local projections
* Time-adaptive capabilities for transient problems
* Multimesh assembling over component-specific meshes without projections or interpolations in multi-physics problems
* Parallelization on single machine using OpenMP
* Large range of linear algebra libraries (MUMPS, UMFPACK, PARALUTION, Trilinos)
* Support for scripting in Python (advanced IDE PythonLab)

## Physical Fields

* Electrostatics
* Electric currents (steady state and harmonic)
* Magnetic field (steady state, harmonic and transient)
* Heat transfer (steady state and transient)
* Structural mechanics and thermoelasticity
* Acoustics (harmonic and transient)
* Incompressible flow (steady state and transient)
* RF field (TE and TM waves)
* Richards equation (steady state and transient)

### Couplings

* Current field as a source for heat transfer through Joule losses
* Magnetic field as a source for heat transfer through Joule losses
* Heat distribution as a source for thermoelastic field

## History

The software started from work at the hp-FEM Group at University of West Bohemia in 2009. The first public version was released at the beginning of year 2010. Agros2D has been used in many publications.