Giter Site home page Giter Site logo

etameez / sun-em-cmom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cemagg/sun-em-cmom

0.0 0.0 0.0 28.66 MB

CMoM is a C++ Computational Electromagnetic (CEM) solver focusing on the Method of Moments (MoM).

CMake 1.62% Shell 1.03% C++ 87.24% C 0.39% Python 9.72%

sun-em-cmom's Introduction

CMoM - A C++ Method of Moments Solver

Description

CMoM is a C++ Computational Electromagnetic (CEM) solver focusing on the Method of Moments (MoM). CMoM can compute both serially and in parallel (using mpi). A pre-processor, written in python is also included to provide a graphical interface as well as read necessary geometry and create the necessary input files. The pre-processor is also used for post processing to display results and compare CMoM solutions to commercial CEM solvers (currently the only compatible commercial solver is FEKO).

CMoM is being developed and used in a Linux environment

Current Solvers

Method of Moments (MoM)

The MoM is done according to the work presented in "Electromagnetic Scattering by Surfaces of Arbitrary Shape" by Rao, Wilton and Glisson (1982).

Characteristic Basis Function Method (CBFM)

The CBFM is done according to the work presented in "Characteristic Basis Function Method: A New Technique For Efficient Solution of Method of Moments Matrix Equations" by Prakash and Mittra (2003).

Physical Optics (PO)

TBD

Iterative Field Bouncing (IFB)

TBD

Status

Solver Serial Parallel
MoM Done Done
Disconnected CBFM Done In Development
Connected CBFM TBD TBD
PO TBD TBD
IFB TBD TBD

Roadmap

Meta
  • Write solution in binary
  • Better documentation
Pre-Processor
  • Write input file in binary
  • Read and compare with CST
  • Read and compare with the one from the presentation
  • Calculate and display properties from the solution (Nearfield/Input Impedance/etc)
  • Better Logging
  • Run parallel solver
MoM
  • Singularity Treatment
  • Near Singularity Treatment
  • Proper Support For Edge Feeds (Delta Gap)
Disconnected CBFM
  • Parallel CBFM
  • Integrate an FPGA for some of the Matrix Matrix and Matrix Vector calculations
Connected CBFM
PO
IFB

Dependencies

Required

  • CMake
  • MPI Library (OpenMPI or MPICH)

Optional

  • Python 3
  • numpy

Serial Install Guide

mkdir build

cd build

cmake ..

make

./mom -h

Parallel Install Guide

mkdir build_mpi

cd build_mpi

cmake -DMPI=ON ..

make

./mom_mpi -h

Usage From GUI

python src/pre_processor/main.py

Compiling on WIN64

cmake -G "NMake Makefiles" -DCMAKE_C_COMPILER=icl -DCMAKE_CXX_COMPILER=icl ..

sun-em-cmom's People

Contributors

etameez avatar danieludick 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.