SPHinXsys
alpha version
|
Complex material for diffusion or/and reactions. More...
#include <diffusion_reaction.h>
Inherits BaseMaterialType.
Public Member Functions | |
template<typename... ConstructorArgs> | |
DiffusionReaction (StdVec< std::string > species_name_list, ConstructorArgs &&...args) | |
template<typename... ConstructorArgs> | |
DiffusionReaction (BaseReactionModel &species_reaction, StdVec< std::string > species_name_list, ConstructorArgs &&...args) | |
size_t | NumberOfSpecies () |
size_t | NumberOfSpeciesDiffusion () |
StdVec< BaseDiffusion * > | SpeciesDiffusion () |
BaseReactionModel * | SpeciesReaction () |
std::map< std::string, size_t > | SpeciesIndexMap () |
StdVec< std::string > | getSpeciesNameList () |
void | assignBaseParticles (BaseParticles *base_particles) override |
Real | getDiffusionTimeStepSize (Real smoothing_length) |
Get diffusion time step size. Here, I follow the reference: https://www.uni-muenster.de/imperia/md/content/physik_tp/lectures/ws2016-2017/num_methods_i/heat.pdf. | |
template<class DiffusionType , typename... ConstructorArgs> | |
void | initializeAnDiffusion (const std::string &diffusion_species_name, const std::string &gradient_species_name, ConstructorArgs &&...args) |
virtual DiffusionReaction< BaseMaterialType > * | ThisObjectPtr () override |
Protected Attributes | |
StdVec< std::string > | species_name_list_ |
size_t | number_of_species_ |
std::map< std::string, size_t > | species_indexes_map_ |
StdVec< BaseDiffusion * > | species_diffusion_ |
BaseReactionModel * | species_reaction_ |
Complex material for diffusion or/and reactions.
|
inline |
Constructor for material with diffusion only.
|
inline |
Constructor for material with diffusion and reaction.
|
inline |
Initialize a diffusion material.