KIDS  ver-0.0.1
KIDS : Kernel Integrated Dynamics Simulator
Loading...
Searching...
No Matches
PROJECT_NS::Kernel_GWP Class Referencefinal

#include <Kernel_GWP.h>

Inheritance diagram for PROJECT_NS::Kernel_GWP:
Inheritance graph
Collaboration diagram for PROJECT_NS::Kernel_GWP:
Collaboration graph

Public Member Functions

virtual const std::string getName ()
 Get the name of the kernel.
 
virtual int getType () const
 Get the type of the kernel.
 
 Kernel_GWP (std::shared_ptr< Kernel > kmodel, std::shared_ptr< Kernel > krepr, std::shared_ptr< Kernel > kforce)
 
void setInputParam (std::shared_ptr< Param > &PM)
 Set input parameters for the kernel and its children.
 
void setInputDataSet (std::shared_ptr< DataSet > &DS)
 Set input data set for the kernel and its children.
 
std::shared_ptr< ParamgetParam () const
 Get the parameter associated with the kernel.
 
std::shared_ptr< DataSetgetDataSet () const
 Get the data set associated with the kernel.
 
StatusinitializeKernel (Status &stat)
 Prepare initial conditions for the kernel and its children.
 
StatusexecuteKernel (Status &stat)
 Execute the kernel's algorithm and those of its children.
 
StatusfinalizeKernel (Status &stat)
 Finalize the kernel and its children, performing any necessary cleanup.
 
int getID () const
 Get the ID of the kernel.
 
bool operator== (const Kernel &ker)
 Overloaded equality operator to compare two Kernel objects by their IDs.
 
KernelappendChild (std::shared_ptr< Kernel > ker)
 Append a kernel as the last child of the current tree node.
 
KernelinsertAt (std::vector< std::size_t > indexes, std::shared_ptr< Kernel > ker)
 Insert a kernel at specified indexes in the tree.
 
KernelremoveAt (std::vector< std::size_t > indexes)
 Remove kernels at specified indexes from the tree.
 
KernelupdateAt (std::vector< std::size_t > indexes, std::shared_ptr< Kernel > ker)
 Update the kernel at specified indexes in the tree.
 
std::tuple< Kernel *, std::size_t > getLastParentKernelAndChildOrder ()
 Retrieve the last parent kernel along with the order of its child kernels, if available.
 
std::shared_ptr< RuleSetgetRuleSet ()
 Get RuleSet associated with the Kernel.
 
const std::string generateInformationString (double total_time=-1.0f, int current_layer=0, int total_depth=0, int total_align_size=0)
 Generate a formatted string containing information about the kernel.
 

Static Public Member Functions

static int calc_Ekin (kids_real *Ekin, kids_real *p, kids_real *m, int P, int N)
 
static int calc_Snuc (kids_complex *S, kids_real *x1, kids_real *p1, kids_real *m1, kids_real *g1, kids_real *x2, kids_real *p2, kids_real *m2, kids_real *g2, kids_real *alpha, int P, int N)
 the expression is exp(-0.25*a*(x1-x2)^2 -0.25*(p1-p2)/a + 0.5i*(p1+p2)(x1-x2) - i(g1-g2))
 
static int calc_Sele (kids_complex *S, kids_complex *c1, kids_complex *c2, kids_real xi, kids_real gamma, int P, int F)
 
static int calc_dtlnSnuc (kids_complex *dtlnSnuc, kids_real *x, kids_real *p, kids_real *m, kids_real *f, kids_real *alpha, kids_real *Ekin, int P, int N)
 
static int calc_dtSele (kids_complex *dtlnSele, kids_complex *Sele, kids_complex *c, kids_complex *H, kids_real *vpes, int P, int F)
 
static int calc_invS (kids_complex *invS, kids_complex *S, int P)
 
static double calc_density (kids_complex *rhored, kids_complex *Acoeff, kids_complex *Snuc, kids_complex *c, kids_real xi, kids_real gamma, int Pu, int P, int F)
 
static int calc_Hbasis (kids_complex *Hbasis, kids_real *vpes, kids_real *grad, kids_real *V, kids_real *dV, kids_real *x, kids_real *p, kids_real *m, kids_real *alpha, kids_complex *Sele, kids_complex *c, int P, int N, int F)
 
static int calc_Hbasis_adia (kids_complex *Hbasis, kids_real *E, kids_real *dE, kids_real *x, kids_real *p, kids_real *m, kids_real *alpha, kids_complex *c, int P, int N, int F)
 
static int dump (Kernel *ker)
 
static int report (Kernel *ker)
 
static int mpi_reduce_info (Kernel *ker)
 
static const std::string serializeKernel (const Kernel &ker)
 Serialize a Kernel object into a string representation.
 
static std::shared_ptr< KerneldeserializeKernel (const std::string &str)
 Deserialize a string representation into a Kernel object.
 

Protected Member Functions

virtual StatusfinalizeKernel_impl (Status &stat)
 Virtual function to finalize the kernel implementation.
 

Protected Attributes

bool is_timing = false
 Flag indicating whether timing is enabled for this kernel.
 
bool has_parent = false
 Flag indicating whether the kernel has a parent.
 
int count_calc = 0
 Counter for the number of calculations performed by this kernel.
 
int count_exec = 0
 Counter for the number of executions performed by this kernel.
 
int kernel_id = 0
 ID of the kernel.
 
int kernel_type = 0
 Type of the kernel.
 
double exec_time = 0.0f
 Total execution time of the kernel.
 
int depth = 0
 Depth of the kernel in the tree structure.
 
int max_align_size = 0
 Maximum alignment size used by this kernel.
 
std::string kernel_name
 Name of the kernel.
 
std::shared_ptr< Param_param
 Shared pointer to the Param object associated with this kernel.
 
std::shared_ptr< DataSet_dataset
 Shared pointer to the DataSet object associated with this kernel.
 
std::shared_ptr< RuleSet_ruleset
 Recorded Rules associated with the Kernel.
 
Kernel_parent_kernel
 Pointer to the parent kernel.
 
std::size_t _order_in_parent
 Order of this kernel in its parent's children.
 
std::vector< std::shared_ptr< Kernel > > _child_kernels
 Vector containing shared pointers to the child kernels of this kernel.
 
std::vector< std::shared_ptr< Kernel > > _all_kernels
 Vector containing shared pointers to all descendant kernels of this kernel.
 

Private Member Functions

void setInputParam_impl (std::shared_ptr< Param > &PM)
 Virtual function to set input parameters for the kernel implementation.
 
void setInputDataSet_impl (std::shared_ptr< DataSet > &DS)
 Virtual function to set input data set for the kernel implementation.
 
StatusinitializeKernel_impl (Status &stat)
 Virtual function to initialize the kernel implementation.
 
StatusexecuteKernel_impl (Status &stat)
 Virtual function to execute the kernel implementation.
 
Statusimpl_0 (Status &stat)
 
Statusimpl_1 (Status &stat)
 
int cloning ()
 
int death ()
 
void connectRelatedKernels (std::shared_ptr< Kernel > &ker)
 Connect related kernels to this kernel.
 

Static Private Member Functions

static std::map< std::string, Kernel * > & getDictOfKernels ()
 Get the dictionary of kernels (mapping from names to kernel pointers).
 
static std::vector< Kernel * > & getKernels ()
 Get the vector of all kernel pointers.
 

Private Attributes

int impl_type
 
int samp_type
 
int aset_type
 
std::shared_ptr< Kernel_kmodel
 
std::shared_ptr< Kernel_krepr
 
std::shared_ptr< Kernel_kforce
 
kids_real break_thres
 
int time_displace_step
 
kids_real dt
 
kids_real xi
 
kids_real gamma
 
kids_real alpha0
 
kids_real width_scaling
 
kids_realx
 
kids_realp
 
kids_realm
 
kids_realf
 
kids_realg
 
kids_realalpha
 
kids_realEkin
 
kids_realve
 
kids_realveF
 
kids_realvpes
 
kids_realgrad
 
kids_realV
 
kids_realdV
 
kids_realE
 
kids_realdE
 
kids_realT
 
kids_complexc
 
kids_complexUdt
 
kids_complexH
 
kids_complexSnuc
 
kids_complexSele
 
kids_complexS
 
kids_complexinvS
 
kids_realL1
 
kids_realL2
 
kids_complexS1
 
kids_complexS1h
 
kids_complexinvS1h
 
kids_complexR1
 
kids_complexS2
 
kids_complexS2h
 
kids_complexinvS2h
 
kids_complexR2
 
kids_complexSx
 
kids_complexdtlnSnuc
 
kids_complexdtSele
 
kids_complexHbasis
 
kids_complexHcoeff
 
kids_complexAcoeff
 
kids_complexdtAcoeff
 
kids_realL
 
kids_complexR
 
kids_complexUXdt
 
kids_complexUYdt
 
kids_complexXcoeff
 
kids_complexrhored
 
kids_complexrhored2
 
kids_complexrhored3
 
kids_realMatR_PP
 temporary
 
kids_complexMatC_PP
 
kids_complexI_PP
 
kids_complexfun_diag_P
 
kids_complexfun_diag_F
 
kids_complexUbranch
 
kids_realx_last
 
kids_realp_last
 
kids_realgrad_last
 
kids_realdV_last
 
kids_realg_last
 
kids_complexc_last
 
int P_used
 
int P_used0
 
kids_realP_used_ptr
 
int max_clone
 
int * clone_account
 
kids_realnorm_ptr
 

Detailed Description

Definition at line 6 of file Kernel_GWP.h.

Constructor & Destructor Documentation

◆ Kernel_GWP()

PROJECT_NS::Kernel_GWP::Kernel_GWP ( std::shared_ptr< Kernel > kmodel,
std::shared_ptr< Kernel > krepr,
std::shared_ptr< Kernel > kforce )
inline

Definition at line 12 of file Kernel_GWP.h.

References PROJECT_NS::Kernel::appendChild().

Here is the call graph for this function:

Member Function Documentation

◆ appendChild()

Kernel & Kernel::appendChild ( std::shared_ptr< Kernel > ker)
inherited

Append a kernel as the last child of the current tree node.

Parameters
kerThe kernel to append as the last child.
Returns
Reference to the modified kernel.

Definition at line 78 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::_order_in_parent, PROJECT_NS::Kernel::_ruleset, PROJECT_NS::Kernel::depth, PROJECT_NS::Kernel::getLastParentKernelAndChildOrder(), and PROJECT_NS::Kernel::max_align_size.

Referenced by PROJECT_NS::Kernel_Elec_NAD::Kernel_Elec_NAD(), PROJECT_NS::Kernel_Elec_Switch::Kernel_Elec_Switch(), Kernel_GWP(), PROJECT_NS::Model_ElectronTransfer::Model_ElectronTransfer(), and PROJECT_NS::Model_SystemBath::Model_SystemBath().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_density()

double PROJECT_NS::Kernel_GWP::calc_density ( kids_complex * rhored,
kids_complex * Acoeff,
kids_complex * Snuc,
kids_complex * c,
kids_real xi,
kids_real gamma,
int Pu,
int P,
int F )
static

Definition at line 211 of file Kernel_GWP.cpp.

Referenced by executeKernel_impl().

Here is the caller graph for this function:

◆ calc_dtlnSnuc()

int PROJECT_NS::Kernel_GWP::calc_dtlnSnuc ( kids_complex * dtlnSnuc,
kids_real * x,
kids_real * p,
kids_real * m,
kids_real * f,
kids_real * alpha,
kids_real * Ekin,
int P,
int N )
static

Definition at line 122 of file Kernel_GWP.cpp.

References alpha, dtlnSnuc, f, phys::math::im(), m, p, and x.

Referenced by impl_0().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_dtSele()

int PROJECT_NS::Kernel_GWP::calc_dtSele ( kids_complex * dtlnSele,
kids_complex * Sele,
kids_complex * c,
kids_complex * H,
kids_real * vpes,
int P,
int F )
static

Definition at line 180 of file Kernel_GWP.cpp.

References PROJECT_NS::ARRAY_INNER_TRANS1(), PROJECT_NS::ARRAY_INNER_VMV_TRANS1(), c, dtSele, H, phys::math::im(), and vpes.

Referenced by impl_0().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_Ekin()

int PROJECT_NS::Kernel_GWP::calc_Ekin ( kids_real * Ekin,
kids_real * p,
kids_real * m,
int P,
int N )
static

Definition at line 18 of file Kernel_GWP.cpp.

References Ekin, m, and p.

Referenced by impl_0(), and impl_1().

Here is the caller graph for this function:

◆ calc_Hbasis()

int PROJECT_NS::Kernel_GWP::calc_Hbasis ( kids_complex * Hbasis,
kids_real * vpes,
kids_real * grad,
kids_real * V,
kids_real * dV,
kids_real * x,
kids_real * p,
kids_real * m,
kids_real * alpha,
kids_complex * Sele,
kids_complex * c,
int P,
int N,
int F )
static

Definition at line 229 of file Kernel_GWP.cpp.

References alpha, PROJECT_NS::ARRAY_INNER_VMV_TRANS1(), c, dV, grad, Hbasis, phys::math::im(), m, p, Sele, V, vpes, and x.

Referenced by impl_0(), and impl_1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calc_Hbasis_adia()

int PROJECT_NS::Kernel_GWP::calc_Hbasis_adia ( kids_complex * Hbasis,
kids_real * E,
kids_real * dE,
kids_real * x,
kids_real * p,
kids_real * m,
kids_real * alpha,
kids_complex * c,
int P,
int N,
int F )
static

Definition at line 273 of file Kernel_GWP.cpp.

References alpha, c, dE, E, PROJECT_NS::Dimension::FF, Hbasis, phys::math::im(), m, p, and x.

Here is the call graph for this function:

◆ calc_invS()

static int PROJECT_NS::Kernel_GWP::calc_invS ( kids_complex * invS,
kids_complex * S,
int P )
static

◆ calc_Sele()

int PROJECT_NS::Kernel_GWP::calc_Sele ( kids_complex * S,
kids_complex * c1,
kids_complex * c2,
kids_real xi,
kids_real gamma,
int P,
int F )
static

Definition at line 108 of file Kernel_GWP.cpp.

Referenced by impl_0(), impl_1(), and initializeKernel_impl().

Here is the caller graph for this function:

◆ calc_Snuc()

int PROJECT_NS::Kernel_GWP::calc_Snuc ( kids_complex * S,
kids_real * x1,
kids_real * p1,
kids_real * m1,
kids_real * g1,
kids_real * x2,
kids_real * p2,
kids_real * m2,
kids_real * g2,
kids_real * alpha,
int P,
int N )
static

the expression is exp(-0.25*a*(x1-x2)^2 -0.25*(p1-p2)/a + 0.5i*(p1+p2)(x1-x2) - i(g1-g2))

Definition at line 36 of file Kernel_GWP.cpp.

References alpha, phys::math::im(), and Snuc.

Referenced by impl_0(), impl_1(), and initializeKernel_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cloning()

int PROJECT_NS::Kernel_GWP::cloning ( )
private

◆ connectRelatedKernels()

void Kernel::connectRelatedKernels ( std::shared_ptr< Kernel > & ker)
privateinherited

Connect related kernels to this kernel.

This function connects related kernels to the current kernel. Related kernels are kernels that are associated with or connected to this kernel in some way.

Note
The exact definition of "related kernels" may vary depending on the context and application.

Definition at line 228 of file Kernel.cpp.

References PROJECT_NS::Kernel::_all_kernels, and PROJECT_NS::Kernel::connectRelatedKernels().

Referenced by PROJECT_NS::Kernel::connectRelatedKernels().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ death()

int PROJECT_NS::Kernel_GWP::death ( )
inlineprivate

Definition at line 162 of file Kernel_GWP.h.

Referenced by impl_0(), and impl_1().

Here is the caller graph for this function:

◆ deserializeKernel()

std::shared_ptr< Kernel > Kernel::deserializeKernel ( const std::string & str)
staticinherited

Deserialize a string representation into a Kernel object.

Parameters
strThe string containing the serialized Kernel object.
Returns
A shared pointer to the deserialized Kernel object.

Definition at line 187 of file Kernel.cpp.

◆ dump()

static int PROJECT_NS::Kernel::dump ( Kernel * ker)
inlinestaticinherited

Definition at line 71 of file Kernel.h.

◆ executeKernel()

◆ executeKernel_impl()

◆ finalizeKernel()

Status & Kernel::finalizeKernel ( Status & stat)
inherited

Finalize the kernel and its children, performing any necessary cleanup.

Parameters
statThe status object to store finalization status.
Returns
The status object after finalization.

Definition at line 66 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, and PROJECT_NS::Kernel::finalizeKernel_impl().

Here is the call graph for this function:

◆ finalizeKernel_impl()

Status & Kernel::finalizeKernel_impl ( Status & stat)
protectedvirtualinherited

Virtual function to finalize the kernel implementation.

Parameters
statStatus object to store finalization status.
Returns
Status object after finalization.

Reimplemented in PROJECT_NS::Kernel_Recorder.

Definition at line 226 of file Kernel.cpp.

Referenced by PROJECT_NS::Kernel::finalizeKernel().

Here is the caller graph for this function:

◆ generateInformationString()

const std::string Kernel::generateInformationString ( double total_time = -1.0f,
int current_layer = 0,
int total_depth = 0,
int total_align_size = 0 )
inherited

Generate a formatted string containing information about the kernel.

This function generates a formatted string containing information about the kernel, including its total time, current layer, total depth, and total alignment size.

Parameters
total_timeThe total time taken by the kernel (default: -1.0f).
current_layerThe current layer of the kernel (default: 0).
total_depthThe total depth of the kernel (default: 0).
total_align_sizeThe total alignment size of the kernel (default: 0).
Returns
A formatted string containing kernel information.

Definition at line 189 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::depth, PROJECT_NS::Kernel::exec_time, PROJECT_NS::Kernel::getName(), PROJECT_NS::Kernel::kernel_id, and PROJECT_NS::Kernel::max_align_size.

Here is the call graph for this function:

◆ getDataSet()

std::shared_ptr< DataSet > Kernel::getDataSet ( ) const
inherited

Get the data set associated with the kernel.

Returns
Shared pointer to the DataSet object.

Definition at line 37 of file Kernel.cpp.

References PROJECT_NS::Kernel::_dataset.

◆ getDictOfKernels()

static std::map< std::string, Kernel * > & PROJECT_NS::Kernel::getDictOfKernels ( )
staticprivateinherited

Get the dictionary of kernels (mapping from names to kernel pointers).

This function returns a reference to the static map containing the dictionary of kernels. The dictionary maps kernel names to their corresponding kernel pointers.

Returns
A reference to the dictionary of kernels.

◆ getID()

int Kernel::getID ( ) const
inherited

Get the ID of the kernel.

Returns
The ID of the kernel.

Definition at line 74 of file Kernel.cpp.

References PROJECT_NS::Kernel::kernel_id.

Referenced by PROJECT_NS::Kernel_Prioritization::getName(), and PROJECT_NS::Kernel::operator==().

Here is the caller graph for this function:

◆ getKernels()

std::vector< Kernel * > & Kernel::getKernels ( )
staticprivateinherited

Get the vector of all kernel pointers.

This function returns a reference to the static vector containing pointers to all kernels.

Returns
A reference to the vector of all kernel pointers.

Definition at line 247 of file Kernel.cpp.

Referenced by PROJECT_NS::Kernel::Kernel().

Here is the caller graph for this function:

◆ getLastParentKernelAndChildOrder()

std::tuple< Kernel *, std::size_t > Kernel::getLastParentKernelAndChildOrder ( )
inherited

Retrieve the last parent kernel along with the order of its child kernels, if available.

Returns
A tuple containing a pointer to the last parent kernel and the order of its child kernels.

Definition at line 178 of file Kernel.cpp.

References PROJECT_NS::Kernel::_order_in_parent, PROJECT_NS::Kernel::_parent_kernel, and PROJECT_NS::Kernel::has_parent.

Referenced by PROJECT_NS::Kernel::appendChild(), PROJECT_NS::Kernel::insertAt(), and PROJECT_NS::Kernel::updateAt().

Here is the caller graph for this function:

◆ getName()

const std::string PROJECT_NS::Kernel_GWP::getName ( )
virtual

Get the name of the kernel.

Returns the concatenated name of the kernel, prefixed with "Kernel__".

Returns
The name of the kernel.

Reimplemented from PROJECT_NS::Kernel.

Definition at line 13 of file Kernel_GWP.cpp.

◆ getParam()

std::shared_ptr< Param > Kernel::getParam ( ) const
inherited

Get the parameter associated with the kernel.

Returns
Shared pointer to the Param object.

Definition at line 35 of file Kernel.cpp.

References PROJECT_NS::Kernel::_param.

◆ getRuleSet()

std::shared_ptr< RuleSet > Kernel::getRuleSet ( )
inherited

Get RuleSet associated with the Kernel.

Returns
The RuleSet (name, dataPointer, datatype, size, stride).

Definition at line 183 of file Kernel.cpp.

References PROJECT_NS::Kernel::_ruleset.

◆ getType()

int PROJECT_NS::Kernel_GWP::getType ( ) const
virtual

Get the type of the kernel.

This function returns the type of the kernel.

Note
This function should be implemented in derived classes to return the specific type of the kernel.
Returns
The type of the kernel.

Reimplemented from PROJECT_NS::Kernel.

Definition at line 15 of file Kernel_GWP.cpp.

References FUNCTION_NAME, and utils::hash().

Here is the call graph for this function:

◆ impl_0()

◆ impl_1()

◆ initializeKernel()

Status & Kernel::initializeKernel ( Status & stat)
inherited

Prepare initial conditions for the kernel and its children.

Parameters
statThe status object to store initialization status.
Returns
The status object after initialization.

Definition at line 39 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::_dataset, PROJECT_NS::Kernel::count_calc, and PROJECT_NS::Kernel::initializeKernel_impl().

Here is the call graph for this function:

◆ initializeKernel_impl()

Status & PROJECT_NS::Kernel_GWP::initializeKernel_impl ( Status & stat)
privatevirtual

Virtual function to initialize the kernel implementation.

Parameters
statStatus object to store initialization status.
Returns
Status object after initialization.

< initial measure

< initial occupation

< initial c (not used)

< initial propagator

time displaced re-sampling

< initial measure

< initial occupation

< use time-displaced c ?

< initial propagator reset to identity

Reimplemented from PROJECT_NS::Kernel.

Definition at line 411 of file Kernel_GWP.cpp.

References PROJECT_NS::Kernel::_dataset, _kforce, _kmodel, _krepr, Acoeff, alpha, alpha0, ARRAY_EYE, ARRAY_MATMUL, ARRAY_MATMUL3_TRANS1, ARRAY_MATMUL3_TRANS2, aset_type, PROJECT_NS::Kernel_Elec::c, c, PROJECT_NS::Kernel_Elec::c_init, c_last, calc_Sele(), calc_Snuc(), dt, E, PROJECT_NS::Kernel_Representation::ele_repr_type, PROJECT_NS::Kernel::executeKernel(), PROJECT_NS::Dimension::F, f, PROJECT_NS::Dimension::FF, fun_diag_F, g, g_last, gamma, phys::math::im(), PROJECT_NS::Kernel_Elec::ker_from_c(), m, PROJECT_NS::Dimension::N, norm_ptr, PROJECT_NS::Kernel_Elec::occ0, PROJECT_NS::Kernel_Elec::occ_nuc, PROJECT_NS::Dimension::P, p, p_last, P_used, P_used0, P_used_ptr, PROJECT_NS::Dimension::PF, PROJECT_NS::Dimension::PFF, PROJECT_NS::Dimension::PN, PROJECT_NS::Dimension::PP, PROJECT_NS::Kernel_Random::rand_gaussian(), PROJECT_NS::Kernel_Random::rand_uniform(), PROJECT_NS::Kernel_Elec::rho_nuc, S, samp_type, Sele, Snuc, PROJECT_NS::Kernel_Elec::T, T, PROJECT_NS::Kernel_Elec::T_init, time_displace_step, phys::math::twopi, PROJECT_NS::Kernel_Elec::U, Udt, PROJECT_NS::Kernel_Elec::w, width_scaling, x, x_last, and xi.

Here is the call graph for this function:

◆ insertAt()

Kernel & Kernel::insertAt ( std::vector< std::size_t > indexes,
std::shared_ptr< Kernel > ker )
inherited

Insert a kernel at specified indexes in the tree.

Parameters
indexesIndexes indicating the position to insert the kernel.
kerThe kernel to insert.
Returns
Reference to the modified kernel.

Definition at line 102 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::_ruleset, and PROJECT_NS::Kernel::getLastParentKernelAndChildOrder().

Here is the call graph for this function:

◆ mpi_reduce_info()

static int PROJECT_NS::Kernel::mpi_reduce_info ( Kernel * ker)
inlinestaticinherited

Definition at line 75 of file Kernel.h.

◆ operator==()

bool Kernel::operator== ( const Kernel & ker)
inherited

Overloaded equality operator to compare two Kernel objects by their IDs.

Parameters
kerThe Kernel object to compare with.
Returns
True if the IDs of the two kernels are equal, otherwise false.

Definition at line 76 of file Kernel.cpp.

References PROJECT_NS::Kernel::getID().

Here is the call graph for this function:

◆ removeAt()

Kernel & Kernel::removeAt ( std::vector< std::size_t > indexes)
inherited

Remove kernels at specified indexes from the tree.

Parameters
indexesIndexes indicating the kernels to remove.
Returns
Reference to the modified kernel.

Definition at line 128 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels.

◆ report()

static int PROJECT_NS::Kernel::report ( Kernel * ker)
inlinestaticinherited

Definition at line 73 of file Kernel.h.

◆ serializeKernel()

const std::string Kernel::serializeKernel ( const Kernel & ker)
staticinherited

Serialize a Kernel object into a string representation.

Parameters
kerThe Kernel object to serialize.
Returns
A string representing the serialized Kernel object.

Definition at line 185 of file Kernel.cpp.

◆ setInputDataSet()

void Kernel::setInputDataSet ( std::shared_ptr< DataSet > & DS)
inherited

Set input data set for the kernel and its children.

Parameters
DSShared pointer to the DataSet object.

Definition at line 28 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::_dataset, PROJECT_NS::Kernel::_param, and PROJECT_NS::Kernel::setInputDataSet_impl().

Here is the call graph for this function:

◆ setInputDataSet_impl()

void PROJECT_NS::Kernel_GWP::setInputDataSet_impl ( std::shared_ptr< DataSet > & DS)
privatevirtual

◆ setInputParam()

void Kernel::setInputParam ( std::shared_ptr< Param > & PM)
inherited

Set input parameters for the kernel and its children.

Parameters
PMShared pointer to the Param object.

Definition at line 21 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::_param, PROJECT_NS::Kernel::is_timing, LOC, and PROJECT_NS::Kernel::setInputParam_impl().

Here is the call graph for this function:

◆ setInputParam_impl()

void PROJECT_NS::Kernel_GWP::setInputParam_impl ( std::shared_ptr< Param > & PM)
privatevirtual

Virtual function to set input parameters for the kernel implementation.

Parameters
PMShared pointer to the Param object containing input parameters.

Reimplemented from PROJECT_NS::Kernel.

Definition at line 321 of file Kernel_GWP.cpp.

References alpha0, aset_type, break_thres, dt, PROJECT_NS::Dimension::F, gamma, impl_type, LOC, max_clone, P_used0, samp_type, phys::time_d, time_displace_step, width_scaling, and xi.

◆ updateAt()

Kernel & Kernel::updateAt ( std::vector< std::size_t > indexes,
std::shared_ptr< Kernel > ker )
inherited

Update the kernel at specified indexes in the tree.

build tree structure of the kernel

Parameters
indexesIndexes indicating the kernel to update.
kerThe kernel to update with.
Returns
Reference to the modified kernel.

Definition at line 147 of file Kernel.cpp.

References PROJECT_NS::Kernel::_child_kernels, PROJECT_NS::Kernel::_ruleset, and PROJECT_NS::Kernel::getLastParentKernelAndChildOrder().

Here is the call graph for this function:

Member Data Documentation

◆ _all_kernels

std::vector<std::shared_ptr<Kernel> > PROJECT_NS::Kernel::_all_kernels
protectedinherited

Vector containing shared pointers to all descendant kernels of this kernel.

Definition at line 303 of file Kernel.h.

Referenced by PROJECT_NS::Kernel::connectRelatedKernels().

◆ _child_kernels

◆ _dataset

◆ _kforce

std::shared_ptr<Kernel> PROJECT_NS::Kernel_GWP::_kforce
private

Definition at line 97 of file Kernel_GWP.h.

Referenced by initializeKernel_impl().

◆ _kmodel

std::shared_ptr<Kernel> PROJECT_NS::Kernel_GWP::_kmodel
private

Definition at line 95 of file Kernel_GWP.h.

Referenced by initializeKernel_impl().

◆ _krepr

std::shared_ptr<Kernel> PROJECT_NS::Kernel_GWP::_krepr
private

Definition at line 96 of file Kernel_GWP.h.

Referenced by initializeKernel_impl().

◆ _order_in_parent

std::size_t PROJECT_NS::Kernel::_order_in_parent
protectedinherited

Order of this kernel in its parent's children.

Definition at line 293 of file Kernel.h.

Referenced by PROJECT_NS::Kernel::appendChild(), and PROJECT_NS::Kernel::getLastParentKernelAndChildOrder().

◆ _param

◆ _parent_kernel

Kernel* PROJECT_NS::Kernel::_parent_kernel
protectedinherited

Pointer to the parent kernel.

Definition at line 288 of file Kernel.h.

Referenced by PROJECT_NS::Kernel::getLastParentKernelAndChildOrder().

◆ _ruleset

◆ Acoeff

kids_complex* PROJECT_NS::Kernel_GWP::Acoeff
private

◆ alpha

kids_real* PROJECT_NS::Kernel_GWP::alpha
private

◆ alpha0

kids_real PROJECT_NS::Kernel_GWP::alpha0
private

Definition at line 103 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputParam_impl().

◆ aset_type

int PROJECT_NS::Kernel_GWP::aset_type
private

Definition at line 93 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputParam_impl().

◆ break_thres

kids_real PROJECT_NS::Kernel_GWP::break_thres
private

Definition at line 99 of file Kernel_GWP.h.

Referenced by cloning(), and setInputParam_impl().

◆ c

◆ c_last

kids_complex* PROJECT_NS::Kernel_GWP::c_last
private

Definition at line 142 of file Kernel_GWP.h.

Referenced by impl_1(), initializeKernel_impl(), and setInputDataSet_impl().

◆ clone_account

int* PROJECT_NS::Kernel_GWP::clone_account
private

Definition at line 148 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ dE

kids_real * PROJECT_NS::Kernel_GWP::dE
private

Definition at line 110 of file Kernel_GWP.h.

Referenced by calc_Hbasis_adia(), and setInputDataSet_impl().

◆ dt

kids_real PROJECT_NS::Kernel_GWP::dt
private

Definition at line 101 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), initializeKernel_impl(), and setInputParam_impl().

◆ dtAcoeff

kids_complex * PROJECT_NS::Kernel_GWP::dtAcoeff
private

Definition at line 124 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ dtlnSnuc

kids_complex* PROJECT_NS::Kernel_GWP::dtlnSnuc
private

Definition at line 118 of file Kernel_GWP.h.

Referenced by calc_dtlnSnuc(), impl_0(), and setInputDataSet_impl().

◆ dtSele

kids_complex * PROJECT_NS::Kernel_GWP::dtSele
private

Definition at line 118 of file Kernel_GWP.h.

Referenced by calc_dtSele(), impl_0(), and setInputDataSet_impl().

◆ dV

kids_real * PROJECT_NS::Kernel_GWP::dV
private

Definition at line 110 of file Kernel_GWP.h.

Referenced by calc_Hbasis(), cloning(), impl_0(), impl_1(), and setInputDataSet_impl().

◆ dV_last

kids_real * PROJECT_NS::Kernel_GWP::dV_last
private

Definition at line 141 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ E

kids_real * PROJECT_NS::Kernel_GWP::E
private

Definition at line 110 of file Kernel_GWP.h.

Referenced by calc_Hbasis_adia(), initializeKernel_impl(), and setInputDataSet_impl().

◆ Ekin

kids_real* PROJECT_NS::Kernel_GWP::Ekin
private

Definition at line 106 of file Kernel_GWP.h.

Referenced by calc_Ekin(), impl_0(), impl_1(), and setInputDataSet_impl().

◆ f

kids_real * PROJECT_NS::Kernel_GWP::f
private

◆ fun_diag_F

kids_complex* PROJECT_NS::Kernel_GWP::fun_diag_F
private

Definition at line 137 of file Kernel_GWP.h.

Referenced by cloning(), initializeKernel_impl(), and setInputDataSet_impl().

◆ fun_diag_P

kids_complex* PROJECT_NS::Kernel_GWP::fun_diag_P
private

Definition at line 136 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), and setInputDataSet_impl().

◆ g

kids_real * PROJECT_NS::Kernel_GWP::g
private

Definition at line 104 of file Kernel_GWP.h.

Referenced by cloning(), impl_0(), impl_1(), initializeKernel_impl(), and setInputDataSet_impl().

◆ g_last

kids_real * PROJECT_NS::Kernel_GWP::g_last
private

Definition at line 141 of file Kernel_GWP.h.

Referenced by impl_1(), initializeKernel_impl(), and setInputDataSet_impl().

◆ gamma

kids_real PROJECT_NS::Kernel_GWP::gamma
private

Definition at line 102 of file Kernel_GWP.h.

Referenced by executeKernel_impl(), initializeKernel_impl(), and setInputParam_impl().

◆ grad

kids_real * PROJECT_NS::Kernel_GWP::grad
private

Definition at line 109 of file Kernel_GWP.h.

Referenced by calc_Hbasis(), cloning(), impl_0(), impl_1(), and setInputDataSet_impl().

◆ grad_last

kids_real * PROJECT_NS::Kernel_GWP::grad_last
private

Definition at line 141 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ H

kids_complex * PROJECT_NS::Kernel_GWP::H
private

Definition at line 111 of file Kernel_GWP.h.

Referenced by calc_dtSele(), impl_0(), and setInputDataSet_impl().

◆ Hbasis

kids_complex* PROJECT_NS::Kernel_GWP::Hbasis
private

Definition at line 122 of file Kernel_GWP.h.

Referenced by calc_Hbasis(), calc_Hbasis_adia(), impl_0(), impl_1(), and setInputDataSet_impl().

◆ Hcoeff

kids_complex* PROJECT_NS::Kernel_GWP::Hcoeff
private

Definition at line 123 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), and setInputDataSet_impl().

◆ I_PP

kids_complex* PROJECT_NS::Kernel_GWP::I_PP
private

Definition at line 135 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ impl_type

int PROJECT_NS::Kernel_GWP::impl_type
private

Definition at line 91 of file Kernel_GWP.h.

Referenced by executeKernel_impl(), and setInputParam_impl().

◆ invS

kids_complex * PROJECT_NS::Kernel_GWP::invS
private

Definition at line 113 of file Kernel_GWP.h.

Referenced by impl_0(), and setInputDataSet_impl().

◆ invS1h

kids_complex * PROJECT_NS::Kernel_GWP::invS1h
private

Definition at line 115 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ invS2h

kids_complex * PROJECT_NS::Kernel_GWP::invS2h
private

Definition at line 116 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ L

kids_real* PROJECT_NS::Kernel_GWP::L
private

Definition at line 125 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ L1

kids_real* PROJECT_NS::Kernel_GWP::L1
private

Definition at line 114 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), and setInputDataSet_impl().

◆ L2

kids_real * PROJECT_NS::Kernel_GWP::L2
private

Definition at line 114 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ m

kids_real * PROJECT_NS::Kernel_GWP::m
private

◆ MatC_PP

kids_complex* PROJECT_NS::Kernel_GWP::MatC_PP
private

Definition at line 134 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ MatR_PP

kids_real* PROJECT_NS::Kernel_GWP::MatR_PP
private

temporary

Definition at line 133 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ max_clone

int PROJECT_NS::Kernel_GWP::max_clone
private

Definition at line 147 of file Kernel_GWP.h.

Referenced by setInputParam_impl().

◆ norm_ptr

kids_real* PROJECT_NS::Kernel_GWP::norm_ptr
private

Definition at line 149 of file Kernel_GWP.h.

Referenced by impl_0(), initializeKernel_impl(), and setInputDataSet_impl().

◆ p

kids_real * PROJECT_NS::Kernel_GWP::p
private

◆ p_last

kids_real * PROJECT_NS::Kernel_GWP::p_last
private

Definition at line 141 of file Kernel_GWP.h.

Referenced by impl_1(), initializeKernel_impl(), and setInputDataSet_impl().

◆ P_used

int PROJECT_NS::Kernel_GWP::P_used
private

Definition at line 145 of file Kernel_GWP.h.

Referenced by cloning(), executeKernel_impl(), impl_0(), impl_1(), and initializeKernel_impl().

◆ P_used0

int PROJECT_NS::Kernel_GWP::P_used0
private

Definition at line 145 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputParam_impl().

◆ P_used_ptr

kids_real* PROJECT_NS::Kernel_GWP::P_used_ptr
private

Definition at line 146 of file Kernel_GWP.h.

Referenced by cloning(), initializeKernel_impl(), and setInputDataSet_impl().

◆ R

kids_complex* PROJECT_NS::Kernel_GWP::R
private

Definition at line 126 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ R1

kids_complex * PROJECT_NS::Kernel_GWP::R1
private

Definition at line 115 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), and setInputDataSet_impl().

◆ R2

kids_complex * PROJECT_NS::Kernel_GWP::R2
private

Definition at line 116 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ rhored

kids_complex* PROJECT_NS::Kernel_GWP::rhored
private

Definition at line 127 of file Kernel_GWP.h.

Referenced by executeKernel_impl(), and setInputDataSet_impl().

◆ rhored2

kids_complex* PROJECT_NS::Kernel_GWP::rhored2
private

Definition at line 128 of file Kernel_GWP.h.

Referenced by executeKernel_impl(), and setInputDataSet_impl().

◆ rhored3

kids_complex* PROJECT_NS::Kernel_GWP::rhored3
private

Definition at line 129 of file Kernel_GWP.h.

Referenced by setInputDataSet_impl().

◆ S

kids_complex * PROJECT_NS::Kernel_GWP::S
private

Definition at line 113 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), initializeKernel_impl(), and setInputDataSet_impl().

◆ S1

kids_complex* PROJECT_NS::Kernel_GWP::S1
private

Definition at line 115 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ S1h

kids_complex * PROJECT_NS::Kernel_GWP::S1h
private

Definition at line 115 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ S2

kids_complex* PROJECT_NS::Kernel_GWP::S2
private

Definition at line 116 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ S2h

kids_complex * PROJECT_NS::Kernel_GWP::S2h
private

Definition at line 116 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ samp_type

int PROJECT_NS::Kernel_GWP::samp_type
private

Definition at line 92 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputParam_impl().

◆ Sele

kids_complex * PROJECT_NS::Kernel_GWP::Sele
private

◆ Snuc

kids_complex* PROJECT_NS::Kernel_GWP::Snuc
private

◆ Sx

kids_complex* PROJECT_NS::Kernel_GWP::Sx
private

Definition at line 117 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ T

kids_real * PROJECT_NS::Kernel_GWP::T
private

Definition at line 110 of file Kernel_GWP.h.

Referenced by executeKernel_impl(), initializeKernel_impl(), and setInputDataSet_impl().

◆ time_displace_step

int PROJECT_NS::Kernel_GWP::time_displace_step
private

Definition at line 100 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputParam_impl().

◆ Ubranch

kids_complex* PROJECT_NS::Kernel_GWP::Ubranch
private

Definition at line 138 of file Kernel_GWP.h.

Referenced by cloning(), and setInputDataSet_impl().

◆ Udt

kids_complex * PROJECT_NS::Kernel_GWP::Udt
private

Definition at line 111 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputDataSet_impl().

◆ UXdt

kids_complex * PROJECT_NS::Kernel_GWP::UXdt
private

Definition at line 126 of file Kernel_GWP.h.

Referenced by impl_0(), impl_1(), and setInputDataSet_impl().

◆ UYdt

kids_complex * PROJECT_NS::Kernel_GWP::UYdt
private

Definition at line 126 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ V

kids_real* PROJECT_NS::Kernel_GWP::V
private

Definition at line 110 of file Kernel_GWP.h.

Referenced by calc_Hbasis(), cloning(), impl_0(), impl_1(), and setInputDataSet_impl().

◆ ve

kids_real* PROJECT_NS::Kernel_GWP::ve
private

Definition at line 107 of file Kernel_GWP.h.

Referenced by cloning(), and setInputDataSet_impl().

◆ veF

kids_real * PROJECT_NS::Kernel_GWP::veF
private

Definition at line 107 of file Kernel_GWP.h.

Referenced by cloning(), and setInputDataSet_impl().

◆ vpes

kids_real* PROJECT_NS::Kernel_GWP::vpes
private

Definition at line 109 of file Kernel_GWP.h.

Referenced by calc_dtSele(), calc_Hbasis(), impl_0(), impl_1(), and setInputDataSet_impl().

◆ width_scaling

kids_real PROJECT_NS::Kernel_GWP::width_scaling
private

Definition at line 103 of file Kernel_GWP.h.

Referenced by initializeKernel_impl(), and setInputParam_impl().

◆ x

kids_real* PROJECT_NS::Kernel_GWP::x
private

◆ x_last

kids_real* PROJECT_NS::Kernel_GWP::x_last
private

Definition at line 141 of file Kernel_GWP.h.

Referenced by impl_1(), initializeKernel_impl(), and setInputDataSet_impl().

◆ Xcoeff

kids_complex * PROJECT_NS::Kernel_GWP::Xcoeff
private

Definition at line 126 of file Kernel_GWP.h.

Referenced by impl_1(), and setInputDataSet_impl().

◆ xi

kids_real PROJECT_NS::Kernel_GWP::xi
private

Definition at line 102 of file Kernel_GWP.h.

Referenced by executeKernel_impl(), initializeKernel_impl(), and setInputParam_impl().


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