56 auto edges = get_edges();
58 auto &part_counts = edges.part_counts.indexes;
60 edges.ds_j_dt.ensure_sizes(part_counts);
62 auto total_specie_count = part_counts.template map<u32>([&](
u64 id,
u32 count) {
67 shamsys::instance::get_compute_scheduler_ptr(),
72 const Tscal *__restrict s_j,
73 const Tscal *__restrict Ttilde_sj,
74 Tscal *__restrict ds_j_dt) {
75 Tscal s_j_a = s_j[thread_id];
76 Tscal Ttilde_sj_a = Ttilde_sj[thread_id];
77 Tscal ds_j_dt_a = ds_j_dt[thread_id];
80 ds_j_dt_a *= (s_j_a < 0 && ds_j_dt_a < 0) ? 0 : 1;
83 ds_j_dt_a += (s_j_a < 0) ? -s_j_a / (10 * Ttilde_sj_a) : 0;
85 ds_j_dt[thread_id] = ds_j_dt_a;