# PCHB_ParticleSelection_vals_t Derived Type

## Components

Type Visibility Attributes Name Initial
type(PCHB_ParticleSelection_t), public :: UNIF_UNIF = PCHB_ParticleSelection_t(1, 'UNIF-UNIF')

Both particles are drawn uniformly. We draw from $p(I)|_{D_i}$ and then $p(J | I)_{J \in D_i}$ and both probabilites come from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J \in D_i}$ The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J}$. The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ is occupied.

type(PCHB_ParticleSelection_t), public :: FULL_FULL = PCHB_ParticleSelection_t(2, 'FULL-FULL')

Both particles are drawn uniformly. We draw from $p(I)|_{D_i}$ and then $p(J | I)_{J \in D_i}$ and both probabilites come from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J \in D_i}$ The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J}$. The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ is occupied.

type(PCHB_ParticleSelection_t), public :: UNIF_FULL = PCHB_ParticleSelection_t(3, 'UNIF-FULL')

Both particles are drawn uniformly. We draw from $p(I)|_{D_i}$ and then $p(J | I)_{J \in D_i}$ and both probabilites come from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J \in D_i}$ The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J}$. The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ is occupied.

type(PCHB_ParticleSelection_t), public :: UNIF_FAST = PCHB_ParticleSelection_t(4, 'UNIF-FAST')

Both particles are drawn uniformly. We draw from $p(I)|_{D_i}$ and then $p(J | I)_{J \in D_i}$ and both probabilites come from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J \in D_i}$ The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ and $J$ are occupied. We draw $\tilde{p}(I)|_{D_i}$ uniformly and then $p(J | I)_{J}$. The second distribution comes from the PCHB weighting scheme. We guarantee that $I$ is occupied.

## Type-Bound Procedures

• ### private pure function from_keyword(w) result(res)

Parse a given keyword into the possible particle selection schemes

#### Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: w