From e5152fe3be6d734ad17c80e02afa39eda05ed9ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asia=20J=C4=99drzejewska-Szmek?= <asia@in.waw.pl> Date: Fri, 20 Jan 2017 15:49:30 -0500 Subject: [PATCH] Add MMPump to DifShell --- moose-core/biophysics/DifShell.cpp | 4 ++-- moose-core/biophysics/DifShellBase.cpp | 27 ++++++++++++-------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/moose-core/biophysics/DifShell.cpp b/moose-core/biophysics/DifShell.cpp index a9f9ee77..7a8cf71c 100644 --- a/moose-core/biophysics/DifShell.cpp +++ b/moose-core/biophysics/DifShell.cpp @@ -23,7 +23,7 @@ const Cinfo* DifShell::initCinfo() static string doc[] = { "Name", "DifShell", - "Author", "Niraj Dudani. Ported to async13 by Subhasis Ray.", + "Author", "Niraj Dudani. Ported to async13 by Subhasis Ray. Rewritten by Asia Jedrzejewska-Szmek", "Description", "DifShell object: Models diffusion of an ion (typically calcium) within an " "electric compartment. A DifShell is an iso-concentration region with respect to " "the ion. Adjoining DifShells exchange flux of this ion, and also keep track of " @@ -431,7 +431,7 @@ void DifShell::vEqTauPump(const Eref& e, double kP ) void DifShell::vMMPump(const Eref& e, double vMax, double Kd ) { - Cmultiplier_ += -( vMax / volume_ ) / ( C_ + Kd ) ; + Cmultiplier_ += ( vMax / volume_ ) / ( C_ + Kd ) ; } void DifShell::vHillPump(const Eref& e, double vMax, double Kd, unsigned int hill ) diff --git a/moose-core/biophysics/DifShellBase.cpp b/moose-core/biophysics/DifShellBase.cpp index 2400e392..e6d1e533 100644 --- a/moose-core/biophysics/DifShellBase.cpp +++ b/moose-core/biophysics/DifShellBase.cpp @@ -50,6 +50,9 @@ const Cinfo* DifShellBase::initCinfo() "Shared message to receive Process message from scheduler", processShared, sizeof( processShared ) / sizeof( Finfo* )); + + + static DestFinfo reaction( "reaction", "Here the DifShell receives reaction rates (forward and backward), and concentrations for the " "free-buffer and bound-buffer molecules.", @@ -58,21 +61,16 @@ const Cinfo* DifShellBase::initCinfo() static Finfo* bufferShared[] = { DifShellBase::concentrationOut(), &reaction }; + static SharedFinfo buffer( "buffer", - "This is a shared message from a DifShell to a Buffer (FixBuffer or DifBuffer). " - "During stage 0:\n " - " - DifShell sends ion concentration\n" - " - Buffer updates buffer concentration and sends it back immediately using a call-back.\n" - " - DifShell updates the time-derivative ( dC / dt ) \n" - "\n" - "During stage 1: \n" - " - DifShell advances concentration C \n\n" - "This scheme means that the Buffer does not need to be scheduled, and it does its computations when " - "it receives a cue from the DifShell. May not be the best idea, but it saves us from doing the above " - "computations in 3 stages instead of 2." , + "This is a shared message from a DifShell to a Buffer (FixBuffer or DifBuffer). " , bufferShared, sizeof( bufferShared ) / sizeof( Finfo* )); - + ///// + + + + static DestFinfo fluxFromOut( "fluxFromOut", "Destination message", new EpFunc2< DifShellBase, double, double > ( &DifShellBase::fluxFromOut )); @@ -137,7 +135,8 @@ const Cinfo* DifShellBase::initCinfo() &DifShellBase::setInnerArea, &DifShellBase::getInnerArea ); - + static DestFinfo mmPump( "mmPump", "Here DifShell receives pump outflux", + new EpFunc2< DifShellBase, double, double >( &DifShellBase::mmPump ) ); static DestFinfo influx( "influx", "", new EpFunc1< DifShellBase, double > (&DifShellBase::influx )); static DestFinfo outflux( "outflux", "", @@ -154,8 +153,6 @@ const Cinfo* DifShellBase::initCinfo() new EpFunc2< DifShellBase, double, double >( &DifShellBase::tauPump ) ); static DestFinfo eqTauPump( "eqTauPump", "", new EpFunc1< DifShellBase, double >( &DifShellBase::eqTauPump ) ); - static DestFinfo mmPump( "mmPump", "", - new EpFunc2< DifShellBase, double, double >( &DifShellBase::mmPump ) ); static DestFinfo hillPump( "hillPump", "", new EpFunc3< DifShellBase, double, double, unsigned int >( &DifShellBase::hillPump ) ); static Finfo* difShellBaseFinfos[] = { -- GitLab