Hermes Project
Encyclopedia
Hermes is a C++/Python library
of algorithms for rapid development of adaptive hp-FEM
Hp-FEM
hp-FEM is a general version of the finite element method , a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size and polynomial degree ...

 solvers. hp-FEM
Hp-FEM
hp-FEM is a general version of the finite element method , a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size and polynomial degree ...

 is a version of the finite element method
Finite element method
The finite element method is a numerical technique for finding approximate solutions of partial differential equations as well as integral equations...

 (FEM) that is capable of very fast (exponential) convergence by exploiting results of approximation theory
Approximation theory
In mathematics, approximation theory is concerned with how functions can best be approximated with simpler functions, and with quantitatively characterizing the errors introduced thereby...

 for smooth and nonsmooth functions.

Main features of the library

The Hermes library can be used for a large variety of PDE
Partial differential equation
In mathematics, partial differential equations are a type of differential equation, i.e., a relation involving an unknown function of several independent variables and their partial derivatives with respect to those variables...

 problems
ranging from linear elliptic equations to time-dependent
nonlinear multi-physics PDE
Partial differential equation
In mathematics, partial differential equations are a type of differential equation, i.e., a relation involving an unknown function of several independent variables and their partial derivatives with respect to those variables...

 systems arising in elasticity
Elasticity (physics)
In physics, elasticity is the physical property of a material that returns to its original shape after the stress that made it deform or distort is removed. The relative amount of deformation is called the strain....

, structural mechanics
Structural mechanics
Structural mechanics or Mechanics of structures is the computation of deformations, deflections, and internal forces or stresses within structures, either for design or for performance evaluation of existing structures. It is one subset of structural analysis...

, fluid mechanics
Fluid mechanics
Fluid mechanics is the study of fluids and the forces on them. Fluid mechanics can be divided into fluid statics, the study of fluids at rest; fluid kinematics, the study of fluids in motion; and fluid dynamics, the study of the effect of forces on fluid motion...

, acoustics
Acoustics
Acoustics is the interdisciplinary science that deals with the study of all mechanical waves in gases, liquids, and solids including vibration, sound, ultrasound and infrasound. A scientist who works in the field of acoustics is an acoustician while someone working in the field of acoustics...

, electromagnetics, and other fields of computational engineering
Computational engineering
Computational science and engineering is a relatively new discipline of engineering. It is typically offered as a masters or doctorate program at several institutions...

 and science
Science
Science is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe...

. The Hermes libraries are available for download under the GNU Lesser General Licence Terms as a means of providing open-source software for the development of Computational Scientific
Computational science
Computational science is the field of study concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems...

 Research. Hermes implementation of adaptive hp-FEM
Hp-FEM
hp-FEM is a general version of the finite element method , a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size and polynomial degree ...

 for improved convergence and accuracy in non-linear systems is featured in the software. The software and underlying numerical methods are developed by an international
hp-FEM group at
the University of Nevada
University of Nevada, Reno
The University of Nevada, Reno , is a teaching and research university established in 1874 and located in Reno, Nevada, USA...

 at Reno
Reno
Reno is the fourth most populous city in Nevada, US.Reno may also refer to:-Places:Italy*The Reno River, in Northern ItalyCanada*Reno No...

 (USA) and Institute of Thermomechanics in
Prague
Prague
Prague is the capital and largest city of the Czech Republic. Situated in the north-west of the country on the Vltava river, the city is home to about 1.3 million people, while its metropolitan area is estimated to have a population of over 2.3 million...

 (Czech Republic
Czech Republic
The Czech Republic is a landlocked country in Central Europe. The country is bordered by Poland to the northeast, Slovakia to the east, Austria to the south, and Germany to the west and northwest....

). Hermes is based on space- and space-time adaptive multi-mesh hp-FEM
Hp-FEM
hp-FEM is a general version of the finite element method , a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size and polynomial degree ...

 algorithms working with highly irregular mesh
Mesh
Mesh consists of semi-permeable barrier made of connected strands of metal, fiber, or other flexible/ductile material. Mesh is similar to web or net in that it has many attached or woven strands.-Types of mesh:...

es. The mesh generation
Mesh generation
Mesh generation is the practice of generating a polygonal or polyhedral mesh that approximates a geometric domain. The term "grid generation" is often used interchangeably. Typical uses are for rendering to a computer screen or for physical simulation such as finite element analysis or...

 is designed using arbitrary-level hanging nodes.

Documentation

The Documentation for the Hermes libraries is an extensive set of instructions, information and tutorials related to the use of Hermes and the Finite Element Method
Finite element method
The finite element method is a numerical technique for finding approximate solutions of partial differential equations as well as integral equations...

. Hermes includes instructions for the installation of collaborating Third Party Libraries (TPLs) as well as an introduction to the mathematics behind the hp-FEM
Hp-FEM
hp-FEM is a general version of the finite element method , a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size and polynomial degree ...

 method and detailed instructions on the use and modification of the code. Any user who wished to add to the capabilities of Hermes can find instructions on how to submit their work directly to the authors via GitHub
Github
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...

. The documentation includes tutorials for the download and compilation of Hermes on multiple operating systems, as well as example problems and tests for each software package
Software package
Software package may refer to:* A piece of application software or utility software** A software suite, or collection of related application or utility software* A software library...

.

See also

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK