PhotoElectrochemical Cell Simulator
A Finite Element Based Simulator For Water Splitting Solar Cells
Data Structures
Here are the data structures with brief descriptions:
[detail level 123]
 NAssemblyContains the local assembly objects and local data objects
 CCopyDataLocal data for drift-diffusion equation
 CCopyDataLocal data for Poisson's equation
 CAssemblyScratchTemporary assembly object that holds FE's and functions
 CCarrierData structures, functions/parameters, and solvers for a charge carrier
 CCarrierPairCarrierPair is the common data between electron-hole or redox pairs
 NGrid_MakerFor Grid class which creates all different types of meshes
 CGridThis object will be used to build meshes over triangulations provided
 NLDG_SystemBasically just the namespace for LDG_System::LDG
 CLDGThis class builds two system matrices using the LDG method for the two ChargeCarrierSpace::Carrier objects in each of the ChargeCarrierSpace::CarrierPair objects
 NMixedPoissonHolds MixedFEM, the class for a mixed FEM on Poissons equation
 NParameterSpaceThis namespace holds the paramaters Parameters and input file reader ParameterReader
 CParameterReaderReads in the input file, if one isn't provided a default is created
 CParametersStruct which holds the parameters used for simulations
 NPoissonContains all of the local CopyData for Poisson's equation
 CPoissonDataData structures, functions/paramaters, and solver for Poisson equation
 CElectrons_EquilibriumInitial/Boundary conditions for electrons, \( \rho_{n}^{e} \)
 CGenerationFunction for macroscopic generation of electrons and holes
 CHoles_EquilibriumInitial/Boundary conditions for holes, \( \rho_{p}^{e} \)
 COxidants_EquilibriumInitial/Boundary conditions for oxidants, \( \rho_{o}^{\infty} \)
 CPostProcessorThis will add back in units and calculate the current
 CReductants_EquilibriumInitial/Boundary conditions for reductants, \( \rho_{r}^{\infty} \)