SPHinXsys  alpha version
Public Member Functions | Protected Attributes | List of all members
SPH::DiffusionReaction< BaseMaterialType > Class Template Reference

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 ()
 
BaseReactionModelSpeciesReaction ()
 
std::map< std::string, size_tSpeciesIndexMap ()
 
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_tspecies_indexes_map_
 
StdVec< BaseDiffusion * > species_diffusion_
 
BaseReactionModelspecies_reaction_
 

Detailed Description

template<class BaseMaterialType = BaseMaterial>
class SPH::DiffusionReaction< BaseMaterialType >

Complex material for diffusion or/and reactions.

Constructor & Destructor Documentation

◆ DiffusionReaction() [1/2]

template<class BaseMaterialType = BaseMaterial>
template<typename... ConstructorArgs>
SPH::DiffusionReaction< BaseMaterialType >::DiffusionReaction ( StdVec< std::string >  species_name_list,
ConstructorArgs &&...  args 
)
inline

Constructor for material with diffusion only.

◆ DiffusionReaction() [2/2]

template<class BaseMaterialType = BaseMaterial>
template<typename... ConstructorArgs>
SPH::DiffusionReaction< BaseMaterialType >::DiffusionReaction ( BaseReactionModel species_reaction,
StdVec< std::string >  species_name_list,
ConstructorArgs &&...  args 
)
inline

Constructor for material with diffusion and reaction.

Member Function Documentation

◆ initializeAnDiffusion()

template<class BaseMaterialType = BaseMaterial>
template<class DiffusionType , typename... ConstructorArgs>
void SPH::DiffusionReaction< BaseMaterialType >::initializeAnDiffusion ( const std::string &  diffusion_species_name,
const std::string &  gradient_species_name,
ConstructorArgs &&...  args 
)
inline

Initialize a diffusion material.


The documentation for this class was generated from the following file: