Xavier Andrade edited Octopus.tex  over 9 years ago

Commit id: 2ade19a09217f6a38dd612644331cadbc56b0820

deletions | additions      

       

\section{The Octopus code}  Octopus was started around 2000 in the group of professor Angel Rubio who who,  at that moment moment,  was as the University of Valladolid, Spain. The first article using it Octopus  was published in 2001~\cite{Marques_2001}. Today, the code has grown to 200,000 lines of code that code. It  receives contributions from many developers from several countries and its results have been used for hundreds of scientific publications. The original purpose of Octopus was to perform real-time TDDFT calculations, a method that have been recently proposed at the time for the calculation of excited states properties in molecules~\cite{Yabana_1996}. Beyond this original feature, over the time the code has become able to perform many types of calculations of ground-state and excited-states properties. These includes most of the standard features of a modern electronic strucure package and some not so common not-so-common  capabilities. Among the current capabilities of Octopus  are an efficient real-time propagation implementation for both finite and periodic systems~\cite{Bertsch_2000,Aggarwal_2012}. Some of the research presented in this article is based on that feature. These include the simulation of photoemission (section~\ref{sec:photoemission}), quantum optimal control (section~\ref{sec:optimal_control}, and plamonic systems (section~\ref{sec:plasmonic}.  The code can also perform molecular dynamics simulations in the Born-Oppenheimer and Ehrenfest approximations. It also implements a modified Ehrenfest approach for adiabatic molecular dynamics~\cite{Alonso_2008,Andrade_2009} that has favorable scaling for large systems. Octopus can perform linear-response TDDFT calculations in different frameworks, these implementation is discussed in thenext  sections of the article. .  For visualization, analisis and post-processing, Octopus can export fields like the density, orbitals, the current density, or the time-dependent electron localization function~\cite{Burnus_2005} to different formats, including the required data to perform GW/Bethe Salpeter calculations with the BerkeleyGW code~\cite{Deslippe_2012}. Octopus is publicly and freely available under the GPL free/open-source license, this includes all the releases as well as the development version. The code is written using the principles of object oriented programming. This means that the code is quite flexible and modular. It provides a full toolkit for code developers to perform the operations required for the implementation of new approaches for electronic structure calculations.