![]() |
Shamrock 2025.10.0
Astrophysical Code
|
#include "shambase/exception.hpp"#include "shambase/logs/loglevels.hpp"#include "shambase/memory.hpp"#include "shambindings/pybindaliases.hpp"#include "shambindings/pytypealias.hpp"#include "shamcomm/logs.hpp"#include "shamcomm/worldInfo.hpp"#include "shammath/crystalLattice.hpp"#include "shammath/sphkernels.hpp"#include "shammodels/common/shamrock_json_to_py_json.hpp"#include "shammodels/sph/Model.hpp"#include "shammodels/sph/io/PhantomDump.hpp"#include "shammodels/sph/modules/AnalysisAngularMomentum.hpp"#include "shammodels/sph/modules/AnalysisBarycenter.hpp"#include "shammodels/sph/modules/AnalysisDisc.hpp"#include "shammodels/sph/modules/AnalysisDustMass.hpp"#include "shammodels/sph/modules/AnalysisEnergyKinetic.hpp"#include "shammodels/sph/modules/AnalysisEnergyPotential.hpp"#include "shammodels/sph/modules/AnalysisSodTube.hpp"#include "shammodels/sph/modules/AnalysisTotalMomentum.hpp"#include "shammodels/sph/modules/render/CartesianRender.hpp"#include "shammodels/sph/modules/render/RenderFieldGetter.hpp"#include "shamphys/SodTube.hpp"#include "shamrock/scheduler/PatchScheduler.hpp"#include <pybind11/cast.h>#include <pybind11/numpy.h>#include <pybind11/pytypes.h>#include <memory>#include <optional>#include <random>#include <utility>Go to the source code of this file.
Typedefs | |
| using | VariantSPHModelBind |
Functions | |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_instance (py::module &m, std::string name_config, std::string name_model) |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_analysisBarycenter_instance (py::module &m, const std::string &name_model) |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_analysisEnergyKinetic_instance (py::module &m, const std::string &name_model) |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_analysisEnergyPotential_instance (py::module &m, const std::string &name_model) |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_analysisTotalMomentum_instance (py::module &m, const std::string &name_model) |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_analysisAngularMomentum_instance (py::module &m, const std::string &name_model) |
| template<class Tvec, template< class > class SPHKernel> | |
| void | add_analysisDustMass_instance (py::module &m, const std::string &name_model) |
| template<class Analysis, typename Tvec, template< class > class SPHKernel> | |
| auto | analysis_impl (shammodels::sph::Model< Tvec, SPHKernel > &model) -> Analysis |
| template<template< class, template< class > class > class Analysis> | |
| void | register_analysis_impl_for_each_kernel (py::module &msph, const char *name_class) |
| &EvolveUntilResults::reach_target_time | def_readwrite ("reach_niter_max", &EvolveUntilResults::reach_niter_max) .def_readwrite("reach_max_walltime" |
| &EvolveUntilResults::reach_target_time &EvolveUntilResults::reach_max_walltime | def_readwrite ("iter_count", &EvolveUntilResults::iter_count) .def("__repr__" |
| add_instance< f64_3, shammath::M4 > (msph, "SPHModel_f64_3_M4_SolverConfig", "SPHModel_f64_3_M4") | |
| add_instance< f64_3, shammath::M6 > (msph, "SPHModel_f64_3_M6_SolverConfig", "SPHModel_f64_3_M6") | |
| add_instance< f64_3, shammath::M8 > (msph, "SPHModel_f64_3_M8_SolverConfig", "SPHModel_f64_3_M8") | |
| add_instance< f64_3, shammath::C2 > (msph, "SPHModel_f64_3_C2_SolverConfig", "SPHModel_f64_3_C2") | |
| add_instance< f64_3, shammath::C4 > (msph, "SPHModel_f64_3_C4_SolverConfig", "SPHModel_f64_3_C4") | |
| add_instance< f64_3, shammath::C6 > (msph, "SPHModel_f64_3_C6_SolverConfig", "SPHModel_f64_3_C6") | |
| m | def ("get_Model_SPH", [](ShamrockCtx &ctx, const std::string &vector_type, const std::string &kernel) -> VariantSPHModelBind { VariantSPHModelBind ret;if(vector_type=="f64_3" &&kernel=="M4") { ret=std::make_unique< Model< f64_3, shammath::M4 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="M6") { ret=std::make_unique< Model< f64_3, shammath::M6 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="M8") { ret=std::make_unique< Model< f64_3, shammath::M8 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C2") { ret=std::make_unique< Model< f64_3, shammath::C2 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C4") { ret=std::make_unique< Model< f64_3, shammath::C4 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C6") { ret=std::make_unique< Model< f64_3, shammath::C6 > >(ctx);} else { throw shambase::make_except_with_loc< std::invalid_argument >("unknown combination of representation and kernel");} return ret;}, py::kw_only(), py::arg("context"), py::arg("vector_type"), py::arg("sph_kernel")) |
| py::class_< shammodels::sph::modules::ISPHSetupNode, std::shared_ptr< shammodels::sph::modules::ISPHSetupNode > > (msph, "ISPHSetupNode") .def("get_dot" | |
| py::class_< shammodels::sph::TimestepLog >(msph, "TimestepLog") .def(py | add_analysisBarycenter_instance< f64_3, shammath::M4 > (msph, "AnalysisBarycenter_f64_3_M4") |
| add_analysisBarycenter_instance< f64_3, shammath::M6 > (msph, "AnalysisBarycenter_f64_3_M6") | |
| add_analysisBarycenter_instance< f64_3, shammath::M8 > (msph, "AnalysisBarycenter_f64_3_M8") | |
| add_analysisBarycenter_instance< f64_3, shammath::C2 > (msph, "AnalysisBarycenter_f64_3_C2") | |
| add_analysisBarycenter_instance< f64_3, shammath::C4 > (msph, "AnalysisBarycenter_f64_3_C4") | |
| add_analysisBarycenter_instance< f64_3, shammath::C6 > (msph, "AnalysisBarycenter_f64_3_C6") | |
| add_analysisEnergyKinetic_instance< f64_3, shammath::M4 > (msph, "AnalysisEnergyKinetic_f64_3_M4") | |
| add_analysisEnergyKinetic_instance< f64_3, shammath::M6 > (msph, "AnalysisEnergyKinetic_f64_3_M6") | |
| add_analysisEnergyKinetic_instance< f64_3, shammath::M8 > (msph, "AnalysisEnergyKinetic_f64_3_M8") | |
| add_analysisEnergyKinetic_instance< f64_3, shammath::C2 > (msph, "AnalysisEnergyKinetic_f64_3_C2") | |
| add_analysisEnergyKinetic_instance< f64_3, shammath::C4 > (msph, "AnalysisEnergyKinetic_f64_3_C4") | |
| add_analysisEnergyKinetic_instance< f64_3, shammath::C6 > (msph, "AnalysisEnergyKinetic_f64_3_C6") | |
| add_analysisEnergyPotential_instance< f64_3, shammath::M4 > (msph, "AnalysisEnergyPotential_f64_3_M4") | |
| add_analysisEnergyPotential_instance< f64_3, shammath::M6 > (msph, "AnalysisEnergyPotential_f64_3_M6") | |
| add_analysisEnergyPotential_instance< f64_3, shammath::M8 > (msph, "AnalysisEnergyPotential_f64_3_M8") | |
| add_analysisEnergyPotential_instance< f64_3, shammath::C2 > (msph, "AnalysisEnergyPotential_f64_3_C2") | |
| add_analysisEnergyPotential_instance< f64_3, shammath::C4 > (msph, "AnalysisEnergyPotential_f64_3_C4") | |
| add_analysisEnergyPotential_instance< f64_3, shammath::C6 > (msph, "AnalysisEnergyPotential_f64_3_C6") | |
| add_analysisTotalMomentum_instance< f64_3, shammath::M4 > (msph, "AnalysisTotalMomentum_f64_3_M4") | |
| add_analysisTotalMomentum_instance< f64_3, shammath::M6 > (msph, "AnalysisTotalMomentum_f64_3_M6") | |
| add_analysisTotalMomentum_instance< f64_3, shammath::M8 > (msph, "AnalysisTotalMomentum_f64_3_M8") | |
| add_analysisTotalMomentum_instance< f64_3, shammath::C2 > (msph, "AnalysisTotalMomentum_f64_3_C2") | |
| add_analysisTotalMomentum_instance< f64_3, shammath::C4 > (msph, "AnalysisTotalMomentum_f64_3_C4") | |
| add_analysisTotalMomentum_instance< f64_3, shammath::C6 > (msph, "AnalysisTotalMomentum_f64_3_C6") | |
| add_analysisAngularMomentum_instance< f64_3, shammath::M4 > (msph, "AnalysisAngularMomentum_f64_3_M4") | |
| add_analysisAngularMomentum_instance< f64_3, shammath::M6 > (msph, "AnalysisAngularMomentum_f64_3_M6") | |
| add_analysisAngularMomentum_instance< f64_3, shammath::M8 > (msph, "AnalysisAngularMomentum_f64_3_M8") | |
| add_analysisAngularMomentum_instance< f64_3, shammath::C2 > (msph, "AnalysisAngularMomentum_f64_3_C2") | |
| add_analysisAngularMomentum_instance< f64_3, shammath::C4 > (msph, "AnalysisAngularMomentum_f64_3_C4") | |
| add_analysisAngularMomentum_instance< f64_3, shammath::C6 > (msph, "AnalysisAngularMomentum_f64_3_C6") | |
| register_analysis_impl_for_each_kernel< modules::AnalysisBarycenter > (msph, "analysisBarycenter") | |
| register_analysis_impl_for_each_kernel< modules::AnalysisEnergyKinetic > (msph, "analysisEnergyKinetic") | |
| register_analysis_impl_for_each_kernel< modules::AnalysisEnergyPotential > (msph, "analysisEnergyPotential") | |
| register_analysis_impl_for_each_kernel< modules::AnalysisTotalMomentum > (msph, "analysisTotalMomentum") | |
| register_analysis_impl_for_each_kernel< modules::AnalysisAngularMomentum > (msph, "analysisAngularMomentum") | |
| add_analysisDustMass_instance< f64_3, shammath::M4 > (msph, "AnalysisDustMass_f64_3_M4") | |
| add_analysisDustMass_instance< f64_3, shammath::M6 > (msph, "AnalysisDustMass_f64_3_M6") | |
| add_analysisDustMass_instance< f64_3, shammath::M8 > (msph, "AnalysisDustMass_f64_3_M8") | |
| add_analysisDustMass_instance< f64_3, shammath::C2 > (msph, "AnalysisDustMass_f64_3_C2") | |
| add_analysisDustMass_instance< f64_3, shammath::C4 > (msph, "AnalysisDustMass_f64_3_C4") | |
| add_analysisDustMass_instance< f64_3, shammath::C6 > (msph, "AnalysisDustMass_f64_3_C6") | |
| register_analysis_impl_for_each_kernel< modules::AnalysisDustMass > (msph, "analysisDustMass") | |
Variables | |
| ON_PYTHON_INIT | |
| py::module | msph = m.def_submodule("model_sph", "Shamrock sph solver") |
| &EvolveUntilResults::reach_target_time &EvolveUntilResults::reach_max_walltime const EvolveUntilResults & | self |
Definition in file pySPHModel.cpp.
| using VariantSPHModelBind |
Definition at line 1643 of file pySPHModel.cpp.
| void add_analysisAngularMomentum_instance | ( | py::module & | m, |
| const std::string & | name_model ) |
Definition at line 1514 of file pySPHModel.cpp.
| void add_analysisBarycenter_instance | ( | py::module & | m, |
| const std::string & | name_model ) |
Definition at line 1448 of file pySPHModel.cpp.
| void add_analysisDustMass_instance | ( | py::module & | m, |
| const std::string & | name_model ) |
Definition at line 1530 of file pySPHModel.cpp.
| void add_analysisEnergyKinetic_instance | ( | py::module & | m, |
| const std::string & | name_model ) |
Definition at line 1466 of file pySPHModel.cpp.
| void add_analysisEnergyPotential_instance | ( | py::module & | m, |
| const std::string & | name_model ) |
Definition at line 1482 of file pySPHModel.cpp.
| void add_analysisTotalMomentum_instance | ( | py::module & | m, |
| const std::string & | name_model ) |
Definition at line 1498 of file pySPHModel.cpp.
| void add_instance | ( | py::module & | m, |
| std::string | name_config, | ||
| std::string | name_model ) |
Definition at line 51 of file pySPHModel.cpp.
| auto analysis_impl | ( | shammodels::sph::Model< Tvec, SPHKernel > & | model | ) | ->Analysis |
Definition at line 1548 of file pySPHModel.cpp.
| void register_analysis_impl_for_each_kernel | ( | py::module & | msph, |
| const char * | name_class ) |
Definition at line 1553 of file pySPHModel.cpp.
| py::module msph = m.def_submodule("model_sph", "Shamrock sph solver") |
Definition at line 1616 of file pySPHModel.cpp.
| ON_PYTHON_INIT |
Definition at line 1613 of file pySPHModel.cpp.
| std::shared_ptr<shammodels::sph::modules::ISPHSetupNode>& self |
Definition at line 1623 of file pySPHModel.cpp.