Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Finite Element Analysis Library in Python

NotificationsYou must be signed in to change notification settings

weihuayi/fealpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python packageUpload Python Package

While beginning with the finite element algorithm, FEALPy's sights are set onexploring vast horizons.

We hope FEALPy will be an open-source library for intelligent CAE simulationalgorithms, integrating CAE fundamentals with AI to support advanced algorithmresearch and the cultivation of versatile talent.

We also hope FEALPy can accelerate the creation and testing of next-genintelligent CAE apps, paving the way for advanced algorithms in industrialapplications.

So FEALPy's development goal is to become the next generation intelligent CAEsimulation computing engine.

The word "FEAL" is an archaic or poetic term in English, meaning faithful orloyal. Though not commonly used in modern English, it carries strongconnotations of unwavering dedication and reliability.

The name "FEALPy" embodies this essence of loyalty and faithfulness. Itsignifies the software's commitment to being a dependable and trustworthy toolin the field of intelligent CAE simulation. Just as "FEAL" suggestssteadfastness, FEALPy aims to provide consistent, reliable support forresearchers, engineers, and developers in their pursuit of innovative solutionsand advancements in CAE simulations. The name reflects the software's mission tobe a loyal companion in the journey toward groundbreaking discoveries andindustrial applications.

Installation

Miniconda

mkdir -p~/miniconda3wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O~/miniconda3/miniconda.shbash~/miniconda3/miniconda.sh -b -u -p~/miniconda3rm -rf~/miniconda3/miniconda.sh~/miniconda3/bin/conda init bash
conda create -n gpufealpy310 python=3.10conda activate gpufealpy310conda install numpy=2.0.1 -c conda-forge#2.0.1conda install ipython notebook -c conda-forgeconda install jaxlib=*=*cuda* jax cuda-nvcc -c conda-forge -c nvidia# 0.4.31conda install cupy -c conda-forge  -c nvidiaconda install pytorch=2.3.1 -c conda-forge -c nvidia

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_envsource 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 fealpypip install -e.

If you want to install optional dependencies, such aspypardiso,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 fealpygit pull origin main

To uninstall FEALPy, just run the following command:

pip uninstall fealpy

Development

For FEALPy developers, the first step is to create afork of thehttps://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 usernamegit clone git@github.com:<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 git@github.com: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 upstreamgit merge upstream/master

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

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

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

Warning

The sparse pattern of the matrixA generated byFEALPy 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 ]=0A.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 citefealpy 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},}

[8]ページ先頭

©2009-2025 Movatter.jp