sopht-team / sopht Goto Github PK
View Code? Open in Web Editor NEWScalable One-stop Platform for Hydroelastic Things (SOPHT)
License: MIT License
Scalable One-stop Platform for Hydroelastic Things (SOPHT)
License: MIT License
Currently there is no forcing grid implementation for tapered rods. Forcing grids on elements and nodes are not suitable for these rods since dimensions between rod tips can change order of magnitude.
As shown in pyfftw
GitHub page, pyfftw
wheel (pip) distribution is not compatible with MacOS Arm processors. A possible work around is to use conda-forge
.
conda install -c conda-forge pyfftw
Here I am also sharing list of packages installed in my conda environment.
# packages in environment at /opt/miniconda3/envs/sopht-examples-env:
#
# Name Version Build Channel
appdirs 1.4.4 pypi_0 pypi
black 22.6.0 pypi_0 pypi
bzip2 1.0.8 h620ffc9_4
ca-certificates 2022.6.15 h4653dfc_0 conda-forge
certifi 2022.6.15 py310hbe9552e_0 conda-forge
cfgv 3.3.1 pypi_0 pypi
click 8.1.3 pypi_0 pypi
cycler 0.11.0 pypi_0 pypi
distlib 0.3.5 pypi_0 pypi
ffmpeg 4.3.2 ha8417bf_1 conda-forge
fftw 3.3.10 nompi_h828537f_102 conda-forge
flake8 4.0.1 pypi_0 pypi
fonttools 4.34.4 pypi_0 pypi
freetype 2.10.4 h17b34a0_1 conda-forge
gettext 0.21.0 h826f4ad_0
gmp 6.2.1 h9f76cd9_0 conda-forge
gnutls 3.6.15 h887c41c_0
h5py 3.7.0 pypi_0 pypi
icu 68.2 hbdafb3b_0 conda-forge
identify 2.5.2 pypi_0 pypi
joblib 1.1.0 pypi_0 pypi
kiwisolver 1.4.4 pypi_0 pypi
lame 3.100 h27ca646_1001 conda-forge
libblas 3.9.0 15_osxarm64_openblas conda-forge
libcblas 3.9.0 15_osxarm64_openblas conda-forge
libcxx 12.0.0 hf6beb65_1
libffi 3.4.2 hc377ac9_4
libgfortran 5.0.0.dev0 11_0_1_hf114ba7_23 conda-forge
libgfortran5 11.0.1.dev0 hf114ba7_23 conda-forge
libiconv 1.16 h642e427_0 conda-forge
libidn2 2.3.3 he4db4b2_0 conda-forge
liblapack 3.9.0 15_osxarm64_openblas conda-forge
libopenblas 0.3.20 openmp_h130de29_1 conda-forge
libpng 1.6.37 h2c9beb0_3 conda-forge
libtasn1 4.18.0 he4db4b2_1 conda-forge
libunistring 0.9.10 h3422bc3_0 conda-forge
libxml2 2.9.14 h8c5e841_0
libzlib 1.2.12 ha287fd2_2 conda-forge
llvm-openmp 14.0.4 hd125106_0 conda-forge
llvmlite 0.38.1 pypi_0 pypi
matplotlib 3.5.2 pypi_0 pypi
mccabe 0.6.1 pypi_0 pypi
mpmath 1.2.1 pypi_0 pypi
mypy-extensions 0.4.3 pypi_0 pypi
ncurses 6.3 h1a28f6b_3
nettle 3.7.3 h84b5d62_1
nodeenv 1.7.0 pypi_0 pypi
numba 0.55.2 pypi_0 pypi
numpy 1.22.4 pypi_0 pypi
openh264 2.1.1 h98b2900_0
openssl 3.0.5 h7aea29f_1 conda-forge
packaging 21.3 pypi_0 pypi
pathspec 0.9.0 pypi_0 pypi
pillow 9.2.0 pypi_0 pypi
pip 22.1.2 py310hca03da5_0
pre-commit 2.20.0 pypi_0 pypi
psutil 5.9.1 pypi_0 pypi
pycodestyle 2.8.0 pypi_0 pypi
pyelastica 0.3.0 pypi_0 pypi
pyfftw 0.13.0 py310h674e598_2 conda-forge
pyflakes 2.4.0 pypi_0 pypi
pyparsing 3.0.9 pypi_0 pypi
pystencils 0.4.4 pypi_0 pypi
python 3.10.0 h43b31ca_3_cpython conda-forge
python-dateutil 2.8.2 pypi_0 pypi
python_abi 3.10 2_cp310 conda-forge
pyyaml 6.0 pypi_0 pypi
readline 8.1.2 h1a28f6b_1
scipy 1.9.0 pypi_0 pypi
setuptools 61.2.0 py310hca03da5_0
setuptools-scm 7.0.5 pypi_0 pypi
six 1.16.0 pypi_0 pypi
sopht-backend 0.0.1 pypi_0 pypi
sopht-examples 0.0.1 pypi_0 pypi
sqlite 3.38.5 h1058600_0
sympy 1.9 pypi_0 pypi
tk 8.6.12 hb8d0fd4_0
toml 0.10.2 pypi_0 pypi
tomli 2.0.1 pypi_0 pypi
tqdm 4.64.0 pypi_0 pypi
typing-extensions 4.3.0 pypi_0 pypi
tzdata 2022a hda174b7_0
virtualenv 20.16.2 pypi_0 pypi
wheel 0.37.1 pyhd3eb1b0_0
x264 1!161.3030 h3422bc3_1 conda-forge
xz 5.2.5 h1a28f6b_1
zlib 1.2.12 h5a0b063_2
@armantekinalp assigning you as discussed, for reference you can have a look at #60.
ffmpeg is missing in pyproject.toml but it is used dependency. Lets use the same command as in pyelastica
.
conda install -c conda-forge ffmpeg
TODO list:
@armantekinalp we can use this to track if reducing sphere diameter (with the corresponding reduction in lag grid points) brings the drag value closer to experiments. For Re = 100, published values seem to be around ~1.10 (bhosale2/PyAxisymFlow#55)
TODO list:
@armantekinalp do you want to have a shot at this?
We may need to have a Brinkmann body flow structure interactor at least for bulk imposed rigid bodies. This may be faster and even avoids tuning of forcing coefficients like the virtual body forcing, specifically in cases of rigid planes or slabs, @armantekinalp.
@armantekinalp what do you think about this? Do you want to take a shot at this?
Per recent experiments, it came to our attention that for Lagrangian grid points, if the minimum spacing is less than the Eulerian flow grid spacing, the flow forces acting on the body are noisy. There should either be a warning message when the user prescribes a body forcing grid finer than the flow grid spacing.
@armantekinalp thoughts?
Flow past elastic net will be one of the simulations that we are going to show in paper as an illustration.
If rod is initialized outside of the fluid domain, sopht throws an error but it is difficult for user to understand. Please add warning or error messages if rod is initialized outside of the domain.
We need a validation case for 3D FSI for a single Cosserat rod case.
For running high-resolution sims, @armantekinalp we will need computation power from clusters, and as such a template setup for cluster job submission is required. The idea for this would be to have one similar to this. Does this look good @armantekinalp?
@armantekinalp do you want to give this a shot in case you have time? We will need this for paper and DFD maybe.
We need a proper logger which dumps diagnostics like max vorticity, lagrangian grid coupling errors, etc. for tuning the stability and accuracy of simulations. @armantekinalp tagging you here, since I cannot assign more than 1 person.
@armantekinalp we can use this issue (and follow-up comments) to keep track of this one.
@armantekinalp commenting here since cant assign multiple people with the current GitHub plan.
Currently, the position grid fields are scalar fields of shape (Nz, Ny, Nx). To be consistent with the scalar-vector convention they should be in one vector field called position_field
of shape (2/3, Nz, Ny, Nx). @armantekinalp thoughts?
Run a phase space for flow past sphere case at different Re. Possible grid resolution (128, 128, 256).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.