Giter Site home page Giter Site logo

tiantian0347 / fealpy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weihuayi/fealpy

0.0 0.0 0.0 89.89 MB

Finite Element Analysis Library in Python

License: Other

Python 56.88% MATLAB 25.68% CMake 0.03% C++ 14.83% TeX 0.01% C 0.28% Makefile 0.01% Jupyter Notebook 2.28% Dockerfile 0.01%

fealpy's Introduction

FEALPy: Finite Element Analysis Library in Python

Join the chat at https://gitter.im/weihuayi/fealpy Python package Upload Python Package

We want to develop an efficient and easy to use finite element software package to support our teach and research work.

We still have lot work to do.

Installation

From Source (Recommanded)

First, clone the FEALPy repository from GitHub

git clone https://github.com/weihuayi/fealpy.git

If you can't acess GitHub, you can clone it from Gitee

git clone https://gitee.com/whymath/fealpy

It is recommended to create a virtual environment to manage dependencies:

python -m venv fealpy_env
source fealpy_env/bin/activate  # On Windows, use `fealpy_env\Scripts\activate`

Then change directory to the cloned repository and install FEALPy in editable(-e) mode:

cd fealpy
pip install -e .

If you want to install optional dependencies, such as pypardiso, pyamg, meshpy and so on, you can do so by specifying the [optional] extra:

pip install -e .[optional]

To install both development and optional dependencies, use:

pip install -e .[dev,optional]

To verify that FEALPy is installed correctly, you can run the following command:

python -c "import fealpy; print(fealpy.__version__)"

To update your FEALPy installation to the latest version from the source repository, navigate to the FEALPy directory and pull the latest changes:

cd fealpy
git pull origin main

To uninstall FEALPy, just run the following command:

pip uninstall fealpy

Development

For FEALPy developers, the first step is to create a fork of the https://github.com/weihuayi/fealpy repository in your own Github account.

Clone the FEALPy repository under your own account to the local repository:

# replace<user name>with your own GitHub username
git clone [email protected]:<user name>/fealpy.git 

Note that the following operations need to be operated in the fealpy folder.

Set up the upstream repository:

git remote add upstream [email protected]:weihuayi/fealpy.git

Before local development, need to pull the latest version from the upstream repository and merge it into the local repository:

git fetch upstream
git merge upstream/master

After local development, push the modifications to your own remote repository:

git add modified_files_name
git commit -m"Explanation on modifications"
git push

Finally, in your own Github remote repository, open a pull request to the upstream repository and wait for the modifications to be merged.

Warning

The sparse pattern of the matrix A generated by FEALPy may not be the same as the theoretical pattern, since there exists nonzero values that are close to machine precision due to rounding. If you care about the sparse pattern of the matrix, you can use the following commands to eliminate them

eps = 10**(-15)
A.data[ np.abs(A.data) < eps ] = 0
A.eliminate_zeros()

Docker

To be added.

Reference and Acknowledgement

We thank Dr. Long Chen for the guidance and compiling a systematic documentation for programming finite element methods.

Citation

Please cite fealpy if you use it in your paper

H. Wei and Y. Huang, FEALPy: Finite Element Analysis Library in Python, https://github.com/weihuayi/fealpy, Xiangtan University, 2017-2024.

@misc{fealpy,
	title = {FEALPy: Finite Element Analysis Library in Python. https://github.com/weihuayi/fealpy},
	url = {https://github.com/weihuayi/fealpy},
	author = {Wei, Huayi and Huang, Yunqing},
    institution = {Xiangtan University},
	year = {Xiangtan University, 2017-2024},
}

fealpy's People

Contributors

weihuayi avatar albertzyy avatar tiantian0347 avatar brighthe avatar wpengxiang avatar wangdong19 avatar liao0415 avatar liujianggang0518 avatar wangxingallom avatar gaotingyi avatar xuming0629 avatar chaosthl avatar bellalq avatar concha-k-chen avatar pengmiaoying avatar cbtxs avatar liangyiru avatar wanglongjuan avatar dependabot[bot] avatar zhf-0 avatar zweien avatar charliecwei avatar jinghongzhang0707 avatar geniuswangwei avatar huihuicao avatar scaomath avatar wangwenbinmath avatar wubangminlll avatar awww-nanguasu avatar kaijiangmath 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.