def test017(testDir, dirDict, pflag): """ test CV continuation """ shutil.copy(osp.join(dirDict["baseConfig"], "params_system.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_c.cfg"), testDir) psys = osp.join(testDir, "params_system.cfg") ptrode = osp.join(testDir, "params_c.cfg") P_s = IO.get_config(psys) P_s.set("Sim Params", "profileType", "CV") P_s.set("Sim Params", "Vset", "3.45") P_s.set("Sim Params", "tend", "3e3") P_s.set("Sim Params", "Nvol_c", "3") P_s.set("Sim Params", "Npart_c", "3") test008dir = str(osp.join(testDir, "..", "test008", "sim_output")) P_s.set("Sim Params", "prevDir", test008dir) IO.write_config_file(P_s, psys) P = IO.get_config(ptrode) P.set("Particles", "type", "homog_sdn") P.set("Material", "muRfunc", "LiFePO4") IO.write_config_file(P, ptrode) main.main(psys, keepArchive=False) shutil.move(dirDict["simOut"], testDir) if pflag: corePlots(testDir, dirDict) elytePlots(testDir, dirDict) electrodePlots(testDir, dirDict, "c") cmpr.bulkpf(testDir, dirDict, "c")
def test015(testDir, dirDict, pflag): """ testRS homog with CVsegments, bulkCond, partCond """ shutil.copy(osp.join(dirDict["baseConfig"], "params_system.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_c.cfg"), testDir) psys = osp.join(testDir, "params_system.cfg") ptrode = osp.join(testDir, "params_c.cfg") P_s = IO.get_config(psys) P_s.set("Sim Params", "profileType", "CVsegments") P_s.set("Sim Params", "Npart_c", "3") P_s.set("Sim Params", "Nvol_c", "3") P_s.set("Sim Params", "segments", "[(-0.3, 25), (0., 10), (0.3, 30)]") P_s.set("Sim Params", "tramp", "1e+0") P_s.set("Sim Params", "absTol", "1e-5") P_s.set("Conductivity", "simBulkCond_c", "true") P_s.set("Conductivity", "sigma_s_c", "1e-2") P_s.set("Conductivity", "simPartCond_c", "true") P_s.set("Conductivity", "G_mean_c", "1e-14") IO.write_config_file(P_s, psys) P = IO.get_config(ptrode) P.set("Particles", "type", "homog") P.set("Material", "muRfunc", "testRS") P.set("Reactions", "rxnType", "BV_raw") IO.write_config_file(P, ptrode) main.main(psys, keepArchive=False) shutil.move(dirDict["simOut"], testDir) if pflag: corePlots(testDir, dirDict) elytePlots(testDir, dirDict) electrodePlots(testDir, dirDict, "c") cmpr.bulkpf(testDir, dirDict, "c")
def test012(testDir, dirDict, pflag): """ Solid solution, diffn sphere, homog, LiC6_coke_ss2, LiMn2O4_ss2 BV_mod01, BV_mod02 cathode + anode """ shutil.copy(osp.join(dirDict["baseConfig"], "params_system.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_c.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_a.cfg"), testDir) psys = osp.join(testDir, "params_system.cfg") ptrodec = osp.join(testDir, "params_c.cfg") ptrodea = osp.join(testDir, "params_a.cfg") P_s = IO.get_config(psys) P_s.set("Sim Params", "Crate", "1e-2") P_s.set("Sim Params", "capFrac", "0.67") P_s.set("Sim Params", "tsteps", "25") P_s.set("Sim Params", "Nvol_c", "2") P_s.set("Sim Params", "Nvol_a", "2") P_s.set("Sim Params", "Vmin", "2e0") P_s.set("Particles", "cs0_c", "0.2") P_s.set("Particles", "cs0_a", "0.495") P_s.set("Electrolyte", "elyteModelType", "SM") IO.write_config_file(P_s, psys) P = IO.get_config(ptrodec) P.set("Particles", "type", "homog") P.set("Particles", "shape", "cylinder") P.set("Material", "muRfunc", "LiMn2O4_ss2") P.set("Reactions", "rxnType", "BV_mod01") IO.write_config_file(P, ptrodec) P = IO.get_config(ptrodea) P.set("Particles", "discretization", "2.5e-9") P.set("Particles", "shape", "sphere") P.set("Material", "muRfunc", "LiC6_coke_ss2") P.set("Reactions", "rxnType", "BV_mod02") IO.write_config_file(P, ptrodea) main.main(psys, keepArchive=False) shutil.move(dirDict["simOut"], testDir) if pflag: corePlots(testDir, dirDict) elytePlots(testDir, dirDict) electrodePlots(testDir, dirDict, "c") cmpr.bulkpf(testDir, dirDict, "c") electrodePlots(testDir, dirDict, "a") cmpr.bulkpf(testDir, dirDict, "a")
def test013(testDir, dirDict, pflag): """ Solid solution, diffn cylinder, homog, testIS_ss, LiMn2O4_ss2 Marcus, BV_raw cathode + separator + anode """ shutil.copy(osp.join(dirDict["baseConfig"], "params_system.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_c.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_a.cfg"), testDir) psys = osp.join(testDir, "params_system.cfg") ptrodec = osp.join(testDir, "params_c.cfg") ptrodea = osp.join(testDir, "params_a.cfg") P_s = IO.get_config(psys) P_s.set("Sim Params", "profileType", "CV") P_s.set("Sim Params", "Vset", "3.8") P_s.set("Sim Params", "tsteps", "25") P_s.set("Sim Params", "Nvol_c", "2") P_s.set("Sim Params", "Nvol_s", "2") P_s.set("Sim Params", "Nvol_a", "2") P_s.set("Particles", "cs0_c", "0.2") P_s.set("Particles", "cs0_a", "0.95") P_s.set("Electrolyte", "elyteModelType", "dilute") IO.write_config_file(P_s, psys) P = IO.get_config(ptrodec) P.set("Particles", "type", "homog") P.set("Particles", "shape", "sphere") P.set("Material", "muRfunc", "LiMn2O4_ss2") P.set("Reactions", "rxnType", "Marcus") IO.write_config_file(P, ptrodec) P = IO.get_config(ptrodea) P.set("Particles", "discretization", "2.5e-9") P.set("Particles", "shape", "cylinder") P.set("Material", "muRfunc", "testIS_ss") P.set("Reactions", "rxnType", "BV_raw") IO.write_config_file(P, ptrodea) main.main(psys, keepArchive=False) shutil.move(dirDict["simOut"], testDir) if pflag: corePlots(testDir, dirDict) elytePlots(testDir, dirDict) electrodePlots(testDir, dirDict, "c") cmpr.bulkpf(testDir, dirDict, "c") electrodePlots(testDir, dirDict, "a") cmpr.bulkpf(testDir, dirDict, "a")
def test005(testDir, dirDict, pflag): """ LFP homog """ shutil.copy(osp.join(dirDict["baseConfig"], "params_system.cfg"), testDir) shutil.copy(osp.join(dirDict["baseConfig"], "params_c.cfg"), testDir) psys = osp.join(testDir, "params_system.cfg") ptrode = osp.join(testDir, "params_c.cfg") P_s = IO.get_config(psys) P_s.set("Sim Params", "Crate", "1e-2") P_s.set("Sim Params", "Nvol_c", "2") P_s.set("Sim Params", "Nvol_s", "2") IO.write_config_file(P_s, psys) P = IO.get_config(ptrode) P.set("Particles", "type", "homog") P.set("Material", "muRfunc", "LiFePO4") IO.write_config_file(P, ptrode) main.main(psys, keepArchive=False) shutil.move(dirDict["simOut"], testDir) if pflag: corePlots(testDir, dirDict) elytePlots(testDir, dirDict) electrodePlots(testDir, dirDict, "c") cmpr.bulkpf(testDir, dirDict, "c")