void PNP::PotentialResid<EvalT, Traits>:: evaluateFields(typename Traits::EvalData workset) { typedef Intrepid2::FunctionSpaceTools FST; // Scale gradient into a flux, reusing same memory FST::scalarMultiplyDataData<ScalarT> (PotentialGrad, Permittivity, PotentialGrad); FST::integrate<ScalarT>(PotentialResidual, PotentialGrad, wGradBF, Intrepid2::COMP_CPP, false); // "false" overwrites for (std::size_t cell=0; cell < workset.numCells; ++cell) { for (std::size_t node=0; node < numNodes; ++node) { for (std::size_t qp=0; qp < numQPs; ++qp) { for (std::size_t j=0; j < numSpecies; ++j) { PotentialResidual(cell,node) -= q[j]*Concentration(cell,qp,j)*wBF(cell,node,qp); //cout << "XXX " << cell << " " << node << " " << qp << " " << j << " " << q[j] << " " << Concentration(cell,qp,j) << endl; } } } } }
Concentration funSignalling(Concentration y) { dy = Concentration(); double Gs_abg_CAV = sc.f_Gs_CAV * sc.Gs_tot * (V.tot_per_cav) - y.Gs_aGTP_CAV - y.Gs_aGDP_CAV; double Gi_abg_CAV = sc.f_Gi_CAV * sc.Gi_tot * (V.tot_per_cav) - y.Gi_aGTP_CAV - y.Gi_aGDP_CAV; double R_b1_comp = sc.f_Rb1_CAV * sc.R_b1_tot * (V.tot_per_cav); double R_b2_comp = sc.f_Rb2_CAV * sc.R_b2_tot * V.tot_per_cav; LigRecepGprotWithBeta2 lGCPRwithBeta2_CAV = Mod_LigRecepGprotWithBeta2(R_b1_comp, y.R_pkap_tot_CAV, y.R_grkp_tot_CAV, R_b2_comp, y.Rb2_pkap_tot_CAV, y.Rb2_grkp_tot_CAV, Gs_abg_CAV, Gi_abg_CAV, y.C_CAV, sc.GRK_CAV); dy.R_pkap_tot_CAV = lGCPRwithBeta2_CAV.dRb1_pkap_tot; dy.R_grkp_tot_CAV = lGCPRwithBeta2_CAV.dRb1_grkp_tot; dy.Rb2_pkap_tot_CAV = lGCPRwithBeta2_CAV.dRb2_pkap_tot; dy.Rb2_grkp_tot_CAV = lGCPRwithBeta2_CAV.dRb2_grkp_tot; double Gs_abg_ECAV = (sc.f_Gs_ECAV * sc.Gs_tot * (V.tot_per_ecav)) - y.Gs_aGTP_ECAV - y.Gs_aGDP_ECAV; double Gi_abg_ECAV = ((1 - sc.f_Gi_CAV) * sc.Gi_tot * (V.tot_per_ecav)) - y.Gi_aGTP_ECAV - y.Gi_aGDP_ECAV; R_b1_comp = sc.f_Rb1_ECAV * sc.R_b1_tot * (V.tot_per_ecav); R_b2_comp = sc.f_Rb2_ECAV * sc.R_b2_tot * (V.tot_per_ecav); LigRecepGprotWithBeta2 lGCPRwithBeta2_ECAV = Mod_LigRecepGprotWithBeta2(R_b1_comp, y.R_pkap_tot_ECAV, y.R_grkp_tot_ECAV, R_b2_comp, y.Rb2_pkap_tot_ECAV, y.Rb2_grkp_tot_ECAV, Gs_abg_ECAV, Gi_abg_ECAV, y.C_ECAV, sc.GRK_ECAV); dy.R_pkap_tot_ECAV = lGCPRwithBeta2_ECAV.dRb1_pkap_tot; dy.R_grkp_tot_ECAV = lGCPRwithBeta2_ECAV.dRb1_grkp_tot; dy.Rb2_pkap_tot_ECAV = lGCPRwithBeta2_ECAV.dRb2_pkap_tot; dy.Rb2_grkp_tot_ECAV = lGCPRwithBeta2_ECAV.dRb2_grkp_tot; double Gs_f_CYT = ((1 - sc.f_Gs_CAV - sc.f_Gs_ECAV) * sc.Gs_tot * (V.tot_per_cyt)) - y.Gs_a_GTP_CYT - y.Gs_aGDP_CYT; double R_comp = (1 - sc.f_Rb1_CAV - sc.f_Rb1_ECAV) * sc.R_b1_tot * (V.tot_per_cyt); LigRecepGprot ligRecepGprot = Mod_LigRecepGprot(R_comp, y.R_pkap_tot_CYT, y.R_grkp_tot_CYT, L, Gs_f_CYT, y.C_CYT, sc.GRK_CYT); dy.R_pkap_tot_CYT = ligRecepGprot.dR_pkap_tot; dy.R_grkp_tot_CYT = ligRecepGprot.dR_grkp_tot; Mod_GprotAct(y, lGCPRwithBeta2_CAV.Rb1Gs + sc.k_GsAct_b2 * lGCPRwithBeta2_CAV.Rb2Gs, lGCPRwithBeta2_CAV.LRb1Gs + sc.k_GsAct_b2 * lGCPRwithBeta2_CAV.LRb2Gs, lGCPRwithBeta2_CAV.Rb2Gi, lGCPRwithBeta2_CAV.LRb2Gi, lGCPRwithBeta2_ECAV.Rb1Gs + sc.k_GsAct_b2 * lGCPRwithBeta2_ECAV.Rb2Gs, //RG_ECAV lGCPRwithBeta2_ECAV.LRb1Gs + sc.k_GsAct_b2 * lGCPRwithBeta2_ECAV.LRb2Gs, //LRG_ECAV lGCPRwithBeta2_ECAV.Rb2Gi, lGCPRwithBeta2_ECAV.LRb2Gi, ligRecepGprot.RG, ligRecepGprot.LRG); CAMP_AC cAMP_AC = Mod_AC(y); PKA pka = Mod_PKA(y); Mod_cAMP(y, pka, cAMP_AC); Mod_PDE_Phosphorylation(y); double pp1 = Mod_PP1_Inhibition(y); Mod_Channel_Phosphorylation(y, pp1); return dy; }