mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 21:10:33 +05:00
Mesh generator
85e8c09ff6
Neither GCC nor Clang define an __arm64__ preprocessor macro, but use __aarch64__ (MSVC uses _MARM_64). Add a "64" suffix to the define, i.e. NETGEN_ARCH_ARM64 to make it more obvious in only refers to aarch64, and to be in line with NETGEN_ARCH_AMD64. Replace the (Clang specific) __builtin_readcyclecounter with inline asm: - The function return cycles (i.e. varies with CPU frequency), not time - It may return 0, depending on the PMU settings - It may cause an illegal instruction, in case it is not trapped by the kernel, e.g. on FreeBSD. Reading the generic timer/counter CNTVCT_EL0 instead of PMCCNTR_EL0 avoids these pitfalls. The inline asm works on GCC and Clang, instead of Clang only for the builtin. |
||
---|---|---|
cmake | ||
doc | ||
external_dependencies | ||
libsrc | ||
ng | ||
nglib | ||
py_tutorials | ||
python | ||
rules | ||
tests | ||
tutorials | ||
windows | ||
.gitlab-ci.yml | ||
.gitmodules | ||
AUTHORS | ||
ChangeLog | ||
CLA.pdf | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
depcomp | ||
INSTALL | ||
LICENSE | ||
mkinstalldirs | ||
netgen.icns | ||
NEWS | ||
README.md | ||
TODO |
Netgen mesh generator
NETGEN is an automatic 3d tetrahedral mesh generator. It accepts input from constructive solid geometry (CSG) or boundary representation (BRep) from STL file format. The connection to a geometry kernel allows the handling of IGES and STEP files. NETGEN contains modules for mesh optimization and hierarchical mesh refinement. Netgen 6.x supports scripting via a Python interface. Netgen is open source based on the LGPL license. It is available for Unix/Linux, Windows, and OSX.