mpet package
Subpackages
- mpet.config package
- Submodules
- mpet.config.configuration module
- mpet.config.constants module
- mpet.config.derived_values module
DerivedValuesDerivedValues.__getitem__()DerivedValues.Damb()DerivedValues.tp()DerivedValues.t_ref()DerivedValues.curr_ref()DerivedValues.sigma_s_ref()DerivedValues.currset()DerivedValues.Rser_ref()DerivedValues.csmax()DerivedValues.cap()DerivedValues.numsegments()DerivedValues.L_ref()DerivedValues.D_ref()DerivedValues.z()DerivedValues.limtrode()DerivedValues.cs_ref()DerivedValues.muR_ref()DerivedValues.phiRef()DerivedValues.power_ref()
- mpet.config.parameterset module
- mpet.config.schemas module
- Module contents
- mpet.electrode package
- Subpackages
- mpet.electrode.diffusion package
- mpet.electrode.materials package
- Submodules
- mpet.electrode.materials.LTO module
- mpet.electrode.materials.LiC6 module
- mpet.electrode.materials.LiC6_1param module
- mpet.electrode.materials.LiC6_2step_ss module
- mpet.electrode.materials.LiC6_Colclasure_1506T module
- mpet.electrode.materials.LiC6_LIONSIMBA module
- mpet.electrode.materials.LiC6_coke_ss module
- mpet.electrode.materials.LiC6_coke_ss2 module
- mpet.electrode.materials.LiC6_ss module
- mpet.electrode.materials.LiC6_ss2 module
- mpet.electrode.materials.LiCoO2_LIONSIMBA module
- mpet.electrode.materials.LiFePO4 module
- mpet.electrode.materials.LiMn2O4_ss module
- mpet.electrode.materials.LiMn2O4_ss2 module
- mpet.electrode.materials.Li_ss module
- mpet.electrode.materials.NCA_ss1 module
- mpet.electrode.materials.NCA_ss2 module
- mpet.electrode.materials.NMC532_Colclasure20 module
- mpet.electrode.materials.testIS_ss module
- mpet.electrode.materials.testRS module
- mpet.electrode.materials.testRS_ps module
- mpet.electrode.materials.testRS_ss module
- Module contents
- mpet.electrode.reactions package
- Submodules
- mpet.electrode.reactions.BV module
- mpet.electrode.reactions.BV_Colclasure20 module
- mpet.electrode.reactions.BV_NMC_Park2021 module
- mpet.electrode.reactions.BV_gMod01 module
- mpet.electrode.reactions.BV_mod01 module
- mpet.electrode.reactions.BV_mod02 module
- mpet.electrode.reactions.BV_raw module
- mpet.electrode.reactions.CIET module
- mpet.electrode.reactions.MHC module
- mpet.electrode.reactions.MHC_kfunc module
- mpet.electrode.reactions.Marcus module
- Module contents
- Module contents
- Subpackages
- mpet.electrolyte package
- Submodules
- mpet.electrolyte.Colclasure20 module
- mpet.electrolyte.Doyle96_EC_DMC_1_2 module
- mpet.electrolyte.Doyle96_EC_DMC_2_1 module
- mpet.electrolyte.LIONSIMBA_isothermal module
- mpet.electrolyte.LIONSIMBA_nonisothermal module
- mpet.electrolyte.LiClO4_PC module
- mpet.electrolyte.solid_elyte module
- mpet.electrolyte.valoen_bernardi module
- mpet.electrolyte.valoen_reimers module
- Module contents
- mpet.plot package
Submodules
mpet.daeVariableTypes module
This module defines custom daetools variable types
mpet.data_reporting module
Helper functions/classes for outputting data generated by the simulation.
- class mpet.data_reporting.Myhdf5DataReporterFast(*args: Any, **kwargs: Any)[source]
Bases:
daeMatlabMATFileDataReporterIgnores internal particle concentrations with hdf5 data saving to be faster. Input is dataReporter
- class mpet.data_reporting.Myhdf5DataReporter(*args: Any, **kwargs: Any)[source]
Bases:
daeMatlabMATFileDataReporterReports hdf5 file outputs in full, otherwise ignores internal particle concentrations
mpet.exceptions module
mpet.extern_funcs module
Functions used in the simulation which cannot be represented by simple analytical functions.
These functions are handled here because they cannot be written in a form that DAE Tools knows how to automatically differentiate. For example, they may contain if statements or a function from an external library that the DAE Tools library doesn’t know about.
mpet.geometry module
Helper functions to get information about the mesh/geometry of the simulated particles.
mpet.main module
mpet.mod_CCCVCPcycle module
Added module for cycling segments
mpet.mod_cell module
mpet.mod_electrodes module
These models define individual particles of active material.
- This includes the equations for both 1-parameter models and 2-parameters models defining
mass conservation (concentration evolution)
reaction rate at the surface of the particles
- In each model class it has options for different types of particles:
homogeneous
Fick-like diffusion
Cahn-Hilliard (with reaction boundary condition)
Allen-Cahn (with reaction throughout the particle)
These models can be instantiated from the mod_cell module to simulate various types of active materials within a battery electrode.
mpet.mod_interface module
mpet.ports module
This defines the ports by which mod_cell interacts with mod_electrodes.
mpet.props_am module
This module handles properties associated with the active materials. Only helper functions are defined here. Diffusion functions are defined in mpet.electrode.diffusion Chemical potential functions are defined in mpet.electrode.materials
- class mpet.props_am.muRfuncs(config, trode, ind=None)[source]
Bases:
objectconfig is the full dictionary of parameters for the electrode particles, as made for the simulations. trode is the selected electrode. ind is optinally the selected particle, provided as (vInd, pInd)
mpet.sim module
mpet.utils module
- mpet.utils.add_gp_to_vec(vec)[source]
Add ghost points to the beginning and end of a vector for applying boundary conditions.
- mpet.utils.pad_vec(vec)[source]
Repeat a vector’s first and last values, extending its length by two.
- mpet.utils.get_var_vec(var, N, dt=False)[source]
Convert a dae tools variable to a numpy array. Optionally return the time derivative of the variable.
- mpet.utils.get_asc_vec(var, Nvol, dt=False)[source]
Get a numpy array for a variable spanning the anode, separator, and cathode.
- mpet.utils.open_data_file(dataFile)[source]
Load hdf5/mat file output. Always defaults to .mat file, else opens .hdf5 file. Takes in dataFile (path of file without .mat or .hdf5), returns data (output of array)
- mpet.utils.get_dict_key(data, string, squeeze=True, final=False)[source]
Gets the values in a 1D array, which is formatted slightly differently depending on whether it is a h5py file or a mat file Takes in data array and the string whose value we want to get. Final is a boolean that determines whether or not it only returns the final value of the array. If final is true, then it only returns the last value, otherwise it returns the entire array. Final overwrites squeeze–if final is true, then the array will always be squeezed. Squeeze squeezes into 1D array if is true, otherwise false
- mpet.utils.get_negative_sign_change_arrays(input_array)[source]
This function takes an array of (+1, +1, +1, -1, -1, -1… +1, -1 …) and splits it into a number of arrays in the y direction which are (0, 0, 0, 1, 1, 1… 0, 0) whenever the array hits a sign change. It should have the number of cycles as rows. Thus it will be size (N*M) for each output, where N is the number of cycles and M is the size of the array. In each ith row there are only 1’s for the ith charging cycle. Returns beginning and end discharge and charge segments in order