Skip to main content

Compatible Particle Discretization and Remap

Project description

COMpatible PArticle Discretization and REmap Toolkit

About

The Compadre Toolkit provides a performance portable solution for the parallel evaluation of computationally dense kernels. The toolkit specifically targets the Generalized Moving Least Squares (GMLS) approach, which requires the inversion of small dense matrices. The result is a set of weights that provide the information needed for remap or entries that constitute the rows of some globally sparse matrix.

This toolkit focuses on the 'on-node' aspects of meshless PDE solution and remap, namely the parallel construction of small dense matrices and their inversion. What it does not provide is the tools for managing fields, inverting globally sparse matrices, or neighbor search that requires orchestration over many MPI processes. This toolkit is designed to be easily dropped-in to an existing MPI (or serial) based framework for PDE solution or remap, with minimal dependencies (Kokkos and KokkosKernels).

Generalized Moving Least Squares (GMLS)

A GMLS problem requires the specification of a target functional equation (Compadre::TargetOperation), a reconstruction space equation (Compadre::ReconstructionSpace), and a sampling functional equation (Compadre::SamplingFunctional).

The Compadre Toolkit is designed to efficiently assemble, factorize, and solve large batches of minimization problems having the form:

equation

Wiki Information

Details about building and using the Compadre toolkit can be found on the Wiki.

Recent Changes

Recent Changes

Installation

Installation of Kokkos and KokkosKernels [Either automatically configured and built, or user installation location provided]

Installation of Compadre

Documentation and Tutorials

The toolkit is documented by Doxygen. Documentation is available online or can be compiled from source. To compile from source: 1.) install doxygen software on your computer, 2.) execute '>> make doc' after having installed the Compadre Toolkit. HTML and Latex documentation will be generated in the doc/ folder, in-source.

Citing the Software

If you write a paper using results obtained with the help of the Compadre Toolkit, please cite the following reference which is applicable to every version of the Compadre Toolkit:

@software{compadre_toolkit,
  author       = {Paul Kuberry and
                  Peter Bosler and
                  Nathaniel Trask},
  title        = {Compadre Toolkit},
  month        = jan, 
  year         = 2019,
  doi          = {10.11578/dc.20190411.1},
  url          = {https://github.com/sandialabs/compadre}
}

If you are using a particular release of the Compadre Toolkit and would like to help others to reproduce your results, please cite that release specifically. A reference to the most recent release is:

@software{compadre_toolkit_v1_6_0,
  author       = {Paul Kuberry and
                  Peter Bosler and
                  Nathaniel Trask},
  title        = {Compadre Toolkit},
  month        = dec,
  year         = 2024,
  publisher    = {Zenodo},
  version      = {v1.6.0},
  doi          = {10.5281/zenodo.14279180},
  url          = {https://doi.org/10.5281/zenodo.14279180}
}
! DOI: 10.11578/dc.20190411.1

Copyright and License

See compadre/COPYRIGHT, compadre/LICENSE, https://trilinos.github.io/license.html and individual file headers for additional information.

Questions?

Contact lead developers:

The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of NTESS or the U.S. Government.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycompadre-serial-1.6.0.tar.gz (7.1 MB view details)

Uploaded Source

File details

Details for the file pycompadre-serial-1.6.0.tar.gz.

File metadata

  • Download URL: pycompadre-serial-1.6.0.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pycompadre-serial-1.6.0.tar.gz
Algorithm Hash digest
SHA256 4f829417ea7907e278e40e7a835bd93f35d4ee7603127b9295db5b62b0886af9
MD5 dd93b1b6eeea244b5f37fad46f93e003
BLAKE2b-256 b7790e591e6c2baa31457d56002567c432bc8a81e24a8ff396b505e76e8b5fb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycompadre-serial-1.6.0.tar.gz:

Publisher: pycompadre_sdist_serial.yml on sandialabs/compadre

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page