Go to file
Lightweight Cell Library Upstream 5f0d04ad37 lcl 2020-10-28 (b7fe5404)
Code extracted from:

    https://gitlab.kitware.com/vtk/lcl.git

at commit b7fe5404f330425e44116f3e9ead66f3a30f83a7 (master).
2020-10-28 14:21:28 -04:00
lcl lcl 2020-10-28 (b7fe5404) 2020-10-28 14:21:28 -04:00
LICENSE.md lcl 2019-10-07 (49094fec) 2019-10-07 15:37:55 -04:00
README.md lcl 2019-10-07 (49094fec) 2019-10-07 15:37:55 -04:00

Lightweight Cell Library

Lightweight Cell Library is a collection of cell types and cell functionality that is designed be used scientific visualization libraries of VTK-m, and VTK.

You can find out more about the design of Lightweight Cell Library in DESIGN.md.

Contributing

There are many ways to contribute to LCL:

Compiler Requirements

  • C++11 Compiler. Lightweight Cell Library has been confirmed to work with the following
    • GCC 4.8+
    • Clang 3.3+
    • XCode 5.0+
    • MSVC 2015+

Example

Below is a simple example of using Lightweight Cell Library to get derivatives and parametric coordinates for different cell types:

#incude <lcl/lcl.h>

std::array<float, 3> pcoords;
auto status = lcl::parametricCenter(lcl::Hexahedron{}, pcoords);

std::vector<std::array<float, 3>> points = { ... };
std::vector<std::array<double, 4>> field = { ... };
std::array<double, 4> derivs[3];
status = lcl::derivative(lcl::Hexahedron{},
                          lcl::makeFieldAccessorNestedSOAConst(points, 3),
                          lcl::makeFieldAccessorNestedSOAConst(field, 4),
                          pcoords,
                          derivs[0],
                          derivs[1],
                          derivs[2]);

License

Lightweight Cell Library is distributed under the OSI-approved BSD 3-clause License. See LICENSE.md for details.