echempp-devel Mailing List for EChem++ (Page 6)
Status: Beta
Brought to you by:
berndspeiser
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(6) |
Dec
(1) |
| 2005 |
Jan
(3) |
Feb
(12) |
Mar
(4) |
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
(9) |
Sep
(2) |
Oct
|
Nov
(5) |
Dec
(4) |
| 2006 |
Jan
(56) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(29) |
Jun
(38) |
Jul
(3) |
Aug
(4) |
Sep
(5) |
Oct
(1) |
Nov
(33) |
Dec
(26) |
| 2007 |
Jan
|
Feb
(56) |
Mar
(68) |
Apr
(14) |
May
(25) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(60) |
| 2008 |
Jan
(15) |
Feb
|
Mar
(59) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
(17) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: beeblbrox <bee...@us...> - 2007-12-22 15:46:29
|
Update of /cvsroot/echempp/Experiment In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv23868/Experiment Modified Files: Makefile.am Log Message: Excluded InputFilters since it doesn't provide any relevant functionality yet and uses TinyXML. Remove the directory as needed. Index: Makefile.am =================================================================== RCS file: /cvsroot/echempp/Experiment/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.am 5 Jun 2006 10:05:12 -0000 1.7 --- Makefile.am 22 Dec 2007 15:46:15 -0000 1.8 *************** *** 1,3 **** ! SUBDIRS = . ExcitationFunction Data InputFilters Experiment documentation EXTRA_DIST = documentation/mainpage.txt \ --- 1,3 ---- ! SUBDIRS = . ExcitationFunction Data Experiment documentation EXTRA_DIST = documentation/mainpage.txt \ *************** *** 10,15 **** cd Data && $(MAKE) doc;\ cd ..;\ - cd InputFilters && $(MAKE) doc;\ - cd ..;\ cd Experiment && $(MAKE) doc;\ cd ..;\ --- 10,13 ---- *************** *** 22,27 **** cd Data && $(MAKE) doc-clean;\ cd ..;\ - cd InputFilters && $(MAKE) doc-clean;\ - cd ..;\ cd Experiment && $(MAKE) doc-clean;\ cd ..;\ --- 20,23 ---- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 18:11:24
|
Update of /cvsroot/echempp/GUI/Windows/Qt/EChem++/Model In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14613 Modified Files: modelMainWindow.cpp Log Message: Fixed sltNewSingleExperiment. Index: modelMainWindow.cpp =================================================================== RCS file: /cvsroot/echempp/GUI/Windows/Qt/EChem++/Model/modelMainWindow.cpp,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** modelMainWindow.cpp 19 Dec 2007 11:52:48 -0000 1.58 --- modelMainWindow.cpp 19 Dec 2007 18:01:34 -0000 1.59 *************** *** 635,639 **** ep = NULL; } ! new experiment::cv::SimInduced(new experiment::ConditionDataModSim(), new experiment::MeasurementDataModSim()); this->ep->set_title("New single Experiment"); } --- 635,639 ---- ep = NULL; } ! this->ep = new experiment::cv::SimInduced(new experiment::ConditionDataModSim(), new experiment::MeasurementDataModSim()); this->ep->set_title("New single Experiment"); } |
|
From: beeblbrox <bee...@us...> - 2007-12-19 17:43:24
|
Update of /cvsroot/echempp In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6942 Modified Files: README_FIRST Log Message: Fixed typo. Index: README_FIRST =================================================================== RCS file: /cvsroot/echempp/README_FIRST,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** README_FIRST 19 Dec 2007 15:20:05 -0000 1.7 --- README_FIRST 19 Dec 2007 17:43:13 -0000 1.8 *************** *** 8,12 **** LIBTOOLM4 in runme_cvs.sh. ! If you are a EChem++ developper, you should run runme_cvs.sh every time you changed something in the configure.in and/or Makefile.am files. --- 8,12 ---- LIBTOOLM4 in runme_cvs.sh. ! If you are a EChem++ developer, you should run runme_cvs.sh every time you changed something in the configure.in and/or Makefile.am files. |
|
From: beeblbrox <bee...@us...> - 2007-12-19 16:14:46
|
Update of /cvsroot/echempp/GUI/Visualization In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv3254 Modified Files: vtkGraph.cpp vtkGraph.hpp Log Message: Patched to use with VTK 4 or VTK 5 Index: vtkGraph.hpp =================================================================== RCS file: /cvsroot/echempp/GUI/Visualization/vtkGraph.hpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** vtkGraph.hpp 10 Dec 2007 17:06:09 -0000 1.14 --- vtkGraph.hpp 19 Dec 2007 16:14:40 -0000 1.15 *************** *** 30,33 **** --- 30,34 ---- #include "Visualization/vtkAxisSystem.hpp" #include "Visualization/vtkColor.hpp" + #include "vtkVersion.h" namespace GUI *************** *** 159,163 **** --- 160,166 ---- { //std::cout << "VtkGraph<D>::draw()" << std::endl; + #if VTK_MAJOR_VERSION > 4 _renderer->RemoveAllViewProps(); + #endif this->drawAxisSystem(); this->drawBackground(); *************** *** 196,200 **** --- 199,207 ---- for(unsigned int i = 0; i < actors.size(); ++i) { + #if VTK_MAJOR_VERSION > 4 _renderer->AddViewProp( actors[i] ); + #else + _renderer->AddProp( actors[i] ); + #endif } std::cout << "VtkGraph<D>::drawAxisSystem()" << std::endl; Index: vtkGraph.cpp =================================================================== RCS file: /cvsroot/echempp/GUI/Visualization/vtkGraph.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** vtkGraph.cpp 10 Dec 2007 17:06:08 -0000 1.6 --- vtkGraph.cpp 19 Dec 2007 16:14:39 -0000 1.7 *************** *** 55,59 **** --- 55,63 ---- for(unsigned int i = 0; i < actors.size(); ++i) { + #if VTK_MAJOR_VERSION > 4 ren->AddViewProp( actors[i] ); + #else + ren->AddProp( actors[i] ); + #endif } *************** *** 74,78 **** --- 78,86 ---- for(unsigned int i = 0; i < actors.size(); ++i) { + #if VTK_MAJOR_VERSION > 4 ren->AddViewProp( actors[i] ); + #else + ren->AddProp( actors[i] ); + #endif } |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:41
|
Update of /cvsroot/echempp In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770 Modified Files: README_FIRST Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- Index: README_FIRST =================================================================== RCS file: /cvsroot/echempp/README_FIRST,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** README_FIRST 21 Jan 2006 13:38:12 -0000 1.6 --- README_FIRST 19 Dec 2007 15:20:05 -0000 1.7 *************** *** 1,24 **** If you have downloaded the cvs version of this package, you have ! to create a configure-script first ! ! after the cvs checkout is complete do the following: ! ! 0) copy your local libtool.m4 file to ! acinclude.m4 in the top echempp directory, e.g. ! ! cd ~/software/echempp ! cp /usr/share/aclocal/libtool.m4 acinclude.m4 ! 1) run ./bootstrap (ignore the messages) ! 2) run libtoolize (ignore the messages) ! 3) run ./bootstrap ! 4) change into the subdirectories GUI, Utilities, ! Experiment, Model, Analysis and HardwareControl ! and run ./bootstrap. ! this will create the necessary files to compile the package ! (see README). ! If you are a EChem++ developper, you should run bootstrap every time you changed something in the configure.in and/or Makefile.am files. --- 1,12 ---- If you have downloaded the cvs version of this package, you have ! to create a configure-script first. ! Simply run runme_cvs.sh to set up everything. ! If your libtool.m4 is in a non-standard ! directory you have to change the variable ! LIBTOOLM4 in runme_cvs.sh. ! If you are a EChem++ developper, you should run runme_cvs.sh every time you changed something in the configure.in and/or Makefile.am files. *************** *** 28,29 **** --- 16,19 ---- Kai Ludwig, October 2003 + Updated by Dominik Brugger, December 2007 + |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:14
|
Update of /cvsroot/echempp/Utilities In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770/Utilities Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:13
|
Update of /cvsroot/echempp/GUI In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770/GUI Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:13
|
Update of /cvsroot/echempp/Model In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770/Model Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:13
|
Update of /cvsroot/echempp/HardwareControl In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770/HardwareControl Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:13
|
Update of /cvsroot/echempp/Experiment In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770/Experiment Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 15:20:11
|
Update of /cvsroot/echempp/Analysis In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13770/Analysis Removed Files: bootstrap Log Message: Removed bootstrap scripts. All functionality is now in toplevel runme_cvs.sh --- bootstrap DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 14:59:12
|
Update of /cvsroot/echempp In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv5154 Added Files: runme_cvs.sh Log Message: Script to run after CVS checkout. Makes bootstrap stuff obsolete. --- NEW FILE: runme_cvs.sh --- #!/bin/bash # D. Brugger # run this after a cvs checkout # subdirs to bootstrap SUBDIRS="GUI Utilities Experiment Model Analysis HardwareControl" # change if necessary LIBTOOLM4=/usr/share/aclocal/libtool.m4 function bootstrap() { aclocal 2>/dev/null automake --gnu --add-missing 2>/dev/null autoconf 2>/dev/null } function bootstrap_subdir() { autoheader 2>/dev/null aclocal 2>/dev/null automake --gnu --add-missing 2>/dev/null autoconf 2>/dev/null } if [ -f ${LIBTOOLM4} ]; then echo -n "Copying libtool.m4..." cp ${LIBTOOLM4} acinclude.m4 echo "done." else echo "Cannot find libtool.m4, please specify location in runme_cvs.sh" fi bootstrap libtoolize 2>/dev/null bootstrap for i in ${SUBDIRS}; do if [ -d ${i} ]; then OLDPWD=`pwd`; cd ${i} echo -n "Running bootstrap in subdir ${i}..." bootstrap_subdir; echo "done." cd ${OLDPWD}; else echo "Unkonw subdir ${i}" fi done |
|
From: beeblbrox <bee...@us...> - 2007-12-19 14:55:33
|
Update of /cvsroot/echempp/Experiment/Experiment In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv3922 Added Files: Experiment.cpp Log Message: Experiment implementation. --- NEW FILE: Experiment.cpp --- /*! \file Experiment.cpp \brief header file for experiment classes. Experiment.cpp is part of the Experiment package. */ /* Copyright (C) 2007, Dominik Brugger, Bernd Speiser This file is part of EChem++. EChem++ is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. EChem++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // $Id: Experiment.cpp,v 1.1 2007/12/19 14:55:21 beeblbrox Exp $ #include "Experiment.hpp" namespace experiment{ const std::string Compound::GUID = "Compound"; const std::string Collection::GUID = "Collection"; const std::string Homogeneous::GUID = "Homogeneous"; const std::string Sequential::GUID = "Sequential"; const std::string Simultaneous::GUID = "Simultaneous"; } /* end namespace experiment */ |
|
From: beeblbrox <bee...@us...> - 2007-12-19 14:18:55
|
Update of /cvsroot/echempp/Experiment/ExcitationFunction In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv21308/Experiment/ExcitationFunction Modified Files: excitationFunction.hpp segment.hpp Log Message: Modified to use boost::serialization. Index: excitationFunction.hpp =================================================================== RCS file: /cvsroot/echempp/Experiment/ExcitationFunction/excitationFunction.hpp,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** excitationFunction.hpp 19 May 2007 15:52:13 -0000 1.39 --- excitationFunction.hpp 19 Dec 2007 14:18:52 -0000 1.40 *************** *** 1,9 **** /*! \file excitationFunction.hpp ! \brief header file for excitation function classes. ! excitationFunction.hpp is part of the ExcitationFunction package. ! An excitation function is used to disturb the equilibrium in an ! electrochemical system, bith in experiment and simulation. ! The basic building blocks for an excitation function are segments. */ --- 1,9 ---- [...1726 lines suppressed...] SDIExcitationFunction<D, I, S>::~SDIExcitationFunction(void) ! {} ! //! add a segment to the segment list ! /*! ! This function adds a segment to the list of segments composing the ! excitation function. The segment must be of the correct type S in ! the SDIExcitationFunction. Addition is done through the add function ! in the base class DIExcitationFunction. ! */ ! template<class D, class I, template<class, class> class S> void SDIExcitationFunction<D, I, S>::add(const S<D, I> & newSeg) ! {DIExcitationFunction<D, I>::add (newSeg);} ! template<class D, class I, template<class, class> class S> void SDIExcitationFunction<D, I, S>::add(const S<D, I>* newSeg) ! {DIExcitationFunction<D, I>::add (newSeg);} } Index: segment.hpp =================================================================== RCS file: /cvsroot/echempp/Experiment/ExcitationFunction/segment.hpp,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** segment.hpp 19 May 2007 15:52:13 -0000 1.37 --- segment.hpp 19 Dec 2007 14:18:52 -0000 1.38 *************** *** 32,47 **** #define _segment_hpp #include "TemplateTools.h" #include "ExcitationFunction/excitationFunctionError.hpp" #include "GeneralQuantities/GeneralQuantities.h" #include "PhysicalQuantities/PhysicalQuantities.h" ! #include "Factory.h" ! [...3751 lines suppressed...] ! private: ! typedef DISegment<quantity::Digital,I> Base; ! friend class boost::serialization::access; ! template<class Archive> ! void serialize(Archive & ar, const unsigned int version) ! { ! ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base) ! & BOOST_SERIALIZATION_NVP(_digitalValue); ! } ! }; ! //! for serialization ! template<class I> ! const std::string DigitalSegment<I>::GUID = ! DigitalSegment<I>::create_guid(); ! } // end namespace Segments } // end namespace ExcitationFunctions |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:48:14
|
Update of /cvsroot/echempp/Model/Adapters In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv8697/Model/Adapters Modified Files: dimAdsSpeciesParameters.cpp dimDissSpeciesParameters.cpp dimGeometry1D.cpp dissButlerVolmerParameters.cpp hetSurfacePowerLawParameters.cpp homSurfacePowerLawParameters.cpp homogeneousPowerLawParameters.cpp langmuirAdsorptionParameters.cpp potentialSignal.cpp Log Message: Modified to reflect changes in modelParametersDialog etc. Index: hetSurfacePowerLawParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/hetSurfacePowerLawParameters.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** hetSurfacePowerLawParameters.cpp 25 Mar 2007 17:45:48 -0000 1.5 --- hetSurfacePowerLawParameters.cpp 19 Dec 2007 13:48:10 -0000 1.6 *************** *** 224,228 **** HetSurfacePowerLawParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "HetSurfacePowerLawParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); --- 224,228 ---- HetSurfacePowerLawParameters::update( const AdapterAspect& aspect ) { ! std::cout << "HetSurfacePowerLawParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); *************** *** 257,261 **** ! // std::cout << "HetSurfacePowerLawParameters::update() -- END" << std::endl; } --- 257,261 ---- ! std::cout << "HetSurfacePowerLawParameters::update() -- END" << std::endl; } Index: dissButlerVolmerParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/dissButlerVolmerParameters.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** dissButlerVolmerParameters.cpp 4 Aug 2006 09:13:33 -0000 1.4 --- dissButlerVolmerParameters.cpp 19 Dec 2007 13:48:10 -0000 1.5 *************** *** 120,123 **** --- 120,124 ---- DissButlerVolmerParameters::update( const AdapterAspect& aspect ) { + // std::cout << "DissButlerVolmerParameters::update ... " << std::endl; std::string name = aspect.parameter(); if( name == "T" ) *************** *** 146,150 **** // do nothing } ! } --- 147,151 ---- // do nothing } ! // std::cout << "done. " << std::endl; } Index: homSurfacePowerLawParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/homSurfacePowerLawParameters.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** homSurfacePowerLawParameters.cpp 25 Mar 2007 17:45:48 -0000 1.4 --- homSurfacePowerLawParameters.cpp 19 Dec 2007 13:48:10 -0000 1.5 *************** *** 198,202 **** HomSurfacePowerLawParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "HomSurfacePowerLawParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); --- 198,202 ---- HomSurfacePowerLawParameters::update( const AdapterAspect& aspect ) { ! std::cout << "HomSurfacePowerLawParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); *************** *** 231,235 **** ! // std::cout << "HomSurfacePowerLawParameters::update() -- END" << std::endl; } --- 231,235 ---- ! std::cout << "HomSurfacePowerLawParameters::update() -- END" << std::endl; } Index: langmuirAdsorptionParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/langmuirAdsorptionParameters.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** langmuirAdsorptionParameters.cpp 25 Mar 2007 17:45:51 -0000 1.12 --- langmuirAdsorptionParameters.cpp 19 Dec 2007 13:48:10 -0000 1.13 *************** *** 118,122 **** LangmuirAdsorptionParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "LangmuirAdsorptionParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); --- 118,122 ---- LangmuirAdsorptionParameters::update( const AdapterAspect& aspect ) { ! std::cout << "LangmuirAdsorptionParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); *************** *** 163,167 **** // do nothing } ! // std::cout << "LangmuirAdsorptionParameters::update() -- END" << std::endl; } --- 163,167 ---- // do nothing } ! std::cout << "LangmuirAdsorptionParameters::update() -- END" << std::endl; } Index: potentialSignal.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/potentialSignal.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** potentialSignal.cpp 4 Aug 2006 09:13:33 -0000 1.13 --- potentialSignal.cpp 19 Dec 2007 13:48:10 -0000 1.14 *************** *** 108,111 **** --- 108,112 ---- PotentialSignal::update( const AdapterAspect& aspect ) { + // std::cout << "PotentialSignal::update ... " << std::endl; std::string name = aspect.parameter(); if( name == "T" ) *************** *** 117,121 **** // do nothing } ! } --- 118,122 ---- // do nothing } ! // std::cout << "done. " << std::endl; } Index: dimGeometry1D.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/dimGeometry1D.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** dimGeometry1D.cpp 4 Aug 2006 09:13:33 -0000 1.7 --- dimGeometry1D.cpp 19 Dec 2007 13:48:10 -0000 1.8 *************** *** 90,93 **** --- 90,94 ---- DimGeometry1D::update( const AdapterAspect& aspect ) { + // std::cout << "DimGeometry1D::update ... " << std::endl; std::string name = aspect.parameter(); if( name == "Lref" ) *************** *** 100,103 **** --- 101,105 ---- // do nothing } + // std::cout << "done. " << std::endl; } Index: dimAdsSpeciesParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/dimAdsSpeciesParameters.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** dimAdsSpeciesParameters.cpp 25 Mar 2007 17:45:48 -0000 1.12 --- dimAdsSpeciesParameters.cpp 19 Dec 2007 13:48:10 -0000 1.13 *************** *** 132,136 **** DimAdsSpeciesParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "DimAdsSpeciesParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); --- 132,136 ---- DimAdsSpeciesParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "DimAdsSpeciesParameters::update()" << std::endl; std::string name = aspect.parameter(); int boundary = aspect.boundary(); *************** *** 148,152 **** } ! // std::cout << "DimAdsSpeciesParameters::update() -- END" << std::endl; } --- 148,152 ---- } ! // std::cout << "DimAdsSpeciesParameters::update() -- END" << std::endl; } Index: dimDissSpeciesParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/dimDissSpeciesParameters.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** dimDissSpeciesParameters.cpp 3 Aug 2006 17:58:24 -0000 1.6 --- dimDissSpeciesParameters.cpp 19 Dec 2007 13:48:10 -0000 1.7 *************** *** 108,112 **** DimDissSpeciesParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "DimDissSpeciesParameters::update()" << std::endl; std::string name = aspect.parameter(); if( name == "Cref" ) --- 108,112 ---- DimDissSpeciesParameters::update( const AdapterAspect& aspect ) { ! // std::cout << "DimDissSpeciesParameters::update()" << std::endl; std::string name = aspect.parameter(); if( name == "Cref" ) *************** *** 128,131 **** --- 128,132 ---- // do nothing } + // std::cout << "done ... " << std::endl; } Index: homogeneousPowerLawParameters.cpp =================================================================== RCS file: /cvsroot/echempp/Model/Adapters/homogeneousPowerLawParameters.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** homogeneousPowerLawParameters.cpp 25 Mar 2007 17:45:48 -0000 1.11 --- homogeneousPowerLawParameters.cpp 19 Dec 2007 13:48:10 -0000 1.12 *************** *** 203,206 **** --- 203,207 ---- HomogeneousPowerLawParameters::update( const AdapterAspect& aspect ) { + std::cout << "HomogeneousPowerLawParameters::update ... " << std::endl; std::string name = aspect.parameter(); if( name == "Cref" ) *************** *** 238,241 **** --- 239,243 ---- // do nothing } + std::cout << "done. " << std::endl; } |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:43:22
|
Update of /cvsroot/echempp/GUI/Visualization In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6573/GUI/Visualization Modified Files: vtkText.cpp Log Message: minor change. Index: vtkText.cpp =================================================================== RCS file: /cvsroot/echempp/GUI/Visualization/vtkText.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** vtkText.cpp 4 Dec 2005 21:40:10 -0000 1.6 --- vtkText.cpp 19 Dec 2007 13:43:17 -0000 1.7 *************** *** 260,264 **** void VtkText::update( const Utilities::Aspect& ) ! { this->applyColor(); } --- 260,264 ---- void VtkText::update( const Utilities::Aspect& ) ! { this->applyColor(); } |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:33:41
|
Update of /cvsroot/echempp/GUI In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv2429/GUI Modified Files: configure.in Log Message: Changed linking of shared VTK libraries. Needed if several versions of VTK exist on the system. Index: configure.in =================================================================== RCS file: /cvsroot/echempp/GUI/configure.in,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** configure.in 26 Feb 2007 14:52:15 -0000 1.24 --- configure.in 19 Dec 2007 13:33:37 -0000 1.25 *************** *** 138,142 **** then AC_MSG_RESULT([all shared vtk libraries available]) ! VTK_LIBS_SHARED="-L$VTKLIB -lvtkCommon -lvtkFiltering -lvtkGraphics -lvtkImaging -lvtkRendering" else AC_MSG_RESULT([Warning: No shared vtk libs are found !]) --- 138,142 ---- then AC_MSG_RESULT([all shared vtk libraries available]) ! VTK_LIBS_SHARED="$VTKLIB/libvtkCommon.so $VTKLIB/libvtkFiltering.so $VTKLIB/libvtkGraphics.so $VTKLIB/libvtkImaging.so $VTKLIB/libvtkRendering.so" else AC_MSG_RESULT([Warning: No shared vtk libs are found !]) |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:32:17
|
Update of /cvsroot/echempp/Experiment/Experiment/test In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv1895/Experiment/Experiment/test Modified Files: ExperimentTest.cpp Makefile.am Log Message: Updated Experiment tests. Index: ExperimentTest.cpp =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/test/ExperimentTest.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ExperimentTest.cpp 17 May 2007 14:02:42 -0000 1.7 --- ExperimentTest.cpp 19 Dec 2007 13:32:12 -0000 1.8 *************** *** 1,4 **** --- 1,8 ---- #include <iostream> + // local includes + #include "../Experiment.hpp" + using namespace experiment; + // Boost includes #include <boost/test/unit_test.hpp> *************** *** 10,17 **** #include <boost/archive/xml_oarchive.hpp> - // local includes - #include "../Experiment.hpp" - using namespace experiment; - // Note: Compile and link with: // g++ -o ExperimentTest ExperimentTest.cpp -lboost_unit_test_framework --- 14,17 ---- *************** *** 67,70 **** --- 67,71 ---- ep2->add( new RealDynamicEPTAction() ); ep2->add( new RealDynamicTEPObservation() ); + ep->add( ep2 ); return ep; *************** *** 464,468 **** BOOST_REQUIRE_NO_THROW( col.remove(1) ); BOOST_REQUIRE_THROW( col.remove(2), ExperimentException ); ! BOOST_CHECK( col.num_elements() == 2 ); } --- 465,469 ---- BOOST_REQUIRE_NO_THROW( col.remove(1) ); BOOST_REQUIRE_THROW( col.remove(2), ExperimentException ); ! BOOST_CHECK( col.size() == 2 ); } Index: Makefile.am =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/test/Makefile.am,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Makefile.am 6 Apr 2007 17:17:51 -0000 1.14 --- Makefile.am 19 Dec 2007 13:32:12 -0000 1.15 *************** *** 3,7 **** ExperimentTest_SOURCES = ExperimentTest.cpp ! ExperimentTest_LDADD = -lboost_unit_test_framework \ -lboost_serialization \ -lboost_date_time \ --- 3,8 ---- ExperimentTest_SOURCES = ExperimentTest.cpp ! ExperimentTest_LDADD = ../libeppExperiment.la \ ! -lboost_unit_test_framework \ -lboost_serialization \ -lboost_date_time \ *************** *** 13,17 **** -L$(BSUTILITIESLIB) -lBSUtilities \ -L$(LOKILIB) -lloki - # ../libeppExperiment.la INCLUDES = -I../../../Experiment \ --- 14,17 ---- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:31:33
|
Update of /cvsroot/echempp/Experiment/Experiment In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv1483/Experiment/Experiment Modified Files: Doxyfile Experiment.hpp Makefile.am Technique.h Technique.hpp Log Message: New Experiment classes. Index: Doxyfile =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/Doxyfile,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Doxyfile 30 Nov 2006 12:35:19 -0000 1.5 --- Doxyfile 19 Dec 2007 13:31:29 -0000 1.6 *************** *** 355,359 **** # *.h++ *.idl *.odl ! FILE_PATTERNS = *.cc *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories --- 355,359 ---- # *.h++ *.idl *.odl ! FILE_PATTERNS = *.cpp *.hpp # The RECURSIVE tag can be used to turn specify whether or not subdirectories Index: Experiment.hpp =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/Experiment.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Experiment.hpp 17 May 2007 14:02:41 -0000 1.6 --- Experiment.hpp 19 Dec 2007 13:31:29 -0000 1.7 *************** *** 29,32 **** --- 29,37 ---- #define __EXPERIMENT_HPP__ + // BSUtilities includes + #include "SerializationTools.h" + #include "TemplateTools.h" + #include "TypeToName.h" + // STL includes #include <vector> *************** *** 37,40 **** --- 42,53 ---- #include <typeinfo> + // Loki includes + #include <loki/LokiTypeInfo.h> + + // Local includes + #include "Data/Data.hpp" + #include "ExcitationFunction/excitationFunction.hpp" + #include "Experiment/Technique.hpp" + // Boost includes #include <boost/serialization/serialization.hpp> *************** *** 44,63 **** #include <boost/serialization/utility.hpp> #include <boost/serialization/vector.hpp> - #include <boost/serialization/export.hpp> #include <boost/date_time/posix_time/posix_time.hpp> #include <boost/date_time/posix_time/time_serialize.hpp> - // Loki includes - #include <loki/LokiTypeInfo.h> - - // BSUtilities includes - #include "TemplateTools.h" - #include "SerializationTools.h" - #include "TypeToName.h" - - // Local includes - #include "ExcitationFunction/excitationFunction.hpp" - #include "Experiment/Technique.hpp" - namespace experiment { --- 57,63 ---- *************** *** 69,93 **** } template<> ! const std::string type2name<quantity::CelsiusTemperature>() ! { ! return "CelsiusTemperature"; ! } ! template<> ! const std::string type2name<quantity::Time>() ! { ! return "Time"; ! } ! template<> ! const std::string type2name<quantity::ElectricPotential>() ! { ! return "ElectricPotential"; ! } ! template<> ! const std::string type2name<quantity::ElectricCurrent>() ! { ! return "ElectricCurrent"; ! } ! template<> ! const std::string type2name<Loki::EmptyType>() { return "EmptyType"; --- 69,73 ---- } template<> ! inline const std::string type2name<Loki::EmptyType>() { return "EmptyType"; *************** *** 178,221 **** }; ! //! Base class for all experiments. class Experiment { public: ! Experiment() { title_ = "Insert Experiment title"; parent_ = NULL; } ! Experiment(const std::string title) : title_(title) { parent_ = NULL; } virtual ~Experiment() {} virtual void perform() = 0; virtual void add(Experiment* e) = 0; virtual void remove(const size_t idx) = 0; ! Experiment* get_parent() { return parent_; } ! void set_parent(Experiment* parent) { parent_ = parent; } virtual const Loki::TypeInfo get_independent_type() const = 0; virtual const Loki::TypeInfo get_dependent_type() const = 0; virtual const Loki::TypeInfo get_result_type() const = 0; virtual const Loki::TypeInfo get_realism_type() const = 0; virtual const Loki::TypeInfo get_dynamics_type() const = 0; virtual const bool has_matching_independent_range(Experiment* e) const = 0; virtual const bool is_compound() const = 0; const std::string& get_title() const { return title_; } void set_title(const std::string& title) { title_ = title; } virtual const bool equal(Experiment* e) const { return title_ == e->get_title(); } private: std::string title_; - Experiment* parent_; friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ! ar & BOOST_SERIALIZATION_NVP(title_) ! & BOOST_SERIALIZATION_NVP(parent_); } }; ! //! Base class for all atomic experiments. //! Atomic experiments are used to represent self-contained ! //! experiments that are not further divisible. template<class Tech> class Atomic : public Experiment --- 158,241 ---- }; ! //! Abstract base class for all experiments. Experiment implements the ! //! composite pattern. Concrete implementations include Action, Induced, ! //! Observation, Homogeneous, Sequential and Simultaneous. class Experiment { public: ! //! Create new Experiment with no title. ! Experiment() { title_ = "Insert Experiment title";} ! //! Create new Experiment with the supplied title. ! Experiment(const std::string title) : title_(title) {} ! //! Make a deep copy (clone) of the Experiment. ! virtual Experiment* clone() = 0; ! //! Destroy Experiment. virtual ~Experiment() {} + //! Virtual function to perform the Experiment. If the Experiment is a Compound + //! this function will be called for all elements of the Compound. virtual void perform() = 0; + //! Add an Experiment to a Compound. This will throw ExperimentException when called + //! for Atomic experiments. virtual void add(Experiment* e) = 0; + //! Remove an Experiment from the Compound. This will throw ExperimentException when called + //! for Atomic experiments. virtual void remove(const size_t idx) = 0; ! //! Retrieve an Experiment from the Compound. This will throw ExperimentException when called ! // for Atomic experiments. ! virtual Experiment* get(const size_t idx) = 0; ! //! Number of Elements in Compound. This will throw ExperimentException when called ! //! for Atomic experiments. ! virtual size_t size() const = 0; ! //! Determine the type of the independent variable. Needed for runtime checks performed ! //! on Compound Experiments. virtual const Loki::TypeInfo get_independent_type() const = 0; + //! Determine the type of the dependent variable. Needed for runtime checks performed + //! on Compound Experiments. virtual const Loki::TypeInfo get_dependent_type() const = 0; + //! Determine the type of the result variable. Needed for runtime checks performed + //! on Compound Experiments. virtual const Loki::TypeInfo get_result_type() const = 0; + //! Determine Realism type. Needed for runtime checks performed + //! on Compound Experiments. virtual const Loki::TypeInfo get_realism_type() const = 0; + //! Determine Dynamics type. Needed for runtime checks performed + //! on Compound Experiments. virtual const Loki::TypeInfo get_dynamics_type() const = 0; + //! Check whether the ranges of the independent variable match. + //! Needed for runtime checks performed on Compound Experiments. virtual const bool has_matching_independent_range(Experiment* e) const = 0; + //! Determine whether the current Experiment is Compound of Atomic. virtual const bool is_compound() const = 0; + //! Retrieve the Experiment title. const std::string& get_title() const { return title_; } + //! Set the Experiment title. void set_title(const std::string& title) { title_ = title; } + //! Polymorphic comparison of Experiments. virtual const bool equal(Experiment* e) const { return title_ == e->get_title(); } + //! Retrieve the condition data. + virtual ConditionData* get_cond_data() const { return NULL; } + //! Set condition data. + virtual void set_cond_data(ConditionData* cd) {} + //! Retrieve the measurement data. + virtual MeasurementData* get_meas_data() const { return NULL; } + //! Set the measurement data. + virtual void set_meas_data(MeasurementData* md) {} private: std::string title_; friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ! ar & BOOST_SERIALIZATION_NVP(title_); } }; ! //! Abstract base class for all atomic experiments. //! Atomic experiments are used to represent self-contained ! //! experiments that are not further divisible. Concrete ! //! implementations include Action, Induced and Observation. template<class Tech> class Atomic : public Experiment *************** *** 247,250 **** --- 267,278 ---- throw ExperimentException("Removing from Atomic not possible!"); } + Experiment* get(const size_t idx) + { + throw ExperimentException("Get from Atomic not possible!"); + } + size_t size() const + { + throw ExperimentException("Size for Atomic not possible!"); + } private: friend class boost::serialization::access; *************** *** 281,291 **** // TODO Use Segment Type as well return "Action_" + type2name<Realism>() + "_" ! + type2name<Dynamics>() + "_" + type2name<I>() + "_" + type2name<D>() + "_" + type2name<R>(); } ! BSUtilities::AutoRegistor<Action<Tech> > reg; static const std::string GUID; Action() {} Action(const std::string title) : _AtomicBase(title) {} virtual ~Action() {} virtual void perform() {} --- 309,326 ---- // TODO Use Segment Type as well return "Action_" + type2name<Realism>() + "_" ! + type2name<Dynamics>() + "_" + I::create_guid() + "_" + type2name<D>() + "_" + type2name<R>(); } ! BSUtilities::Serialization::AutoRegistor<Action<Tech> > reg; static const std::string GUID; Action() {} Action(const std::string title) : _AtomicBase(title) {} + Action(const Action& a) + { + execution_start = a.execution_start; + execution_end = a.execution_end; + exc_func = a.exc_func; + } + Action* clone() { return new Action(*this); } virtual ~Action() {} virtual void perform() {} *************** *** 306,325 **** --- 341,365 ---- return info; } + //! Retrieve the time when execution started. const boost::posix_time::ptime get_execution_start() const { return execution_start; } + //! Set the time when execution started. void set_execution_start(const boost::posix_time::ptime& pt) { execution_start = pt; } + //! Retrieve the time when execution ended. const boost::posix_time::ptime get_execution_end() const { return execution_end; } + //! Set the time when execution ended. void set_execution_end(const boost::posix_time::ptime& pt) { execution_end = pt; } + //! Retrieve the ExcitationFunction. const ExcitationFunctions::SDIExcitationFunction<D,I,S> get_exc_func() const *************** *** 327,330 **** --- 367,371 ---- return exc_func; } + //! Set the ExcitationFunction. void set_exc_func(const ExcitationFunctions::SDIExcitationFunction< D, I, S>& ef) *************** *** 374,385 **** template<class Realism, ! class Dynamics, ! class I, ! class D, ! class R, ! template<class, class> class S> ! const std::string Action<Technique<Realism,Dynamics,I,D,R,S> >::GUID = ! Action<Technique<Realism,Dynamics,I,D,R,S> >::create_guid(); ! //! Class to represent induced experiments. //! Induced experiments influence the system like Action but --- 415,426 ---- template<class Realism, ! class Dynamics, ! class I, ! class D, ! class R, ! template<class, class> class S> ! const std::string Action<Technique<Realism,Dynamics,I,D,R,S> >::GUID = ! Action<Technique<Realism,Dynamics,I,D,R,S> >::create_guid(); ! //! Class to represent induced experiments. //! Induced experiments influence the system like Action but *************** *** 410,417 **** + type2name<D>() + "_" + type2name<R>(); } ! BSUtilities::AutoRegistor<Induced<Tech> > reg; static const std::string GUID; ! Induced() {}; ! virtual ~Induced() { std::cout << "Called ~Induced" << std::endl; }; virtual void perform() {}; // RTTI --- 451,475 ---- + type2name<D>() + "_" + type2name<R>(); } ! BSUtilities::Serialization::AutoRegistor<Induced<Tech> > reg; static const std::string GUID; ! Induced() { cond_data = NULL; meas_data = NULL; }; ! Induced(ConditionData* cd, MeasurementData* md) ! : cond_data(cd), meas_data(md) {}; ! Induced(const Induced& i) ! { ! induction_start = i.induction_start; ! induction_end = i.induction_end; ! exc_func = i.exc_func; ! cond_data = i.cond_data->clone(); ! meas_data = i.meas_data->clone(); ! } ! Induced* clone() { return new Induced(*this); } ! virtual ~Induced() ! { ! if(cond_data != NULL) ! delete cond_data; ! if(meas_data != NULL) ! delete meas_data; ! } virtual void perform() {}; // RTTI *************** *** 483,486 **** --- 541,548 ---- exc_func = ef; } + ConditionData* get_cond_data() const { return cond_data; } + void set_cond_data(ConditionData* cd) { cond_data = cd; } + MeasurementData* get_meas_data() const { return meas_data; } + void set_meas_data(MeasurementData* md) { meas_data = md; } private: friend class boost::serialization::access; *************** *** 490,494 **** ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(_AtomicBase) & BOOST_SERIALIZATION_NVP(induction_start) ! & BOOST_SERIALIZATION_NVP(induction_end); // TODO: serialize exc_func } --- 552,558 ---- ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(_AtomicBase) & BOOST_SERIALIZATION_NVP(induction_start) ! & BOOST_SERIALIZATION_NVP(induction_end) ! & BOOST_SERIALIZATION_NVP(cond_data) ! & BOOST_SERIALIZATION_NVP(meas_data); // TODO: serialize exc_func } *************** *** 497,501 **** ExcitationFunctions::SDIExcitationFunction<D, I, S> exc_func; // TODO: MeasurementData ? ! R result; }; --- 561,566 ---- ExcitationFunctions::SDIExcitationFunction<D, I, S> exc_func; // TODO: MeasurementData ? ! ConditionData *cond_data; ! MeasurementData *meas_data; }; *************** *** 515,520 **** //! \sa Action //! \sa Induced ! template<class Tech> ! class Observation : Atomic<Tech> {}; // partial template specialization to enforce constraint, --- 580,584 ---- //! \sa Action //! \sa Induced ! template<class Tech> class Observation : public Atomic<Tech> {}; // partial template specialization to enforce constraint, *************** *** 535,546 **** + type2name<I>() + "_" + type2name<R>(); } ! BSUtilities::AutoRegistor<Observation<Tech> > reg; static const std::string GUID; ! Observation() {}; typedef Observation<Tech> _Observation; typedef Atomic<Tech > _AtomicBase; ! Observation(const I start, const I end) ! : start_(start), end_(end) {}; ! virtual ~Observation() { std::cout << "Called ~Observation" << std::endl; }; virtual void perform() {}; // RTTI --- 599,623 ---- + type2name<I>() + "_" + type2name<R>(); } ! BSUtilities::Serialization::AutoRegistor<Observation<Tech> > reg; static const std::string GUID; ! Observation() { cond_data = NULL; }; typedef Observation<Tech> _Observation; typedef Atomic<Tech > _AtomicBase; ! Observation(const I start, const I end, ConditionData* cd=NULL) ! : start_(start), end_(end), cond_data(cd) {}; ! Observation(const Observation& o) ! { ! recording_start_ = o.recording_start_; ! recording_end_ = o.recording_end_; ! start_ = o.start_; ! end_ = o.end_; ! cond_data = o.cond_data->clone(); ! } ! Observation* clone() { return new Observation(*this); } ! virtual ~Observation() ! { ! if(cond_data != NULL) ! delete cond_data; ! } virtual void perform() {}; // RTTI *************** *** 569,592 **** --- 646,685 ---- return false; } + //! Retrieve time when recording started. const boost::posix_time::ptime get_recording_start() const { return recording_start_; } + //! Set time when recording started. void set_recording_start(const boost::posix_time::ptime& pt) { recording_start_ = pt; } + //! Retrieve time when recording ended. const boost::posix_time::ptime get_recording_end() const { return recording_end_; } + //! Set time when recording ended. void set_recording_end(const boost::posix_time::ptime& pt) { recording_end_ = pt; } + //! Get the value of the independent variable at the + //! beginning of the observation const I get_start() const { return start_; } + //! Set the value of the independent variable at the + //! beginning of the observation void set_start(const I start) { start_ = start; } + //! Get the value of the independent variable at the + //! end of the observation const I get_end() const { return end_; } + //! Set the value of the independent variable at the + //! end of the observation void set_end(const I end) { end_ = end; } + //! Get the ConditionData. + ConditionData* get_cond_data() const { return cond_data; } + //! Set the ConditionData. + void set_cond_data(ConditionData* cd) { cond_data = cd; } private: friend class boost::serialization::access; *************** *** 596,602 **** ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(_AtomicBase) & BOOST_SERIALIZATION_NVP(recording_start_) ! & BOOST_SERIALIZATION_NVP(recording_end_); ! // & BOOST_SERIALIZATION_NVP(start_) ! // & BOOST_SERIALIZATION_NVP(end_); } boost::posix_time::ptime recording_start_; --- 689,696 ---- ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(_AtomicBase) & BOOST_SERIALIZATION_NVP(recording_start_) ! & BOOST_SERIALIZATION_NVP(recording_end_) ! & BOOST_SERIALIZATION_NVP(start_) ! & BOOST_SERIALIZATION_NVP(end_) ! & BOOST_SERIALIZATION_NVP(cond_data); } boost::posix_time::ptime recording_start_; *************** *** 604,608 **** I start_; I end_; ! // TODO: insert Conditions, StateData }; --- 698,703 ---- I start_; I end_; ! ConditionData *cond_data; ! // TODO: insert StateData? }; *************** *** 631,635 **** + type2name<R>(); } ! BSUtilities::AutoRegistor<Observation<Tech> > reg; static const std::string GUID; --- 726,730 ---- + type2name<R>(); } ! BSUtilities::Serialization::AutoRegistor<Observation<Tech> > reg; static const std::string GUID; *************** *** 637,641 **** typedef Atomic<Tech> _AtomicBase; Observation() {}; ! virtual ~Observation() { std::cout << "Called ~Observation" << std::endl; }; virtual void perform() {}; // RTTI --- 732,742 ---- typedef Atomic<Tech> _AtomicBase; Observation() {}; ! Observation(const Observation& o) ! { ! recording_start_ = o.recording_start_; ! recording_end_ = o.recording_end_; ! } ! Observation* clone() { return new Observation(*this); } ! virtual ~Observation() {}; virtual void perform() {}; // RTTI *************** *** 659,662 **** --- 760,783 ---- return false; } + //! Retrieve time when recording started. + const boost::posix_time::ptime get_recording_start() const + { + return recording_start_; + } + //! Set time when recording started. + void set_recording_start(const boost::posix_time::ptime& pt) + { + recording_start_ = pt; + } + //! Retrieve time when recording ended. + const boost::posix_time::ptime get_recording_end() const + { + return recording_end_; + } + //! Set time when recording ended. + void set_recording_end(const boost::posix_time::ptime& pt) + { + recording_end_ = pt; + } private: friend class boost::serialization::access; *************** *** 665,674 **** { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(_AtomicBase) ! & BOOST_SERIALIZATION_NVP(recording_start) ! & BOOST_SERIALIZATION_NVP(recording_end); } ! boost::posix_time::ptime recording_start; ! boost::posix_time::ptime recording_end; ! // TODO: insert Conditions, StateData }; --- 786,795 ---- { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(_AtomicBase) ! & BOOST_SERIALIZATION_NVP(recording_start_) ! & BOOST_SERIALIZATION_NVP(recording_end_); } ! boost::posix_time::ptime recording_start_; ! boost::posix_time::ptime recording_end_; ! // TODO: insert StateData }; *************** *** 687,691 **** public: static const std::string GUID; ! BSUtilities::AutoRegistor<Compound> reg; virtual ~Compound() { --- 808,824 ---- public: static const std::string GUID; ! BSUtilities::Serialization::AutoRegistor<Compound> reg; ! Compound() {} ! Compound(const Compound& c) ! { ! for(unsigned int i = 0; i <= c.elements.size(); ++i) ! { ! elements.push_back((c.elements[i])->clone()); ! } ! } ! Compound* clone() ! { ! return new Compound(*this); ! } virtual ~Compound() { *************** *** 700,704 **** virtual void add(Experiment* e) { - e->set_parent(this); elements.push_back(e); } --- 833,836 ---- *************** *** 710,714 **** elements.erase(elements.begin()+idx); } ! int num_elements() const { return elements.size(); --- 842,850 ---- elements.erase(elements.begin()+idx); } ! Experiment* get(const size_t idx) ! { ! return elements[idx]; ! } ! size_t size() const { return elements.size(); *************** *** 719,726 **** --- 855,866 ---- } typedef std::vector<Experiment*>::const_iterator const_iterator; + //! Return Iterator that points to the start + //! of Compound const_iterator begin() const { return elements.begin(); } + //! Return Iterator that points to the end + //! of Compound const_iterator end() const { *************** *** 789,793 **** if(cp != 0) { ! if(num_elements() != cp->num_elements()) return false; const_iterator i = begin(); --- 929,933 ---- if(cp != 0) { ! if(size() != cp->size()) return false; const_iterator i = begin(); *************** *** 805,809 **** if(cp != 0) { ! if(num_elements() != cp->num_elements()) return false; const_iterator i = begin(); --- 945,949 ---- if(cp != 0) { ! if(size() != cp->size()) return false; const_iterator i = begin(); *************** *** 826,830 **** std::vector<Experiment* > elements; }; - const std::string Compound::GUID = "Compound"; //! Class for collection of experiments. --- 966,969 ---- *************** *** 840,844 **** // No restricton on add, just inherit the one from Compound static const std::string GUID; ! BSUtilities::AutoRegistor<Collection> reg; private: friend class boost::serialization::access; --- 979,983 ---- // No restricton on add, just inherit the one from Compound static const std::string GUID; ! BSUtilities::Serialization::AutoRegistor<Collection> reg; private: friend class boost::serialization::access; *************** *** 849,853 **** } }; - const std::string Collection::GUID = "Collection"; //! Class for homogeneous composition of experiments. --- 988,991 ---- *************** *** 863,867 **** public: static const std::string GUID; ! BSUtilities::AutoRegistor<Homogeneous> reg; virtual ~Homogeneous() {}; void add(Experiment* e) --- 1001,1005 ---- public: static const std::string GUID; ! BSUtilities::Serialization::AutoRegistor<Homogeneous> reg; virtual ~Homogeneous() {}; void add(Experiment* e) *************** *** 878,882 **** Compound* cp1 = dynamic_cast<Compound*>(e); Compound* cp2 = dynamic_cast<Compound*>(ep); ! if(cp1->num_elements() != cp2->num_elements()) throw ExperimentException("Cannot add element because number of elements in Compound differ!"); } --- 1016,1020 ---- Compound* cp1 = dynamic_cast<Compound*>(e); Compound* cp2 = dynamic_cast<Compound*>(ep); ! if(cp1->size() != cp2->size()) throw ExperimentException("Cannot add element because number of elements in Compound differ!"); } *************** *** 901,905 **** } }; - const std::string Homogeneous::GUID = "Homogeneous"; //! Class for sequential composition of experiments. --- 1039,1042 ---- *************** *** 913,917 **** public: static const std::string GUID; ! BSUtilities::AutoRegistor<Sequential> reg; virtual ~Sequential() {}; void add(Experiment* e) --- 1050,1054 ---- public: static const std::string GUID; ! BSUtilities::Serialization::AutoRegistor<Sequential> reg; virtual ~Sequential() {}; void add(Experiment* e) *************** *** 933,937 **** } }; - const std::string Sequential::GUID = "Sequential"; //! Class for simultaneous composition of experiments. --- 1070,1073 ---- *************** *** 945,949 **** public: static const std::string GUID; ! BSUtilities::AutoRegistor<Simultaneous> reg; virtual ~Simultaneous() {}; void add(Experiment* e) --- 1081,1085 ---- public: static const std::string GUID; ! BSUtilities::Serialization::AutoRegistor<Simultaneous> reg; virtual ~Simultaneous() {}; void add(Experiment* e) *************** *** 968,973 **** } }; - const std::string Simultaneous::GUID = "Simultaneous"; namespace cv { --- 1104,1109 ---- } }; + //! Techniques for experiments related to cyclic voltammetry namespace cv { *************** *** 993,996 **** --- 1129,1133 ---- ExcitationFunctions::Segments::LinearSegment> DualDynamicTech; + typedef Induced<SimulatedDynamicTech> SimInduced; } // end namespace cv *************** *** 1098,1101 **** --- 1235,1239 ---- } + // for tesing, do not use typedef Action<internal::AT1> RealDynamicEPTAction; typedef Action<internal::AT2> SimulatedDynamicEPTAction; *************** *** 1119,1169 **** } // end namespace experiment - // namespace boost{ - // namespace serialization{ - // template<> - // struct is_abstract<experiment::Experiment> - // { - // typedef mpl::bool_<true> type; - // BOOST_STATIC_CONSTANT(bool, value = true); - // }; - // } - // } - // BOOST_IS_ABSTRACT(experiment::Experiment) - // BOOST_IS_ABSTRACT(experiment::RealDynamicAtomic) - // BOOST_IS_ABSTRACT(experiment::RealStaticAtomic) - // BOOST_IS_ABSTRACT(experiment::SimulatedDynamicAtomic) - // BOOST_IS_ABSTRACT(experiment::SimulatedStaticAtomic) - // BOOST_IS_ABSTRACT(experiment::DualDynamicAtomic) - // BOOST_IS_ABSTRACT(experiment::DualStaticAtomic) - // BOOST_CLASS_EXPORT_GUID(experiment::Experiment, "experiment::Experiment") - // BOOST_CLASS_EXPORT_GUID(experiment::RealDynamicAtomic, - // "experiment::RealDynamicAtomic") - // BOOST_CLASS_EXPORT_GUID(experiment::RealStaticAtomic, - // "experiment::RealDynamicAtomic") - // BOOST_CLASS_EXPORT_GUID(experiment::SimulatedDynamicAtomic, - // "experiment::RealDynamicAtomic") - // BOOST_CLASS_EXPORT_GUID(experiment::SimulatedStaticAtomic, - // "experiment::RealDynamicAtomic") - // BOOST_CLASS_EXPORT_GUID(experiment::DualDynamicAtomic, - // "experiment::RealDynamicAtomic") - // BOOST_CLASS_EXPORT_GUID(experiment::DualStaticAtomic, - // "experiment::RealDynamicAtomic") - - // BOOST_CLASS_EXPORT(experiment::RealDynamicEPTAction) - // BOOST_CLASS_EXPORT(experiment::SimulatedDynamicEPTAction) - // BOOST_CLASS_EXPORT(experiment::DualDynamicEPTAction) - // BOOST_CLASS_EXPORT(experiment::RealStaticEPTAction) - // BOOST_CLASS_EXPORT(experiment::SimulatedStaticEPTAction) - // BOOST_CLASS_EXPORT(experiment::DualStaticEPTAction) - // BOOST_CLASS_EXPORT(experiment::RealDynamicEPTempAction) - // BOOST_CLASS_EXPORT(experiment::RealDynamicECTAction) - // BOOST_CLASS_EXPORT(experiment::RealDynamicTEPObservation) - // BOOST_CLASS_EXPORT(experiment::RealDynamicEPTInduced) - - // BOOST_CLASS_EXPORT_GUID(experiment::Compound, "experiment::Compound") - // BOOST_CLASS_EXPORT_GUID(experiment::Collection, "experiment::Collection") - // BOOST_CLASS_EXPORT_GUID(experiment::Homogeneous, "experiment::Homogeneous") - // BOOST_CLASS_EXPORT_GUID(experiment::Sequential, "experiment::Sequential") - // BOOST_CLASS_EXPORT_GUID(experiment::Simultaneous, "experiment::Simultaneous") - #endif --- 1257,1259 ---- Index: Technique.h =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/Technique.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Technique.h 19 Feb 2007 18:35:30 -0000 1.12 --- Technique.h 19 Dec 2007 13:31:29 -0000 1.13 *************** *** 218,231 **** void save (BSUtilities::xmlw::XmlStream &os) const { ! os << BSUtilities::xmlw::tag (TAG) ! << BSUtilities::xmlw::attr (IDTAG) << TT::TYPE; ! BSUtilities::IF<BSUtilities::SameType ! <typename TT::EF, Loki::EmptyType>::sameType, ! DontSaveExcitationFunction, ! SaveExcitationFunction>::RET::exec ! (os, _excitationFunction); ! os << BSUtilities::xmlw::endtag (TAG); } --- 218,231 ---- void save (BSUtilities::xmlw::XmlStream &os) const { ! /* os << BSUtilities::xmlw::tag (TAG) */ ! /* << BSUtilities::xmlw::attr (IDTAG) << TT::TYPE; */ ! /* BSUtilities::IF<BSUtilities::SameType */ ! /* <typename TT::EF, Loki::EmptyType>::sameType, */ ! /* DontSaveExcitationFunction, */ ! /* SaveExcitationFunction>::RET::exec */ ! /* (os, _excitationFunction); */ ! /* os << BSUtilities::xmlw::endtag (TAG); */ } *************** *** 268,296 **** void load (const TiXmlHandle node) { ! TiXmlElement *element = node.Element(); ! if (element && (element->ValueStr () == TAG) ! && (element->Attribute(IDTAG) == TT::TYPE)) ! { ! TiXmlNode *child = 0; ! while (child = element->IterateChildren ! (ExcitationFunctions::ExcitationFunction::TAG, child)) ! { ! typename TT::EF excitationFunction; ! BSUtilities::IF<BSUtilities::SameType ! <typename TT::EF, Loki::EmptyType>::sameType, ! DontLoadExcitationFunction, ! LoadExcitationFunction>::RET::exec ! (TiXmlHandle (child), excitationFunction); ! _excitationFunction = excitationFunction; ! break; ! } ! } ! else ! throw LoadError ! ("error loading technique: incorrect element"); } --- 268,296 ---- void load (const TiXmlHandle node) { ! /* TiXmlElement *element = node.Element(); */ ! /* if (element && (element->ValueStr () == TAG) */ ! /* && (element->Attribute(IDTAG) == TT::TYPE)) */ ! /* { */ ! /* TiXmlNode *child = 0; */ ! /* while (child = element->IterateChildren */ ! /* (ExcitationFunctions::ExcitationFunction::TAG, child)) */ ! /* { */ ! /* typename TT::EF excitationFunction; */ ! /* BSUtilities::IF<BSUtilities::SameType */ ! /* <typename TT::EF, Loki::EmptyType>::sameType, */ ! /* DontLoadExcitationFunction, */ ! /* LoadExcitationFunction>::RET::exec */ ! /* (TiXmlHandle (child), excitationFunction); */ ! /* _excitationFunction = excitationFunction; */ ! /* break; */ ! /* } */ ! /* } */ ! /* else */ ! /* throw LoadError */ ! /* ("error loading technique: incorrect element"); */ } Index: Technique.hpp =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/Technique.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Technique.hpp 17 May 2007 14:18:58 -0000 1.3 --- Technique.hpp 19 Dec 2007 13:31:29 -0000 1.4 *************** *** 31,34 **** --- 31,38 ---- namespace experiment { + //! This class represents a technique which consists + //! of the realism, dynamics, independent, dependent, + //! result and segment type which parameterize an + //! experiment. template<class Realism, class Dynamics, Index: Makefile.am =================================================================== RCS file: /cvsroot/echempp/Experiment/Experiment/Makefile.am,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Makefile.am 30 Nov 2006 12:35:19 -0000 1.13 --- Makefile.am 19 Dec 2007 13:31:29 -0000 1.14 *************** *** 8,13 **** -I$(BSUTILITIESSRC) ! libeppExperiment_la_SOURCES = Experiment.h \ ! Experiment.cc \ ExperimentError.h \ TechniqueType.h \ --- 8,13 ---- -I$(BSUTILITIESSRC) ! libeppExperiment_la_SOURCES = Experiment.hpp \ ! Experiment.cpp \ ExperimentError.h \ TechniqueType.h \ |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:27:56
|
Update of /cvsroot/echempp/Experiment/ExcitationFunction In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv32231/Experiment/ExcitationFunction Modified Files: Makefile.am excitationFunction.cpp segment.cpp Log Message: Changed to use boost::serialization. Index: excitationFunction.cpp =================================================================== RCS file: /cvsroot/echempp/Experiment/ExcitationFunction/excitationFunction.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** excitationFunction.cpp 24 Nov 2005 11:35:19 -0000 1.6 --- excitationFunction.cpp 19 Dec 2007 13:27:51 -0000 1.7 *************** *** 40,46 **** namespace ExcitationFunctions { - //! definition of ExcitationFunction tag - const std::string ExcitationFunction::TAG = "excitationFunction"; - //! definition of Out_of_range exception default text const std::string Out_of_range::OUTOFRANGE --- 40,43 ---- *************** *** 50,57 **** const std::string Out_of_segments::OUTOFSEGMENTS = "nonexisting segment requested!"; - - //! definition of LoadError exception default text - const std::string LoadError::LOADERROR - = "error during interpretation of XML file!"; } --- 47,50 ---- Index: segment.cpp =================================================================== RCS file: /cvsroot/echempp/Experiment/ExcitationFunction/segment.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** segment.cpp 19 Dec 2006 13:05:46 -0000 1.7 --- segment.cpp 19 Dec 2007 13:27:51 -0000 1.8 *************** *** 38,66 **** namespace Segments { ! //! definition of segment tag ! const std::string Segment::TAG = "segment"; ! ! //! definition of segment ID tag ! const std::string Segment::IDTAG = "ID"; ! ! //! definition of segment IMAXVALUE tag ! const std::string Segment::IMAXVALUE = "ImaxValue"; ! ! //! definition of segment IMAXUNIT tag ! const std::string Segment::IMAXUNIT = "ImaxUnit"; ! ! //! definition of Out_of_range exception default text ! const std::string Out_of_range::OUTOFRANGE ! = "independent variable out of range!"; ! ! //! definition of Power_error exception default text ! const std::string Power_error::POWERERROR ! = "power in PowerSegment <= -1.0!"; ! //! definition of LoadError exception default text const std::string LoadError::LOADERROR = "error during interpretation of XML file!"; ! } // end namespace Segments } // end namespace ExcitationFunctions --- 38,55 ---- namespace Segments { ! //! definition of Out_of_range exception default text ! const std::string Out_of_range::OUTOFRANGE ! = "independent variable out of range!"; ! ! //! definition of Power_error exception default text ! const std::string Power_error::POWERERROR ! = "power in PowerSegment <= -1.0!"; ! //! definition of LoadError exception default text const std::string LoadError::LOADERROR = "error during interpretation of XML file!"; ! const std::string Segment::GUID = "Segment"; ! } // end namespace Segments } // end namespace ExcitationFunctions Index: Makefile.am =================================================================== RCS file: /cvsroot/echempp/Experiment/ExcitationFunction/Makefile.am,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** Makefile.am 30 Nov 2006 12:35:18 -0000 1.19 --- Makefile.am 19 Dec 2007 13:27:51 -0000 1.20 *************** *** 18,22 **** -DTIXML_USE_STL=YES ! libeppExcitationFunction_la_LDFLAGS = $(EXPERIMENT_LDFLAGS) -version-info 0:5:0 EXTRA_DIST = ecExcitationFunctions.hpp \ --- 18,22 ---- -DTIXML_USE_STL=YES ! libeppExcitationFunction_la_LDFLAGS = -Wl,--allow-multiple-definition $(EXPERIMENT_LDFLAGS) -version-info 0:5:0 EXTRA_DIST = ecExcitationFunctions.hpp \ |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:26:13
|
Update of /cvsroot/echempp/Experiment/Data/test In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv31758/Experiment/Data/test Modified Files: Makefile.am dataTest.cpp Log Message: Update for Data test functions. Index: dataTest.cpp =================================================================== RCS file: /cvsroot/echempp/Experiment/Data/test/dataTest.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** dataTest.cpp 17 Feb 2007 18:03:16 -0000 1.8 --- dataTest.cpp 19 Dec 2007 13:26:08 -0000 1.9 *************** *** 1,211 **** ! /*! \file dataTest.cpp ! \brief a test file for Data classes ! ! dataTest.cpp is part of Data in Experiment ! */ ! ! /* Copyright (C) 2005 - 2006, Bernd Speiser */ ! /* This file is part of EChem++. ! ! EChem++ is free software; you can redistribute it and/or ! modify it under the terms of the GNU General Public License ! as published by the Free Software Foundation; either version 2 ! of the License, or (at your option) any later version. ! ! EChem++ is distributed in the hope that it will be useful, ! but WITHOUT ANY WARRANTY; without even the implied warranty of ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! GNU General Public License for more details. ! ! You should have received a copy of the GNU General Public License ! along with this program; if not, write to the Free Software ! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ! 02111-1307, USA. ! */ ! ! //#include "Data/data.hpp" ! //#include "Data/electrochemicalData.hpp" ! //#include "xmlReader.h" ! //#include <iostream> ! //using namespace BSUtilities; ! //using namespace data; ! int main(int argc, const char* argv[]) { ! // std::string filename; ! // ! // if (argc > 1) ! // { ! // if (!strcmp (argv[1], "--version")) ! // { ! // std::cout << "Data Test program, " ! // << DataStorage::version () << std::endl; ! // exit (0); ! // } ! // ! // else if (!strcmp (argv[1], "-f")) ! // filename = argv[2]; ! // ! // else ! // { ! // std::cout << " usage: DataTest [--version|-f filename] " ! // << std::endl << " --version: print the Data " ! // "version number" ! // << std::endl << " -f: data file name" ! // << std::endl; ! // exit (1); ! // } ! // } ! // ! // std::cout << "Data Test program" << std::endl; ! // ! // std::cout << "=========================================" << std::endl; ! // ! // std::cout << " testing use of an object of type RealCVData" ! // << std::endl; ! // std::cout << " - declare an object of type RealCVData" ! // << std::endl; ! // data::CV::Real cv; ! // std::cout << " - set title and date stamp" << std::endl; ! // cv.setTitle ("cv test data set"); ! // cv.setTimeStamp ("creation time: xxx"); ! // const int number_of_points = 5; ! // std::cout << " - add " << number_of_points << " data points" ! // << std::endl; ! // quantity::Time t_start (0.); ! // quantity::Time delta_t (0.01); ! // quantity::ElectricPotential E_start (0.); ! // quantity::ElectricPotential delta_E (0.02); ! // quantity::ElectricCurrent I_start (0.); ! // quantity::ElectricCurrent delta_I (-0.001); ! // ! // data::CV::Real::MeasurementDataPoint p; ! // ! // for (int i = 0; i < number_of_points; i++) ! // { ! // Loki::Field<0>(p) = t_start + i * delta_t; ! // Loki::Field<1>(p) = E_start + i * delta_E; ! // Loki::Field<2>(p) = I_start + i * delta_I; ! // ! // cv.push_back (p); ! // } ! // ! // std::cout << " - data table contains " << cv.size () ! // << " data points" << std::endl; ! // std::cout << " testing data write routines" << std::endl; ! // std::cout << " - generate a DataPoint" << std::endl; ! // data::CV::Real::MeasurementDataPoint cvPoint ! // = data::CV::Real::measurementDataPoint ! // (quantity::Time (1.), quantity::ElectricPotential (0.5), ! // quantity::ElectricCurrent (-.7)); ! // ! // std::cout << " - save it" << std::endl; ! // cv.push_back (cvPoint); ! // std::cout << " - data table contains " << cv.size () ! // << " data points" << std::endl; ! // ! // std::cout << " testing save function for real CV data" << std::endl; ! // std::string save_CVdata_filename = "save_CVdata.xml"; ! // xmlw::save (save_CVdata_filename, cv); ! // std::cout << std::endl; ! // std::cout << " testing load function for real CV data" << std::endl; ! // data::CV::Real cv_loaded; ! // try { ! // BSUtilities::xmlr::xmlLoad (save_CVdata_filename, cv_loaded); ! // std::cout << " file `" << save_CVdata_filename ! // << "' succesfully loaded" << std::endl; ! // } ! // catch (DataError error) ! // {std::cout << error.message () << std::endl;} ! // catch (BSUtilities::xmlr::XmlReadError readerror) ! // {std::cout << readerror.message () << std::endl;} ! // ! // const unsigned int index = 2; ! // std::cout << " testing data access routines" << std::endl; ! // std::cout << " - retrieve a data value" << std::endl; ! // std::cout << " response measurement value at index " << index ! // << ":" << cv.getResponseValue (index) << std::endl; ! // ! // std::cout << " - retrieve data values of last data point" ! // << std::endl; ! // unsigned int cvSize = cv.size (); ! // ! // std::cout << " time value: " ! // << cv.getIndependentValue (cvSize - 1) ! // << std::endl ! // << " potential value: " << cv.getDependentValue (cvSize - 1) ! // << std::endl ! // << " current value: " << cv.getResponseValue (cvSize - 1) ! // << std::endl; ! // ! // std::cout << " testing use of an object of type SimulatedCVData" ! // << std::endl; ! // std::cout << " - declare an object of type SimulatedCVData" ! // << std::endl; ! // data::CV::Simulated simCv; ! // std::cout << " - set title and date stamp" << std::endl; ! // simCv.setTitle ("cv test data set"); ! // simCv.setTimeStamp ("creation time: xxx"); ! ! // BAS100data data(filename); ! // ! // ! //// declare CVExcitationFunction object ! //// CVExcitationFunction CV; ! // ! //// // length of each segment ! //// Time tmax(4.0,quantity::time::Second ()); ! // ! //// // start and switching potentials ! //// ElectricPotential Estart(0.0,electricPotential::Volt ()); ! //// ElectricPotential Eend(2.0,electricPotential::Volt ()); ! // ! //// // define 5 segments ! //// LinearEtSegment Seg11 (Estart,Eend,tmax); ! //// LinearEtSegment Seg12 (Eend,Estart,tmax); ! // ! //// // add 5 segments of 4 s to CV ! // ! //// CV.add(Seg11); ! //// CV.add(Seg12); ! // ! //// DiffusionCoefficient Dref( 5.0e-10, diffusionCoefficient::SquareMetrePerSecond() ); ! //// Concentration cRef( 5.0e-5, concentration::MolePerLitre() ); ! //// Length Lref( 1.0, length::CentiMetre() ); ! //// Area area( 0.002, area::SquareMetre() ); ! // ! //// std::vector<double> times; ! //// std::vector<double> currents; ! // ! //// double t = 0.0; ! //// for(;t<=1.0;t+=0.1) ! //// { ! //// times.push_back(t); ! //// currents.push_back( std::pow(t,0.5) ); ! //// } ! // ! //// SimulatedPCdata data( currents, times, 0, Lref, Dref, cRef, area, CV ); ! // ! //// std::vector<double> potentials; ! //// data.getPotentialValues(potentials,"mV"); ! //// data.getTimeValues(times,"s"); ! //// data.getCurrentValues(currents,"uA"); ! // ! //// uint_t i = 0; ! //// for(;i<potentials.size();++i) ! //// { ! //// std::cout << "time: " << times[i] << ! //// ", potentials: " << potentials[i] << ! //// ", currents: " << currents[i] << std::endl; ! //// } ! // std::cout << "=========================================" << std::endl; ! // std::cout << "end of test program for Data classes" << std::endl; ! // exit (0); } --- 1,73 ---- ! #include <iostream> ! #include <fstream> ! // Boost includes ! #include <boost/test/unit_test.hpp> ! using namespace boost::unit_test; ! #include <boost/archive/tmpdir.hpp> ! #include <boost/archive/text_oarchive.hpp> ! #include <boost/archive/text_iarchive.hpp> ! #include <boost/archive/xml_iarchive.hpp> ! #include <boost/archive/xml_oarchive.hpp> ! // Local includes ! #include "../Data.hpp" ! typedef DataPoint<double, double, double> DP; ! typedef MeasurementData<double, double, double> MD; ! // Note: Compile and link with: ! // g++ -o SerializationTest SerializationTest.cpp -lboost_unit_test_framework ! // Test creation of data points ! void test_data_point() { ! DP dp1(0.3, 0.1, 0.4); ! DP dp2(0.1, 0.0, 0.1); ! } + // Create some measurement data + MD create_measurement_data() + { + DP dp1(0.3, 0.1, 0.4); + DP dp2(0.1, 0.0, 0.1); + DP dp3(0.3, 0.2, 0.1); + MD m; + m.add(dp1); + m.add(dp2); + m.add(dp3); + return m; + } ! // Test creation of measurement data ! void test_measurement_data() ! { ! MD m = create_measurement_data(); ! BOOST_CHECK( m.size() == 3 ); ! } ! // Test serialization of measurement data ! void test_serialization() ! { ! std::string dirname = "/tmp/"; ! std::string filename = dirname + "md.xml"; ! const MD m1 = create_measurement_data(); ! MD m2; ! std::ofstream ofs_xml(filename.c_str()); ! boost::archive::xml_oarchive oa_xml(ofs_xml); ! oa_xml << BOOST_SERIALIZATION_NVP(m1); ! ofs_xml.close(); ! std::ifstream ifs_xml(filename.c_str()); ! boost::archive::xml_iarchive ia_xml(ifs_xml); ! ia_xml >> BOOST_SERIALIZATION_NVP(m2); ! ifs_xml.close(); ! // BOOST_CHECK( m1 == m2 ); ! } + test_suite* + init_unit_test_suite( int argc, char * argv[] ) { + test_suite* test= BOOST_TEST_SUITE( "Data unit test" ); + test->add(BOOST_TEST_CASE( &test_data_point ) ); + test->add(BOOST_TEST_CASE( &test_measurement_data ) ); + test->add( BOOST_TEST_CASE( &test_serialization ) ); + return test; } Index: Makefile.am =================================================================== RCS file: /cvsroot/echempp/Experiment/Data/test/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Makefile.am 8 Apr 2006 11:59:49 -0000 1.5 --- Makefile.am 19 Dec 2007 13:26:08 -0000 1.6 *************** *** 1,3 **** ! check_PROGRAMS = dataTest dataTest_SOURCES = dataTest.cpp --- 1,8 ---- ! check_PROGRAMS = dataTest DataTest ! ! DataTest_SOURCES = DataTest.cpp ! ! DataTest_LDADD = -lboost_serialization \ ! -lboost_unit_test_framework dataTest_SOURCES = dataTest.cpp *************** *** 18,19 **** --- 23,26 ---- dataTest_CXXFLAGS = -Wall -Werror -pedantic-errors -DTIXML_USE_STL=YES + DataTest_CXXFLAGS = -Wall -Werror -pedantic-errors + |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:24:59
|
Update of /cvsroot/echempp/Experiment/Data In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv30911/Experiment/Data Modified Files: Makefile.am Added Files: Data.cpp Data.hpp Log Message: ConditionData and MeasurementData classes. --- NEW FILE: Data.cpp --- #include "Data.hpp" namespace experiment { const std::string MeasurementData::GUID = "MeasurementData"; const std::string MeasurementDataModSim::GUID = "MeasurementDataModSim"; const std::string ConditionData::GUID = "ConditionData"; const std::string SolverConditions::GUID = "SolverConditions"; const std::string ConditionDataModSim::GUID = "ConditionDataModSim"; } // end namespace experiment --- NEW FILE: Data.hpp --- /*! \file Data.hpp \brief header file for all data related classes. Data.hpp is part of the Experiment package. */ /* Copyright (C) 2007, Dominik Brugger This file is part of EChem++. EChem++ is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. EChem++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // $Id: Data.hpp,v 1.1 2007/12/19 13:24:54 beeblbrox Exp $ #ifndef __DATA_HPP__ #define __DATA_HPP__ // STL includes #include <vector> #include <map> #include <set> #include <iostream> #include <algorithm> // BSUtilities includes #include "SerializationTools.h" // local includes #include "ExcitationFunction/ecExcitationFunctions.hpp" #include "../../GUI/Windows/Qt/EChem++/Model/quantityTypes.hpp" // Boost includes #include <boost/serialization/serialization.hpp> #include <boost/serialization/map.hpp> #include <boost/serialization/set.hpp> #include <boost/serialization/base_object.hpp> namespace experiment{ //! DataPoint represents one point of measurement data, that //! is a tuple of independent, dependent and result variable. //! Note: So far not used, since the simulator does not strictly //! use I,D,R template<class I, class D, class R> class DataPoint { public: DataPoint(const I i, const D d, const R r) : _i(i), _d(d), _r(r) {}; const I fst() const { return _i; } const D snd() const { return _d; } const R trd() const { return _r; } private: DataPoint(){} I _i; D _d; R _r; friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(_i) & BOOST_SERIALIZATION_NVP(_d) & BOOST_SERIALIZATION_NVP(_r); } }; //! Class to represent a measurement, that is a sequence //! of DataPoint. //! Note: Not used so far, since the simulator does not respect //! I,D,R template<class I, class D, class R> class Measurement { public: typedef DataPoint<I,D,R> point_type; Measurement() {} Measurement(const std::vector<point_type>& data) : _data(data) {} void add(const point_type& p) { _data.push_back(p); } const size_t size() const { return _data.size(); } private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(_data); } std::vector<point_type> _data; }; //! Base class for all measurement data. //! Measurement data produced by the simulator is //! represented by MeasurementDataModSim. class MeasurementData { public: BSUtilities::Serialization::AutoRegistor<MeasurementData> reg; static const std::string GUID; //! Create a deep copy of MeasurementData virtual MeasurementData* clone() { return new MeasurementData(*this); } virtual ~MeasurementData() {} private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version){} }; //! MeasurementDataModSim contains the measurement, e.g. current-time //! curves produced by the simulator. class MeasurementDataModSim : public MeasurementData { public: // default copy ctor ok //! Create a deep copy of MeasurementDataModSim MeasurementDataModSim* clone() { return new MeasurementDataModSim(*this); } BSUtilities::Serialization::AutoRegistor<MeasurementDataModSim> reg; static const std::string GUID; // TODO: Replace later by Measurement //! Response curve produced by simulator std::vector<std::vector<double> > responseCurves; //! Time steps used by simulator, note that these are //! non-uniform since it uses an adaptive FEM for solution. std::vector<double> timeSteps; //! Conversion factor used for dimensionless variables double conversionFactor; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(MeasurementData) & BOOST_SERIALIZATION_NVP(responseCurves) & BOOST_SERIALIZATION_NVP(timeSteps) & BOOST_SERIALIZATION_NVP(conversionFactor); } }; //! Base class for all condition data. Condition data used //! by the simulator is represented by ConditionDataModSim. class ConditionData { public: BSUtilities::Serialization::AutoRegistor<ConditionData> reg; static const std::string GUID; //! Create a deep copy of ConditionData. virtual ConditionData* clone() { return new ConditionData(*this); } virtual ~ConditionData() {} private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version){} }; // data from solver dialog class SolverConditions { public: BSUtilities::Serialization::AutoRegistor<SolverConditions> reg; static const std::string GUID; enum Processor { PLAIN, STORAGE, DYNAMIC }; double rho; double TOL; std::vector<double> ATOLs; std::vector<double> RTOLs; double resATOL; double resRTOL; double initTime; double initConcTol; double initStepSize; double maxStepSize; GUI::model::uint_t maxRej; double shrink; double growth; double safety; GUI::model::uint_t maxLevel; double gamma; double theta; double alpha; double mue; double k1; double k2; GUI::model::uint_t noElements; GUI::model::uint_t noRefinements; std::string timeScheme; std::string timeController; GUI::model::uint_t activeBoundaries; bool stepPolicy; bool autoTols; bool fixed; bool residuum; bool gradient; Processor type; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(rho) & BOOST_SERIALIZATION_NVP(TOL) & BOOST_SERIALIZATION_NVP(ATOLs) & BOOST_SERIALIZATION_NVP(RTOLs) & BOOST_SERIALIZATION_NVP(resATOL) & BOOST_SERIALIZATION_NVP(resRTOL) & BOOST_SERIALIZATION_NVP(initTime) & BOOST_SERIALIZATION_NVP(initConcTol) & BOOST_SERIALIZATION_NVP(initStepSize) & BOOST_SERIALIZATION_NVP(maxStepSize) & BOOST_SERIALIZATION_NVP(maxRej) & BOOST_SERIALIZATION_NVP(shrink) & BOOST_SERIALIZATION_NVP(growth) & BOOST_SERIALIZATION_NVP(safety) & BOOST_SERIALIZATION_NVP(maxLevel) & BOOST_SERIALIZATION_NVP(gamma) & BOOST_SERIALIZATION_NVP(theta) & BOOST_SERIALIZATION_NVP(alpha) & BOOST_SERIALIZATION_NVP(mue) & BOOST_SERIALIZATION_NVP(k1) & BOOST_SERIALIZATION_NVP(k2) & BOOST_SERIALIZATION_NVP(noElements) & BOOST_SERIALIZATION_NVP(noRefinements) & BOOST_SERIALIZATION_NVP(timeScheme) & BOOST_SERIALIZATION_NVP(timeController) & BOOST_SERIALIZATION_NVP(activeBoundaries) & BOOST_SERIALIZATION_NVP(stepPolicy) & BOOST_SERIALIZATION_NVP(autoTols) & BOOST_SERIALIZATION_NVP(fixed) & BOOST_SERIALIZATION_NVP(residuum) & BOOST_SERIALIZATION_NVP(gradient) & BOOST_SERIALIZATION_NVP(type); } }; //! ConditionDataModSim collects all the conditions used by //! the simulator, which are accessible through the GUI in the //! various dialogs. The parameters used for the FEM solver are //! collected in SolverConditions. class ConditionDataModSim : public ConditionData { public: // Default copy ctor ok ConditionDataModSim* clone() { return new ConditionDataModSim(*this); } BSUtilities::Serialization::AutoRegistor<ConditionDataModSim> reg; static const std::string GUID; // data from experiment dialog double safety; bool is_finite; bool currentControlled; bool potentialControlled; quantity::Length finiteDistance; int num_electrodes; int dimension; std::string technique0; std::string technique1; int boundary0; int boundary1; ExcitationFunctions::EtExcitationFunction etExcitation0; ExcitationFunctions::EtExcitationFunction etExcitation1; ExcitationFunctions::itExcitationFunction itExcitation0; ExcitationFunctions::itExcitationFunction itExcitation1; // data from mechanism dialog bool chargeBalance; bool stoichiometricBalance; std::string mechanism; std::set<int> activeBoundaries; // data from model parameters dialog //! temperature quantity::ThermodynamicTemperature temp; //! electrode area quantity::Area area; //! map of concentrations //! key = species index GUI::model::ConcentrationMap dissConcs; quantity::Concentration refDissConc; int refConcIndex; //! map of surface concentrations //! key = species index GUI::model::SurfaceConcentrationMap adsConcs; //! map of surface concentrations //! key = boundary index GUI::model::SaturationConcentrationMap saturationConcs; //! map of diffusion coefficients //! key = species index GUI::model::DiffusionCoefficientMap diffCoeffs; quantity::DiffusionCoefficient refDiffCoeff; int maxDiffCoeff; //! map of formal potentials. //! key = reactions index GUI::model::ElectricPotentialMap formalPotentials; //! map of ET coefficients (Butler Volmer law) //! key = reaction index std::map<GUI::model::uint_t,double> alphas; //! map of heterogeneous rate constants. //! key = reaction index GUI::model::HeterogeneousRateConstantMap khs; //! map of Langmuir equilibrium constants. //! key = reaction index GUI::model::LangmuirEquilibriumConstantMap langEquilConstants; //! map of Langmuir adsorption rate constants //! key = reaction index GUI::model::LangmuirAdsorptionRateConstantMap langAdsRateConstants; //! map of first order rate constants //! key = reaction index GUI::model::FirstOrderRateConstantMap firstOrderRateConstants; //! key = reaction index std::map<GUI::model::uint_t,double> homEquilibriumConstants; std::map<GUI::model::uint_t,double> homForwardRateConstants; std::map<GUI::model::uint_t,double> homBackwardRateConstants; std::map<GUI::model::uint_t,double> homSurfEquilibriumConstants; std::map<GUI::model::uint_t,double> homSurfForwardRateConstants; std::map<GUI::model::uint_t,double> homSurfBackwardRateConstants; std::map<GUI::model::uint_t,double> hetSurfEquilibriumConstants; std::map<GUI::model::uint_t,double> hetSurfForwardRateConstants; std::map<GUI::model::uint_t,double> hetSurfBackwardRateConstants; //! indices of fixed thermodynamic paramters std::set<GUI::model::uint_t> fixed; unsigned int numRowsDissSpecies; unsigned int numRowsAdsSpecies; unsigned int numRowsSaturation; unsigned int numRowsBvDiss; unsigned int numRowsBvAds; unsigned int numRowsLangmuir; unsigned int numRowsHomPower; unsigned int numRowsHomGen; unsigned int numColsHomGen; unsigned int numRowsHomSurfPower; unsigned int numRowsHomSurfGen; unsigned int numColsHomSurfGen; unsigned int numRowsHetSurfPower; unsigned int numRowsHetSurfGen; unsigned int numColsHetSurfGen; std::map<std::string, std::map<GUI::model::uint_t,std::vector<GUI::model::uint_t> > > genParams; //! Key = col in homGenericTable and surfGenericTable (shifted by -1), //! value = name of parameter std::map<int,std::string> genColsParams; //! Key = name of parameter, value = col in homGenericTable and surfGenericTable (shifted by -1) std::map<std::string,int> genParamsCols; std::map<std::string,double> genParamsValues; // data from equilibrium dialog double maxTime; double accuracy; bool dataStorage; double initStepSize; std::map<GUI::model::uint_t,double> cinit; std::map<GUI::model::uint_t,double> equConcs; std::set<GUI::model::uint_t> indices; std::vector<double> timeSteps; //! concentration profiles: Key = species index std::map<GUI::model::uint_t, std::vector<double> > profiles; bool homReactions; bool ads; bool homSurfReactions; bool hetSurfReactions; bool plotDiss; bool plotAds; // data from solver dialog SolverConditions sc; // data form data dialog bool visResponse; bool visSurfaceConc; bool visStepSizes; bool visTimeErrors; bool visDof; bool visSpatialErrors; bool visGridEvolution; bool visConcProfiles; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionData) & BOOST_SERIALIZATION_NVP(safety) & BOOST_SERIALIZATION_NVP(is_finite) & BOOST_SERIALIZATION_NVP(currentControlled) & BOOST_SERIALIZATION_NVP(potentialControlled) & BOOST_SERIALIZATION_NVP(finiteDistance) & BOOST_SERIALIZATION_NVP(num_electrodes) & BOOST_SERIALIZATION_NVP(dimension) & BOOST_SERIALIZATION_NVP(technique0) & BOOST_SERIALIZATION_NVP(technique1) & BOOST_SERIALIZATION_NVP(boundary0) & BOOST_SERIALIZATION_NVP(boundary1) & BOOST_SERIALIZATION_NVP(etExcitation0) & BOOST_SERIALIZATION_NVP(etExcitation1) & BOOST_SERIALIZATION_NVP(itExcitation0) & BOOST_SERIALIZATION_NVP(itExcitation1) & BOOST_SERIALIZATION_NVP(chargeBalance) & BOOST_SERIALIZATION_NVP(stoichiometricBalance) & BOOST_SERIALIZATION_NVP(mechanism) & BOOST_SERIALIZATION_NVP(activeBoundaries) & BOOST_SERIALIZATION_NVP(temp) & BOOST_SERIALIZATION_NVP(area) & BOOST_SERIALIZATION_NVP(dissConcs) & BOOST_SERIALIZATION_NVP(refDissConc) & BOOST_SERIALIZATION_NVP(refConcIndex) & BOOST_SERIALIZATION_NVP(adsConcs) & BOOST_SERIALIZATION_NVP(saturationConcs) & BOOST_SERIALIZATION_NVP(diffCoeffs) & BOOST_SERIALIZATION_NVP(refDiffCoeff) & BOOST_SERIALIZATION_NVP(maxDiffCoeff) & BOOST_SERIALIZATION_NVP(formalPotentials) & BOOST_SERIALIZATION_NVP(alphas) & BOOST_SERIALIZATION_NVP(khs) & BOOST_SERIALIZATION_NVP(langEquilConstants) & BOOST_SERIALIZATION_NVP(langAdsRateConstants) & BOOST_SERIALIZATION_NVP(firstOrderRateConstants) & BOOST_SERIALIZATION_NVP(homEquilibriumConstants) & BOOST_SERIALIZATION_NVP(homForwardRateConstants) & BOOST_SERIALIZATION_NVP(homBackwardRateConstants) & BOOST_SERIALIZATION_NVP(homSurfEquilibriumConstants) & BOOST_SERIALIZATION_NVP(homSurfForwardRateConstants) & BOOST_SERIALIZATION_NVP(homSurfBackwardRateConstants) & BOOST_SERIALIZATION_NVP(hetSurfEquilibriumConstants) & BOOST_SERIALIZATION_NVP(hetSurfForwardRateConstants) & BOOST_SERIALIZATION_NVP(hetSurfBackwardRateConstants) & BOOST_SERIALIZATION_NVP(fixed) & BOOST_SERIALIZATION_NVP(numRowsDissSpecies) & BOOST_SERIALIZATION_NVP(numRowsAdsSpecies) & BOOST_SERIALIZATION_NVP(numRowsSaturation) & BOOST_SERIALIZATION_NVP(numRowsBvDiss) & BOOST_SERIALIZATION_NVP(numRowsBvAds) & BOOST_SERIALIZATION_NVP(numRowsLangmuir) & BOOST_SERIALIZATION_NVP(numRowsHomPower) & BOOST_SERIALIZATION_NVP(numRowsHomGen) & BOOST_SERIALIZATION_NVP(numColsHomGen) & BOOST_SERIALIZATION_NVP(numRowsHomSurfPower) & BOOST_SERIALIZATION_NVP(numRowsHomSurfGen) & BOOST_SERIALIZATION_NVP(numColsHomSurfGen) & BOOST_SERIALIZATION_NVP(numRowsHetSurfPower) & BOOST_SERIALIZATION_NVP(numRowsHetSurfGen) & BOOST_SERIALIZATION_NVP(numColsHetSurfGen) & BOOST_SERIALIZATION_NVP(genParams) & BOOST_SERIALIZATION_NVP(genColsParams) & BOOST_SERIALIZATION_NVP(genParamsCols) & BOOST_SERIALIZATION_NVP(genParamsValues) & BOOST_SERIALIZATION_NVP(maxTime) & BOOST_SERIALIZATION_NVP(accuracy) & BOOST_SERIALIZATION_NVP(dataStorage) & BOOST_SERIALIZATION_NVP(initStepSize) & BOOST_SERIALIZATION_NVP(cinit) & BOOST_SERIALIZATION_NVP(equConcs) & BOOST_SERIALIZATION_NVP(indices) & BOOST_SERIALIZATION_NVP(timeSteps) & BOOST_SERIALIZATION_NVP(profiles) & BOOST_SERIALIZATION_NVP(homReactions) & BOOST_SERIALIZATION_NVP(ads) & BOOST_SERIALIZATION_NVP(homSurfReactions) & BOOST_SERIALIZATION_NVP(hetSurfReactions) & BOOST_SERIALIZATION_NVP(plotDiss) & BOOST_SERIALIZATION_NVP(plotAds) & BOOST_SERIALIZATION_NVP(sc) & BOOST_SERIALIZATION_NVP(visResponse) & BOOST_SERIALIZATION_NVP(visSurfaceConc) & BOOST_SERIALIZATION_NVP(visStepSizes) & BOOST_SERIALIZATION_NVP(visTimeErrors) & BOOST_SERIALIZATION_NVP(visDof) & BOOST_SERIALIZATION_NVP(visSpatialErrors) & BOOST_SERIALIZATION_NVP(visGridEvolution) & BOOST_SERIALIZATION_NVP(visConcProfiles); } }; } // end namespace experiment #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/echempp/Experiment/Data/Makefile.am,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Makefile.am 23 Feb 2007 12:10:26 -0000 1.10 --- Makefile.am 19 Dec 2007 13:24:54 -0000 1.11 *************** *** 15,18 **** --- 15,20 ---- libeppData_la_SOURCES = data.hpp \ data.cpp \ + Data.hpp \ + Data.cpp \ dataError.hpp\ generalData.hpp\ |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:23:36
|
Update of /cvsroot/echempp/Analysis/Data In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv30460/Analysis/Data Modified Files: simulatedPCdataOld.cpp Log Message: Changed to dump conversion factor to stdout Index: simulatedPCdataOld.cpp =================================================================== RCS file: /cvsroot/echempp/Analysis/Data/simulatedPCdataOld.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** simulatedPCdataOld.cpp 25 Mar 2007 17:45:47 -0000 1.4 --- simulatedPCdataOld.cpp 19 Dec 2007 13:23:33 -0000 1.5 *************** *** 26,29 **** --- 26,30 ---- #include "Data/simulatedPCdataOld.hpp" #include "Data/dataErrorOld.hpp" + #include <iostream> namespace analysis *************** *** 45,48 **** --- 46,50 ---- const quantity::Time tmax = excitation.maximum(); const quantity::ElectricCurrent factor = quantity::FARADAYCONSTANT * electrodeArea * Dref * cRef / Lref; + std::cout << "Conversion factor = " << factor << std::endl; uint_t i = 0; |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:22:00
|
Update of /cvsroot/echempp/Analysis/Classification In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv29509/Analysis/Classification Removed Files: svm.lo Log Message: rm --- svm.lo DELETED --- |
|
From: beeblbrox <bee...@us...> - 2007-12-19 13:21:38
|
Update of /cvsroot/echempp/Analysis/Classification In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv29480/Analysis/Classification Added Files: svm.lo Log Message: bogus to be deleted --- NEW FILE: svm.lo --- # svm.lo - a libtool object file # Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) # # Please DO NOT delete this file! # It is necessary for linking the library. # Name of the PIC object. pic_object='.libs/svm.o' # Name of the non-PIC object. non_pic_object='svm.o' |