GithubHelp home page GithubHelp logo

yk2015 / afepack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yfygod/afepack

0.0 0.0 0.0 2.42 MB

light-version AFEPack (only C++ 11 and boost are required)

Makefile 0.33% Roff 0.01% CMake 0.14% C++ 94.62% C 4.86% Shell 0.04%

afepack's Introduction

AFEPack

It is a lightweight version of AFEPack (Adaptive Finite Element Package), which is developed by Prof. Ruo Li. AFEPack is a C++ library providing very flexible data structure to develop the finite element and handle the mesh adaptive.

Here this AFEPack is decoupled from the package deal.II, only Boost and MPI and C++11 features are required for the installation.

Specify the compiler in Makefile.1 and do a "make". So much lightweight, hah ^^


Change logs (@yk2015)

Remarks: Make some changes to adapt the compiler in Jupyter notebook

  1. fix error dependent using declaration resolved to type without 'typename'

    In file included from /home/kuang/local/include/AFEPack/../bundled/matrix.h:11:.
    /home/kuang/local/include/AFEPack/../bundled/vector.h:119:17: error: dependent using declaration resolved to type without 'typename'
      using base_t::scalar_t;

    Fix it in AFEPack/bundled/vector.h:119

     //using base_t::scalar_t; // changes to
     using typename base_t::scalar_t;
  2. fix error

    /home/kuang/local/include/AFEPack/HGeometry.h:669:19: error: default template argument in a class template partial specialization
    template <int DOW=1>
                      ^
    /home/kuang/local/include/AFEPack/HGeometry.h:703:19: error: default template argument in a class template partial specialization
    template <int DOW=2>
                      ^
    /home/kuang/local/include/AFEPack/HGeometry.h:743:19: error: default template argument in a class template partial specialization
    template <int DOW=3>

    Fix: delete =1 ,=2, =3

  3. Add new function in bundled/sparsity_pattern.h

    void
    print_gnuplot (std::ostream &out) const
    {
    	for (index_t i=0; i<rows; ++i)
        for (size_t  j=rowstart[i]; j<rowstart[i+1]; ++j)
          if (colnums[j] != invalid_entry)
            // while matrix entries are
            // usually written (i,j),
            // with i vertical and j
            // horizontal, gnuplot output
            // is x-y, that is we have to
            // exchange the order of
            // output
            out << colnums[j] << " " << -static_cast<signed int>(i) << std::endl;
    }

afepack's People

Contributors

yfygod avatar yk2015 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.