Git Product home page Git Product logo

spgrid_topo_opt's Introduction


I'm Yuanming Hu. Working on Taichi Lang :-)


A curated list of awesome Taichi applications, courses, demos and features: Awesome Taichi.

spgrid_topo_opt's People

Contributors

iblue avatar yuanming-hu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spgrid_topo_opt's Issues

FEM solve fails after a successful build.

After installing taichi-legacy, I got icc and mkl installed, I added the spgrid_topo_opt to projects and started building FEM solver. The build was successful and I performed ti build to finish the installation process. There were no errors during installation but when I execute example scripts from spgrid_topo_opt/scripts/, I get FEM solve has failed!

FEM solve

Signal 6

Hello Mr. Hu !

Spgrid Outputs are looking very nice !

I try to run "python3 opt_bridge.py" but it aborts.

############################################################################################

[I 09/05/21 12:33:35.099] [/home/user/Spgrid/scripts/topo_opt.py:init@75] Namespace(c=None, options=[])
[I 09/05/21 12:33:35.099] [/home/user/Spgrid/scripts/topo_opt.py:init@75]

[E 09/05/21 12:33:35.099] [simulation.h:create@95] Implementation [simulation3::spgrid_topo_opt] not found!
[E 09/05/21 12:33:35.099] Received signal 6 (Aborted)

############################################################################################

You can see the full output in attached .txt

Any Idea ? Many thanks !

Signal 6.txt

link to install taichi (legacy branch) broken

readme links to: https://taichi.readthedocs.io/en/latest/installation.html#ubuntu-arch-linux-and-mac-os-x
should be: https://taichi.readthedocs.io/en/stable/legacy_installation.html

fixed in #10

hope i do this right, thanks for your great work

I try to build topo_opt on ubuntu16.04, I can't find libtaichi_topo_opt.so,what's gong on ?

(py39) user@node01:~/taichi/build/projects/spgrid_topo_opt-master/CMakeFiles$ ti build
[T 03/14/23 16:06:38.206] [logging.cpp:Logger@67] Taichi core started. Thread ID = 40609
Loading module topo_opt
Warning: module [topo_opt] loading failed: /home/user/taichi/build/libtaichi_topo_opt.so: cannot open shared object file: No such file or directory

          ☯ ☯ ☯ ☯ ☯ ☯ ☯ ☯              

** Taichi **
** ~~~~~~ **
** Open Source Computer Graphics Library **


          ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷              

Running cmake...
Using C++ compiler: /usr/bin/c++
-- Detected CPU: skylake-avx512


  • CPU feature detection done.
  • Using Instruction Set Externsion: [AVX2]

Using float64 (double) precision as real
Using /home/user/anaconda3/envs/py39/bin/python3 as python executable.
Python 3.9.16
version: 3.9
include: /home/user/anaconda3/envs/py39/include/python3.9
library: /home/user/anaconda3/envs/py39/lib/libpython3.9.so
:1: DeprecationWarning:

numpy.distutils is deprecated since NumPy 1.23.0, as a result
of the deprecation of distutils itself. It will be removed for
Python >= 3.12. For older Python versions it will remain present.
It is recommended to use setuptools < 60.0 for those Python versions.
For more details, see:
https://numpy.org/devdocs/reference/distutils_status_migration.html

numpy include: /home/user/.local/lib/python3.9/site-packages/numpy/core/include
pybind11 include: /home/user/.local/lib/python3.9/site-packages/pybind11/include;/home/user/.local/lib/python3.9/site-packages/pybind11/include

Runtimes exist.
PYTHON_LIBRARIES/home/user/anaconda3/envs/py39/lib/libpython3.9.so

Ignoring project examples. (No CMakeLists.txt.)

Adding project spgrid_topo_opt-master:
CMake Deprecation Warning at projects/spgrid_topo_opt-master/external/glfw/CMakeLists.txt:10 (cmake_policy):
The OLD behavior for policy CMP0042 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.

-- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR)
-- Using X11 for window creation
Environment variable CUDA_ARCH not found. Not using CUDA.

C++ Flags: -DTC_ISE_AVX2 -std=c++14 -march=native -DGL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED -Wall -DTC_PASS_EXCEPTION_TO_PYTHON -DTC_INCLUDED -DTC_USE_DOUBLE -g
Project libraries: topo_opt
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/taichi/build
Building taichi...
Consolidate compiler generated dependencies of target glfw
[ 13%] Built target glfw
Consolidate compiler generated dependencies of target taichi_core
[ 91%] Built target taichi_core
Consolidate compiler generated dependencies of target taichi_topo_opt
make[2]: *** No rule to make target '../projects/spgrid_topo_opt-master/solver/libSPGridCPUSolver.so', needed by 'libtaichi_topo_opt.so'. Stop.
CMakeFiles/Makefile2:173: recipe for target 'projects/spgrid_topo_opt-master/CMakeFiles/taichi_topo_opt.dir/all' failed
make[1]: *** [projects/spgrid_topo_opt-master/CMakeFiles/taichi_topo_opt.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2
Error: Build failed.

non-type template argument evaluates to -1, which cannot be narrowed to type 'uint64_t'

Hello,
I'm on Ubuntu 20.04.1 LTS. ICC and MKL are from Intel new OneAPI
I compiled taichi-legacy with clang-8, everything went well.
I struggle with the "ti build" of the spgrid solver. I have the following error :

/home/nilparent/taichi-legacy/projects/spgrid_topo_opt-master/external/SPGrid/Core/SPGrid_Mask.h:140:47: error: non-type template argument evaluates to -1, which cannot be narrowed to type 'uint64_t' (aka 'unsigned long') [-Wc++11-narrowing] static const uint64_t value = BitSpread<i,xmask>::value | BitSpread<j,ymask>::value | BitSpread<k,zmask>::value;
And same for line 399. Is there a problem with my icc?
Thank you,
Nil

ti build is not a valid command

I am new to Taichi, and when I follow the instructions, after I have successfully make the solver *.so, I type "ti build" and it reports "ti build is not a vaild command", anyone could help please?

Build Failed tbb hash_map memset

[laptop@laptop ~]$ python install.py

  • Taichi Installer
    ('64bit', 'ELF')
    Build type = default
    wget ist /usr/bin/wget
    pip3 installation detected
    Requirement already satisfied: colorama in /usr/lib/python3.9/site-packages (0.4.4)
    Requirement already satisfied: numpy in ./.local/lib/python3.9/site-packages (1.21.2)
    Requirement already satisfied: Pillow in ./.local/lib/python3.9/site-packages (8.3.2)
    Requirement already satisfied: flask in ./.local/lib/python3.9/site-packages (2.0.1)
    Requirement already satisfied: scipy in ./.local/lib/python3.9/site-packages (1.7.1)
    Requirement already satisfied: pybind11 in ./.local/lib/python3.9/site-packages (2.7.1)
    Requirement already satisfied: flask_cors in ./.local/lib/python3.9/site-packages (3.0.10)
    Requirement already satisfied: GitPython in ./.local/lib/python3.9/site-packages (3.1.24)
    Requirement already satisfied: yapf in ./.local/lib/python3.9/site-packages (0.31.0)
    Requirement already satisfied: distro in /usr/lib/python3.9/site-packages (1.6.0)
    Requirement already satisfied: requests in /usr/lib/python3.9/site-packages (2.26.0)
    Requirement already satisfied: PyQt5 in ./.local/lib/python3.9/site-packages (5.15.4)
    Requirement already satisfied: itsdangerous>=2.0 in ./.local/lib/python3.9/site-packages (from flask) (2.0.1)
    Requirement already satisfied: Werkzeug>=2.0 in ./.local/lib/python3.9/site-packages (from flask) (2.0.1)
    Requirement already satisfied: Jinja2>=3.0 in /usr/lib/python3.9/site-packages (from flask) (3.0.1)
    Requirement already satisfied: click>=7.1.2 in ./.local/lib/python3.9/site-packages (from flask) (8.0.1)
    Requirement already satisfied: MarkupSafe>=2.0 in /usr/lib/python3.9/site-packages (from Jinja2>=3.0->flask) (2.0.1)
    Requirement already satisfied: Six in /usr/lib/python3.9/site-packages (from flask_cors) (1.16.0)
    Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/lib/python3.9/site-packages (from GitPython) (3.10.0.2)
    Requirement already satisfied: gitdb<5,>=4.0.1 in ./.local/lib/python3.9/site-packages (from GitPython) (4.0.7)
    Requirement already satisfied: smmap<5,>=3.0.1 in ./.local/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->GitPython) (4.0.0)
    Requirement already satisfied: PyQt5-Qt5>=5.15 in ./.local/lib/python3.9/site-packages (from PyQt5) (5.15.2)
    Requirement already satisfied: PyQt5-sip<13,>=12.8 in ./.local/lib/python3.9/site-packages (from PyQt5) (12.9.0)
    Requirement already satisfied: chardet>=3.0.2 in /usr/lib/python3.9/site-packages (from requests) (4.0.0)
    Requirement already satisfied: idna>=2.5 in /usr/lib/python3.9/site-packages (from requests) (3.2)
    Requirement already satisfied: urllib3>=1.21.1 in /usr/lib/python3.9/site-packages (from requests) (1.26.6)
    importing numpy test:
    ret: CompletedProcess(args=['/usr/bin/python', '-c', 'import numpy as np'], returncode=0)
    Executing command: cmake --version
    cmake version 3.21.3

CMake suite maintained and supported by Kitware (kitware.com/cmake).
sudo ist /usr/bin/sudo
Linux distribution 'arch' detected
Executing command: sudo pacman --needed -S git cmake make gcc
[sudo] Passwort für laptop:
Warnung: git-2.33.0-1 ist aktuell -- Überspringe
Warnung: cmake-3.21.3-1 ist aktuell -- Überspringe
Warnung: make-4.3-3 ist aktuell -- Überspringe
Warnung: gcc-11.1.0-1 ist aktuell -- Überspringe
Es gibt nichts zu tun
Requirement already satisfied: psutil in ./.local/lib/python3.9/site-packages (5.8.0)
Current directory: /home/laptop
Cloning taichi from github...
Executing command: git clone https://github.com/yuanming-hu/taichi.git --branch legacy
Klone nach 'taichi' ...
remote: Enumerating objects: 73840, done.
remote: Counting objects: 100% (155/155), done.
remote: Compressing objects: 100% (81/81), done.
remote: Total 73840 (delta 65), reused 130 (delta 56), pack-reused 73685
Empfange Objekte: 100% (73840/73840), 40.30 MiB | 6.24 MiB/s, fertig.
Löse Unterschiede auf: 100% (54756/54756), fertig.
Fetching taichi runtimes...
Executing command: git clone https://github.com/yuanming-hu/taichi_runtime external/lib -b linux --depth 1
Klone nach 'external/lib' ...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 5 (delta 0), pack-reused 0
Empfange Objekte: 100% (6/6), 32.91 MiB | 6.22 MiB/s, fertig.
Executing command: git submodule update --init --recursive
Submodul 'assets' (https://github.com/yuanming-hu/taichi_assets) für Pfad 'assets' in die Konfiguration eingetragen.
Submodul 'external/glfw' (https://github.com/glfw/glfw) für Pfad 'external/glfw' in die Konfiguration eingetragen.
Klone nach '/home/laptop/taichi/assets' ...
Klone nach '/home/laptop/taichi/external/glfw' ...
Submodul-Pfad: 'assets': '3246859a7232941db1bfbc2bf8700c072ed0cbfa' ausgecheckt
Submodul-Pfad: 'external/glfw': '999f3556fdd80983b10051746264489f2cb1ef16' ausgecheckt
Executing command: echo "export TAICHI_NUM_THREADS=8" >> ~/.bashrc
Executing command: echo "export TAICHI_REPO_DIR=/home/laptop/taichi" >> ~/.bashrc
Executing command: echo "export PYTHONPATH=$TAICHI_REPO_DIR/python/:$PYTHONPATH" >> ~/.bashrc
Executing command: echo "export PATH=$TAICHI_REPO_DIR/bin/:$PATH" >> ~/.bashrc
PYTHONPATH=/home/laptop/taichi/python/:/home/laptop/taichi/python/:/home/laptop/taichi/python/:
Executing command: echo $PYTHONPATH
/home/laptop/taichi/python/:/home/laptop/taichi/python/:/home/laptop/taichi/python/:
Running cmake...
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Using C++ compiler: /usr/bin/c++
-- target changed from "" to "auto"
-- Detected CPU: zen
-- Performing Test check_cxx_compiler_flag__march_znver1
-- Performing Test check_cxx_compiler_flag__march_znver1 - Success
-- Performing Test check_cxx_compiler_flag__msse2
-- Performing Test check_cxx_compiler_flag__msse2 - Success
-- Performing Test check_cxx_compiler_flag__msse3
-- Performing Test check_cxx_compiler_flag__msse3 - Success
-- Looking for C++ include pmmintrin.h
-- Looking for C++ include pmmintrin.h - found
-- Performing Test check_cxx_compiler_flag__mssse3
-- Performing Test check_cxx_compiler_flag__mssse3 - Success
-- Looking for C++ include tmmintrin.h
-- Looking for C++ include tmmintrin.h - found
-- Performing Test check_cxx_compiler_flag__msse4_1
-- Performing Test check_cxx_compiler_flag__msse4_1 - Success
-- Looking for C++ include smmintrin.h
-- Looking for C++ include smmintrin.h - found
-- Performing Test check_cxx_compiler_flag__msse4_2
-- Performing Test check_cxx_compiler_flag__msse4_2 - Success
-- Performing Test check_cxx_compiler_flag__msse4a
-- Performing Test check_cxx_compiler_flag__msse4a - Success
-- Looking for C++ include ammintrin.h
-- Looking for C++ include ammintrin.h - found
-- Performing Test check_cxx_compiler_flag__mavx
-- Performing Test check_cxx_compiler_flag__mavx - Success
-- Looking for C++ include immintrin.h
-- Looking for C++ include immintrin.h - found
-- Performing Test check_cxx_compiler_flag__mfma
-- Performing Test check_cxx_compiler_flag__mfma - Success
-- Performing Test check_cxx_compiler_flag__mbmi2
-- Performing Test check_cxx_compiler_flag__mbmi2 - Success
-- Performing Test check_cxx_compiler_flag__mavx2
-- Performing Test check_cxx_compiler_flag__mavx2 - Success
-- Performing Test check_cxx_compiler_flag__mno_xop
-- Performing Test check_cxx_compiler_flag__mno_xop - Success
-- Performing Test check_cxx_compiler_flag__mno_fma4
-- Performing Test check_cxx_compiler_flag__mno_fma4 - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512f
-- Performing Test check_cxx_compiler_flag__mno_avx512f - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512vl
-- Performing Test check_cxx_compiler_flag__mno_avx512vl - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512pf
-- Performing Test check_cxx_compiler_flag__mno_avx512pf - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512er
-- Performing Test check_cxx_compiler_flag__mno_avx512er - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512cd
-- Performing Test check_cxx_compiler_flag__mno_avx512cd - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512dq
-- Performing Test check_cxx_compiler_flag__mno_avx512dq - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512bw
-- Performing Test check_cxx_compiler_flag__mno_avx512bw - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512ifma
-- Performing Test check_cxx_compiler_flag__mno_avx512ifma - Success
-- Performing Test check_cxx_compiler_flag__mno_avx512vbmi
-- Performing Test check_cxx_compiler_flag__mno_avx512vbmi - Success


  • CPU feature detection done.
  • Using Instruction Set Externsion: [AVX2]

Using float64 (double) precision as real
Using /usr/bin/python as python executable.
Python 3.9.7
version: 3.9
include: /usr/include/python3.9
library: /usr/lib/libpython3.9.so
numpy include: /home/laptop/.local/lib/python3.9/site-packages/numpy/core/include
pybind11 include: /home/laptop/.local/lib/python3.9/site-packages/pybind11/include;/home/laptop/.local/lib/python3.9/site-packages/pybind11/include
Runtimes exist.
PYTHON_LIBRARIES/usr/lib/libpython3.9.so

Ignoring project examples. (No CMakeLists.txt.)

C++ Flags: -DTC_ISE_AVX2 -std=c++14 -march=native -DGL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED -Wall -DTC_PASS_EXCEPTION_TO_PYTHON -DTC_INCLUDED -DTC_USE_DOUBLE -g
Project libraries:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/laptop/taichi/build
Building taichi...
[ 1%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/dynamics/fluid2d/euler_liquid.cpp.o
[ 2%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/dynamics/fluid2d/euler_smoke.cpp.o
[ 4%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/common/asset_manager.cpp.o
[ 4%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/dynamics/fluid2d/apic.cpp.o
[ 5%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/dynamics/fluid2d/flip_liquid.cpp.o
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/fluid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_liquid.h:9,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/flip_liquid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/apic.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/apic.cpp:6:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/fluid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_liquid.h:9,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_smoke.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_smoke.cpp:6:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void
memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/fluid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_liquid.h:9,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_liquid.cpp:7:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void
memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/fluid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/euler_liquid.h:9,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/flip_liquid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/flip_liquid.cpp:6:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void
memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
[ 6%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/dynamics/fluid2d/fluid.cpp.o
[ 7%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/dynamics/rigid_body.cpp.o
[ 8%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/geometry/factory.cpp.o
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/fluid.h:8,
von /home/laptop/taichi/include/taichi/dynamics/fluid2d/fluid.cpp:6:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void
memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
[ 9%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/image/operations.cpp.o
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/visual/envmap.h:14,
von /home/laptop/taichi/include/taichi/visual/scene.h:11,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:12,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void
memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
[ 10%] Building CXX object CMakeFiles/taichi_core.dir/include/taichi/math/levelset.cpp.o
In Datei, eingebunden von /home/laptop/taichi/external/include/tbb/tbb.h:42,
von /home/laptop/taichi/include/taichi/system/threading.h:21,
von /home/laptop/taichi/include/taichi/visualization/image_buffer.h:11,
von /home/laptop/taichi/include/taichi/image/image_buffer.h:8,
von /home/laptop/taichi/include/taichi/image/operations.h:9,
von /home/laptop/taichi/include/taichi/image/operations.cpp:6:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In Konstruktor »tbb::interface5::internal::hash_map_base::hash_map_base()«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:122:24: Warnung: »void
memset(void*, int, size_t)« Säubern eines Objekts des Typs »class tbb::interface5::internal::hash_map_base« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
122 | std::memset( this, 0, pointers_per_tablesizeof(segment_ptr_t) // 324=128 or 648=512
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
123 | + sizeof(my_size) + sizeof(my_mask) // 4+4 or 8+8
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 | + embedded_buckets
sizeof(bucket) ); // n8 or n16
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:76:11: Anmerkung: »class tbb::interface5::internal::hash_map_base« wird hier deklariert
76 | class hash_map_base {
| ^~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h: In statischer Elementfunktion »static void tbb::interface5::internal::hash_map_base::init_buckets(tbb::interface5::internal::hash_map_base::segment_ptr_t, tbb::interface5::internal::hash_map_base::size_type, bool)«:
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:158:41: Warnung: »void* memset(void*, int, size_t)« Säubern eines Objekts des Typs »struct tbb::interface5::internal::hash_map_base::bucket« ohne triviale Kopierzuweisung; use value-initialization instead [-Wclass-memaccess]
158 | if( is_initial ) std::memset(ptr, 0, szsizeof(bucket) );
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/external/include/tbb/concurrent_hash_map.h:87:16: Anmerkung: »struct tbb::interface5::internal::hash_map_base::bucket« wird hier deklariert
87 | struct bucket : tbb::internal::no_copy {
| ^~~~~~
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp: In Instanziierung von »taichi::RigidBody::Vector taichi::RigidBody::initialize_mass_and_inertia(taichi::real) [with int dim = 2; taichi::RigidBody::Vector = taichi::VectorND<2, double, taichi::InstSetExt::AVX2>; taichi::real = double]«:
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:156:55: von hier erfordert
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:104:17: Fehler: no match for »operator+=« (operand types are »taichi::RigidBody<2>::InertiaType« {aka »double«} and »taichi::MatrixND<2, double, taichi::InstSetExt::AVX2>«)
104 | inertia +=
| ~~~~~~~~^~
105 | (Matrix(dot(r, r)) - Matrix::outer_product(r, r)) * local_volume;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:132:48: Fehler: ungültige Initialisierung einer Referenz des Typs »const Vector3&« {aka »const taichi::VectorND<3, double, taichi::InstSetExt::AVX2>&«} von Ausdruck des Typs »taichi::RigidBody<2>::Vector« {aka »taichi::VectorND<2, double, taichi::InstSetExt::AVX2>«}
132 | inertia += -tetrahedron_inertia_tensor(Vector(0.0_f), verts[0],
| ^~~~~~~~~~~~~
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:7:
/home/laptop/taichi/include/taichi/dynamics/inertia.h:18:58: Anmerkung: bei Übergabe des Arguments 1 von »taichi::Matrix3 taichi::tetrahedron_inertia_tensor(const Vector3&, const Vector3&, const Vector3&, const Vector3&)«
18 | inline Matrix3 tetrahedron_inertia_tensor(const Vector3& p1, const Vector3& p2, const Vector3 & p3, const Vector3 & p4)
| ~~~~~~~~~~~~~~~^~
In Datei, eingebunden von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp: In Instanziierung von »taichi::RigidBody::Vector taichi::RigidBody::initialize_mass_and_inertia(taichi::real) [with int dim = 3; taichi::RigidBody::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>; taichi::real = double]«:
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:159:55: von hier erfordert
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:61:28: Fehler: no match for »operator>=« (operand types are »taichi::RigidBody<3>::InertiaType« {aka »taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>«} and »int«)
61 | TC_ASSERT_INFO(inertia >= 0,
| ~~~~~~~~^~~~
/home/laptop/taichi/include/taichi/common/util.h:137:40: Anmerkung: in Definition des Makros »assert_info«
137 | bool ret = static_cast(x);
| ^
/home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:61:5: Anmerkung: bei Substitution des Makros »TC_ASSERT_INFO«
61 | TC_ASSERT_INFO(inertia >= 0,
| ^~~~~~~~~~~~~~
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h: In Instanziierung von »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 2; taichi::Rotation::Matrix = taichi::MatrixND<2, double, taichi::InstSetExt::AVX2>]«:
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 2; taichi::Rotation::Vector = taichi::VectorND<2, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:152:35: von hier erfordert
/home/laptop/taichi/include/taichi/math/angular.h:114:24: Fehler: Abfrage des Elementes »toRotationMatrix« in »((const taichi::Rotation<2>
)this)->taichi::Rotation<2>::value«, das vom Nicht-Klassentyp »const ValueType« {aka »const double«} ist
114 | auto mat = value.toRotationMatrix();
| ~~~~~~^~~~~~~~~~~~~~~~
/home/laptop/taichi/include/taichi/math/angular.h: In Instanziierung von »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«:
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/home/laptop/taichi/include/taichi/math/angular.h:108:27: Fehler: keine passende Funktion für Aufruf von »cos(const ValueType&)«
108 | ret[0][0] = std::cos(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:196:5: Anmerkung: Kandidat: »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::cos(_Tp)«
196 | cos(_Tp __x)
| ^~~
/usr/include/c++/11.1.0/cmath:196:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
/usr/include/c++/11.1.0/cmath: In Ersetzung von »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::cos(_Tp) [with _Tp = Eigen::Quaternion]«:
/home/laptop/taichi/include/taichi/math/angular.h:108:27: erfordert durch »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/cmath:196:5: Fehler: kein Typ namens »__type« in »struct __gnu_cxx::__enable_if<false, double>«
In Datei, eingebunden von /home/laptop/taichi/external/include/Eigen/Core:96,
von /home/laptop/taichi/external/include/Eigen/Geometry:11,
von /home/laptop/taichi/include/taichi/math/angular.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h: In Instanziierung von »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«:
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/complex:737:5: Anmerkung: Kandidat: »template std::complex<_Tp> std::cos(const std::complex<_Tp>&)«
737 | cos(const complex<_Tp>& __z) { return __complex_cos(__z.__rep()); }
| ^~~
/usr/include/c++/11.1.0/complex:737:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:108:27: Anmerkung: »const ValueType« {aka »const Eigen::Quaternion«} ist nicht vom Typ »const std::complex<_Tp>« abgeleitet
108 | ret[0][0] = std::cos(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /usr/include/features.h:473,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/os_defines.h:39,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/c++config.h:571,
von /usr/include/c++/11.1.0/bits/stl_algobase.h:59,
von /usr/include/c++/11.1.0/memory:63,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:8,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:62:1: Anmerkung: Kandidat: »double cos(double)«
62 | __MATHCALL_VEC (cos,, (Mdouble __x));
| ^~~~~~~~~~~~~~
In Datei, eingebunden von /usr/include/c++/11.1.0/cmath:45,
von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:62:1: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »double«
62 | __MATHCALL_VEC (cos,, (Mdouble __x));
| ^
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:184:3: Anmerkung: Kandidat: »constexpr float std::cos(float)«
184 | cos(float __x)
| ^~~
/usr/include/c++/11.1.0/cmath:184:13: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »float«
184 | cos(float __x)
| ~~~~~~^~~
/usr/include/c++/11.1.0/cmath:188:3: Anmerkung: Kandidat: »constexpr long double std::cos(long double)«
188 | cos(long double __x)
| ^~~
/usr/include/c++/11.1.0/cmath:188:19: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »long double«
188 | cos(long double __x)
| ~~~~~~~~~~~~^~~
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:109:28: Fehler: keine passende Funktion für Aufruf von »sin(const ValueType&)«
109 | ret[1][0] = -std::sin(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:437:5: Anmerkung: Kandidat: »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::sin(_Tp)«
437 | sin(_Tp __x)
| ^~~
/usr/include/c++/11.1.0/cmath:437:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
/usr/include/c++/11.1.0/cmath: In Ersetzung von »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::sin(_Tp) [with _Tp = Eigen::Quaternion]«:
/home/laptop/taichi/include/taichi/math/angular.h:109:28: erfordert durch »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/cmath:437:5: Fehler: kein Typ namens »__type« in »struct __gnu_cxx::__enable_if<false, double>«
In Datei, eingebunden von /home/laptop/taichi/external/include/Eigen/Core:96,
von /home/laptop/taichi/external/include/Eigen/Geometry:11,
von /home/laptop/taichi/include/taichi/math/angular.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h: In Instanziierung von »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«:
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/complex:855:5: Anmerkung: Kandidat: »template std::complex<_Tp> std::sin(const std::complex<_Tp>&)«
855 | sin(const complex<_Tp>& __z) { return __complex_sin(__z.__rep()); }
| ^~~
/usr/include/c++/11.1.0/complex:855:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:109:28: Anmerkung: »const ValueType« {aka »const Eigen::Quaternion«} ist nicht vom Typ »const std::complex<_Tp>« abgeleitet
109 | ret[1][0] = -std::sin(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /usr/include/features.h:473,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/os_defines.h:39,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/c++config.h:571,
von /usr/include/c++/11.1.0/bits/stl_algobase.h:59,
von /usr/include/c++/11.1.0/memory:63,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:8,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:64:1: Anmerkung: Kandidat: »double sin(double)«
64 | __MATHCALL_VEC (sin,, (Mdouble __x));
| ^~~~~~~~~~~~~~
In Datei, eingebunden von /usr/include/c++/11.1.0/cmath:45,
von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:64:1: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »double«
64 | __MATHCALL_VEC (sin,, (Mdouble __x));
| ^
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:425:3: Anmerkung: Kandidat: »constexpr float std::sin(float)«
425 | sin(float __x)
| ^~~
/usr/include/c++/11.1.0/cmath:425:13: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »float«
425 | sin(float __x)
| ~~~~~~^~~
/usr/include/c++/11.1.0/cmath:429:3: Anmerkung: Kandidat: »constexpr long double std::sin(long double)«
429 | sin(long double __x)
| ^~~
/usr/include/c++/11.1.0/cmath:429:19: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »long double«
429 | sin(long double __x)
| ~~~~~~~~~~~~^~~
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:110:27: Fehler: keine passende Funktion für Aufruf von »sin(const ValueType&)«
110 | ret[0][1] = std::sin(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:437:5: Anmerkung: Kandidat: »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::sin(_Tp)«
437 | sin(_Tp __x)
| ^~~
/usr/include/c++/11.1.0/cmath:437:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
/usr/include/c++/11.1.0/cmath: In Ersetzung von »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::sin(_Tp) [with _Tp = Eigen::Quaternion]«:
/home/laptop/taichi/include/taichi/math/angular.h:110:27: erfordert durch »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/cmath:437:5: Fehler: kein Typ namens »__type« in »struct __gnu_cxx::__enable_if<false, double>«
In Datei, eingebunden von /home/laptop/taichi/external/include/Eigen/Core:96,
von /home/laptop/taichi/external/include/Eigen/Geometry:11,
von /home/laptop/taichi/include/taichi/math/angular.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h: In Instanziierung von »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«:
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/complex:855:5: Anmerkung: Kandidat: »template std::complex<_Tp> std::sin(const std::complex<_Tp>&)«
855 | sin(const complex<_Tp>& __z) { return __complex_sin(__z.__rep()); }
| ^~~
/usr/include/c++/11.1.0/complex:855:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:110:27: Anmerkung: »const ValueType« {aka »const Eigen::Quaternion«} ist nicht vom Typ »const std::complex<_Tp>« abgeleitet
110 | ret[0][1] = std::sin(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /usr/include/features.h:473,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/os_defines.h:39,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/c++config.h:571,
von /usr/include/c++/11.1.0/bits/stl_algobase.h:59,
von /usr/include/c++/11.1.0/memory:63,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:8,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:64:1: Anmerkung: Kandidat: »double sin(double)«
64 | __MATHCALL_VEC (sin,, (Mdouble __x));
| ^~~~~~~~~~~~~~
In Datei, eingebunden von /usr/include/c++/11.1.0/cmath:45,
von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:64:1: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »double«
64 | __MATHCALL_VEC (sin,, (Mdouble __x));
| ^
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:425:3: Anmerkung: Kandidat: »constexpr float std::sin(float)«
425 | sin(float __x)
| ^~~
/usr/include/c++/11.1.0/cmath:425:13: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »float«
425 | sin(float __x)
| ~~~~~~^~~
/usr/include/c++/11.1.0/cmath:429:3: Anmerkung: Kandidat: »constexpr long double std::sin(long double)«
429 | sin(long double __x)
| ^~~
/usr/include/c++/11.1.0/cmath:429:19: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »long double«
429 | sin(long double __x)
| ~~~~~~~~~~~~^~~
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:111:27: Fehler: keine passende Funktion für Aufruf von »cos(const ValueType&)«
111 | ret[1][1] = std::cos(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:196:5: Anmerkung: Kandidat: »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::cos(_Tp)«
196 | cos(_Tp __x)
| ^~~
/usr/include/c++/11.1.0/cmath:196:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
/usr/include/c++/11.1.0/cmath: In Ersetzung von »template constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, double>::__type std::cos(_Tp) [with _Tp = Eigen::Quaternion]«:
/home/laptop/taichi/include/taichi/math/angular.h:111:27: erfordert durch »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/cmath:196:5: Fehler: kein Typ namens »__type« in »struct __gnu_cxx::__enable_if<false, double>«
In Datei, eingebunden von /home/laptop/taichi/external/include/Eigen/Core:96,
von /home/laptop/taichi/external/include/Eigen/Geometry:11,
von /home/laptop/taichi/include/taichi/math/angular.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h: In Instanziierung von »taichi::Rotation::Matrix taichi::Rotation::get_rotation_matrix() const [with int dim = 3; taichi::Rotation::Matrix = taichi::MatrixND<3, double, taichi::InstSetExt::AVX2>]«:
/home/laptop/taichi/include/taichi/math/angular.h:147:12: erfordert durch »taichi::Rotation::Vector taichi::Rotation::rotate(const Vector&) const [with int dim = 3; taichi::Rotation::Vector = taichi::VectorND<3, double, taichi::InstSetExt::AVX2>]«
/home/laptop/taichi/include/taichi/math/angular.h:162:20: von hier erfordert
/usr/include/c++/11.1.0/complex:737:5: Anmerkung: Kandidat: »template std::complex<_Tp> std::cos(const std::complex<_Tp>&)«
737 | cos(const complex<_Tp>& __z) { return __complex_cos(__z.__rep()); }
| ^~~
/usr/include/c++/11.1.0/complex:737:5: Anmerkung: Herleitung/Ersetzung von Templateargument gescheitert:
In Datei, eingebunden von /home/laptop/taichi/include/taichi/dynamics/rigid_body.h:15,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:6:
/home/laptop/taichi/include/taichi/math/angular.h:111:27: Anmerkung: »const ValueType« {aka »const Eigen::Quaternion«} ist nicht vom Typ »const std::complex<_Tp>« abgeleitet
111 | ret[1][1] = std::cos(value);
| ~~~~~~~~^~~~~~~
In Datei, eingebunden von /usr/include/features.h:473,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/os_defines.h:39,
von /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/c++config.h:571,
von /usr/include/c++/11.1.0/bits/stl_algobase.h:59,
von /usr/include/c++/11.1.0/memory:63,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:8,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:62:1: Anmerkung: Kandidat: »double cos(double)«
62 | __MATHCALL_VEC (cos,, (Mdouble __x));
| ^~~~~~~~~~~~~~
In Datei, eingebunden von /usr/include/c++/11.1.0/cmath:45,
von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/bits/mathcalls.h:62:1: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »double«
62 | __MATHCALL_VEC (cos,, (Mdouble __x));
| ^
In Datei, eingebunden von /home/laptop/taichi/external/include/spdlog/fmt/bundled/format.h:33,
von /home/laptop/taichi/external/include/spdlog/fmt/fmt.h:21,
von /home/laptop/taichi/include/taichi/common/util.h:268,
von /home/laptop/taichi/include/taichi/math/math.h:8,
von /home/laptop/taichi/include/taichi/common/dict.h:17,
von /home/laptop/taichi/include/taichi/geometry/mesh.h:10,
von /home/laptop/taichi/include/taichi/dynamics/rigid_body.cpp:5:
/usr/include/c++/11.1.0/cmath:184:3: Anmerkung: Kandidat: »constexpr float std::cos(float)«
184 | cos(float __x)
| ^~~
/usr/include/c++/11.1.0/cmath:184:13: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »float«
184 | cos(float __x)
| ~~~~~~^~~
/usr/include/c++/11.1.0/cmath:188:3: Anmerkung: Kandidat: »constexpr long double std::cos(long double)«
188 | cos(long double __x)
| ^~~
/usr/include/c++/11.1.0/cmath:188:19: Anmerkung: keine bekannte Umwandlung für Argument 1 von »const ValueType« {aka »const Eigen::Quaternion«} nach »long double«
188 | cos(long double __x)
| ~~~~~~~~~~~~^~~
make[2]: *** [CMakeFiles/taichi_core.dir/build.make:160: CMakeFiles/taichi_core.dir/include/taichi/dynamics/rigid_body.cpp.o] Fehler 1
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/taichi_core.dir/all] Fehler 2
make: *** [Makefile:91: all] Fehler 2
Error: Build failed.
Error: installation failed.
[laptop@laptop ~]$

Build Failed

I am trying to install taichi at first on windows. But it shows following message:

Build FAILED

"C:\Users\5000\Documents\spgrid_topo_opt-master\taichi-master\build\taichi.sln" (default target) (1) ->
"C:\Users\5000\Documents\spgrid_topo_opt-master\taichi-master\build\ZERO_CHECK.vcxproj" (default target) (2) ->
(SetTelemetryEnvironmentVariables target) ->
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.Cpp.DesignTime.targets(491,5): error MSB4062: The "SetEnv" t
ask could not be loaded from the assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.Build.CppTasks.Commo
n.dll. Could not load file or assembly 'Microsoft.Build.Utilities.Core, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its depend
encies. The system cannot find the file specified. Confirm that the declaration is correct, that the assembly and all its dependencies are available
, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [C:\Users\5000\Documents\spgrid_topo_opt-master\taichi-master\build
\ZERO_CHECK.vcxproj]

Taichi legacy build failed on Ubuntu 20.04

Follwoing the instructions for installation I first attempt to install taichi (legacy branch), so I run the following command wget https://raw.githubusercontent.com/yuanming-hu/taichi/legacy/install.py python3 install.py
I run the second command as python3.8 install.py and it gives me the follwoing error message:

make[2]: *** [CMakeFiles/taichi_core.dir/build.make:193: CMakeFiles/taichi_core.dir/include/taichi/math/svd.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:96: CMakeFiles/taichi_core.dir/all] Error 2 make: *** [Makefile:84: all] Error 2 Error: Build failed. Error: installation failed.

I am working on Ubuntu 20.04 LTS. You mention that your code was tested on Ubuntu 16.04/18.04/Arch Linux. Is it compatible with Ubuntu 20.04 and later?

Am I missing something here? Thanks

running bridge script issue

Hi there,
an issue occurs when I try to run the bridge script
(root):###~/taichi/spgrid_topo_opt/scripts$ python3 opt_bridge.py
[Taichi] mode=release
[Taichi] version 0.6.3, supported archs: [cpu, opengl], commit 471392bc, python 3.7.3
Traceback (most recent call last):
File "opt_bridge.py", line 1, in
from topo_opt import TopoOpt
File "/home/nil/taichi/spgrid_topo_opt/scripts/topo_opt.py", line 4, in
from taichi.dynamics import Simulation
ModuleNotFoundError: No module named 'taichi.dynamics'

is spgrid_topo_opt in the wrong repository ? (I didn't find the 'project' one)
moreover, I don't manage to make the ti build work (still in the solver repository)
Any advices?
Thanks!

build error

cd solver/ make; An error occurred: ^

In file included from CG/../CPU_Kernels/SPGrid_Linear_Elasticity.h(5),
                 from CG/CG_SYSTEM.h(12),
                 from SPGrid_CPU_Solver.cpp(6):
../external/SPGrid/Tools/SPGrid_SIMD_Utilities.h(114): error: identifier "_mm512_loadu_pd" is undefined
      __forceinline static type loadu(const T* address){return _mm512_loadu_pd(address);}

Can't run visualisation

Running the command for visualizing the tcb files produced does not work.
Error message : Implementation [task::vd] not found!
Was this functionality not included in the code?

ti vd cudaErrorMemoryAllocation

Hi, Yuanming!

I'm struggling with visualization of a simple low-resolution bridge problem. I would be so grateful for any kind of help in this direction!
Here is the log:

`➜ taichi git:(legacy) ti vd ./outputs/topo_opt/bridge/task-2020-03-08-17-34-41-r06039__v8_r0064/fem/00990.tcb.zip
[T 03/08/20 22:07:54.815] [logging.cpp:Logger@67] Taichi core started. Thread ID = 3862
Loading module topo_opt

          ☯ ☯ ☯ ☯ ☯ ☯ ☯ ☯              

** Taichi **
** ~~~~~~ **
** Open Source Computer Graphics Library **


          ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷              

Running task [vd]...
[I 03/08/20 22:07:54.974] [volume_renderer.cpp:run@842] Mode set to 'fem'
[I 03/08/20 22:07:54.974] [volume_renderer.cpp:run@882] 1 tcb files found.
[I 03/08/20 22:07:54.974] [volume_renderer.cpp:load_fem@413] Loading ./outputs/topo_opt/bridge/task-2020-03-08-17-34-41-r06039__v8_r0064/fem/00990.tcb.zip
[T 03/08/20 22:07:54.975] [volume_renderer.cpp:load_fem@416] File loaded.
[D 03/08/20 22:07:54.975] [volume_renderer.cpp:load_fem@441]
res: {
vec: (0, 0, 0)
}
[D 03/08/20 22:07:54.975] [volume_renderer.cpp:create_volume@575]
res: {
vec: (8, 12, 28)
}
CUDA error at /home/slovak/topoopt/taichi/projects/spgrid_topo_opt/misc/volume_rendering_kernel.cu:501 code=2(cudaErrorMemoryAllocation) "cudaMemcpyToSymbol(raw_box_size, size, sizeof(raw_box_size))"
➜ taichi git:(legacy)
`

I try to build the FEM solver, but make had failed, I have installed icc and mkl(not sure) .

(py39) user@node01:/taichi/projects/spgrid_topo_opt-master/solver$ icc -v
icc version 15.0.6 (gcc version 5.0.0 compatibility)
(py39) user@node01:
/taichi/projects/spgrid_topo_opt-master/solver$ make
icc -shared -I../external/ -I../external/ -qopenmp -O3 -std=c++14 -fPIC -DHASWELL -mkl -fma -xCORE-AVX2 -DUSING_AVX2 -DUSING_DOUBLE -DICC_18 CG/KRYLOV_SYSTEM_BASE.cpp CG/CONJUGATE_GRADIENT.cpp CG/CG_VECTOR.cpp CG/CG_SYSTEM.cpp CG/KRYLOV_VECTOR_BASE.cpp SPGrid_CPU_Solver.cpp MG/Elasticity_Matrix.cpp -o libSPGridCPUSolver.so

......

Makefile:11: recipe for target 'all' failed
make: *** [all] Error 4

is there any pre-compiled project?

Hi this project looks amazing!
but Im not able to compile it on ubuntu nor on windows.
So is it possible that you can send me a pre-compiled version with the taichi legacy library?
best regards from swizerland :)

Setup "table on a slippery floor" problem

Hi!

I've been playing recently with a simple problem:

  1. One plane load acting along z axis
  2. For fixed volumes (add_dirichlet_bc or add_box_dirichlet_bc)

It works like a charm with axis_to_fix='xyz':
image
But when I change it to axis_to_fix='z' - it fails to factor the problem with the following error:

Reordering completed ... Number of nonzeros in factors = 16028797 Number of factorization MFLOPS = 14759 ERROR during numerical factorization: -4[D 03/18/20 10:37:54.129] [spgrid_topo_opt.cpp:operator()@585] Memory Usage [After iterate] = 1.42 GB Traceback (most recent call last): File "opt_test.py", line 62, in <module> opt.run() File "/home/slovak/topoopt/taichi/projects/spgrid_topo_opt/scripts/topo_opt.py", line 138, in run obj = float(self.iterate(i)) File "/home/slovak/topoopt/taichi/projects/spgrid_topo_opt/scripts/topo_opt.py", line 114, in iterate objective = float(self.general_action("iterate", iter=i)) File "/home/slovak/topoopt/taichi/python/taichi/dynamics/simulation.py", line 23, in general_action return self.c.general_action(config_from_dict(kwargs)) RuntimeError: numerical factorization: -4

Is it is feasible in the current state of a project to set up such a problem? It is more realistic than fixing all 3 axes in a volume as additional structures have to be added in the middle of a model to prevent it from bending.

Many thanks for your answer!
BR, Alex

visualize_density and max_iteration issue

I ran the wheel_ script with cg_iteration = 50, however the optimization kept going after 100 iterations so I stopped it manually. Do you have an idea on how to fix this?
Moreover the [ti vd fem file.tcb ] command is not recognized :
`Loading module topo_opt

          ☯ ☯ ☯ ☯ ☯ ☯ ☯ ☯              

** Taichi **
** ~~~~~~ **
** Open Source Computer Graphics Library **


          ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷              

Running task [visualize_density]...
[E 07/31/20 10:27:16.521] [task.h:create@29] Implementation [task::visualize_density] not found!
[E 07/31/20 10:27:16.521] Received signal 6 (Aborted)`
I tried visualize_density instead of vd but it still didn't work.
And just a little question : is .tcb file convertible in .obj (after making it human readable?) or the solver does it automatially when it stops by its own (because my fem_obj is empty after running the optimization)?
Thank you very much for your help!

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.