GithubHelp home page GithubHelp logo

guitorri / openems-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thliebig/openems-project

1.0 3.0 0.0 125 KB

openEMS is a free and open electromagnetic field solver using the FDTD method.

openems-project's Introduction

openEMS
openEMS is a free and open electromagnetic field solver using the FDTD method. Matlab or Octave are used as an easy and flexible scripting interface.

Website: http://openEMS.de
Forum: http://openEMS.de/forum
Wiki: http://openems.de/index.php
Github: https://github.com/thliebig/openEMS-Project
IRC: #openEMS on freenode

openEMS Features:

  • fully 3D Cartesian and cylindrical coordinates graded mesh.
  • Multi-threading, SIMD (SSE) and MPI support for high speed FDTD.
  • Octave and Matlab-Interface
  • Dispersive material (Drude/Lorentz/Debye type)
  • Field dumps in time and frequency domain as vtk or hdf5 file format
  • Flexible post-processing routines in Octave/Matlab
  • and many more

Install Instruction

Requirements

Ubuntu

  • Install all necessary dependencies, e.g. on Ubuntu 12.04:
sudo apt-get install build-essential git libhdf5-openmpi-dev libvtk5-dev libboost-all-dev libcgal-dev libtinyxml-dev libqt4-dev libvtk5-qt4-dev
  • Install all necessary dependencies, e.g. on Ubuntu 13.04 and above:
sudo apt-get install build-essential git libhdf5-dev libvtk5-dev libboost-all-dev libcgal-dev libtinyxml-dev libqt4-dev libvtk5-qt4-dev
  • Optional: Install octave and octave devel packages:
sudo apt-get install octave liboctave-dev
  • Optional: For the package hyp2mat you need additonal dependencies:
sudo apt-get install gengetopt help2man groff pod2pdf bison flex libhpdf-dev libtool

Fedora

  • Install all necessary dependencies, e.g. on Fedora 19:
sudo yum install make gcc gcc-c++ git hdf5-devel vtk-devel boost-devel CGAL-devel tinyxml-devel qt-devel vtk-qt

Clone, build and install

  • Clone this repository, build openEMS and install e.g. to "~/opt/openEMS":
git clone https://github.com/thliebig/openEMS-Project.git
cd openEMS-Project
./update_openEMS.sh ~/opt/openEMS

or including hyp2mat and CTB:

./update_openEMS.sh ~/opt/openEMS --with-hyp2mat --with-CTB
  • Add the given paths to your Octave/Matlab environment (e.g.):
addpath('~/opt/openEMS/share/openEMS/matlab');
addpath('~/opt/openEMS/share/CSXCAD/matlab');
  • Add the optional packages to your Octave/Matlab environment (e.g.):
addpath('~/opt/openEMS/share/hyp2mat/matlab');
addpath('~/opt/openEMS/share/CTB/matlab');

For more informations and other platforms see: http://www.openems.de/index.php/OpenEMS#Installation

Update Instruction:

  • Perform an update in case of a new release

Note: Changes you may have made (e.g. to the tutorials or examples) may be overwritten!

cd openEMS-Project
git pull
./update_openEMS.sh ~/opt/openEMS

Switch to the stable version:

  • Fetch all remote trees
  • checkout and track the remote stable branch
  • update, build and install

Note: Changes you may have made (e.g. to the tutorials or examples) may be overwritten!

cd openEMS-Project
git fetch --all
git checkout -b stable origin/stable
./update_openEMS.sh ~/opt/openEMS
  • You may want to switch back to the master branch:

Note: Changes you may have made (e.g. to the tutorials or examples) may be overwritten!

cd openEMS-Project
git checkout master
./update_openEMS.sh ~/opt/openEMS

openems-project's People

Contributors

thliebig avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.