source: src/Jobs/MPQCJob.cpp@ 37fe17

Adding_MD_integration_tests Adding_StructOpt_integration_tests AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Exclude_Hydrogens_annealWithBondGraph ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool PythonUI_with_named_parameters StoppableMakroAction TremoloParser_IncreasedPrecision
Last change on this file since 37fe17 was 9eb71b3, checked in by Frederik Heber <frederik.heber@…>, 8 years ago

Commented out MemDebug include and Memory::ignore.

  • MemDebug clashes with various allocation operators that use a specific placement in memory. It is so far not possible to wrap new/delete fully. Hence, we stop this effort which so far has forced us to put ever more includes (with clashes) into MemDebug and thereby bloat compilation time.
  • MemDebug does not add that much usefulness which is not also provided by valgrind.
  • Property mode set to 100644
File size: 2.4 KB
Line 
1/*
2 * Project: MoleCuilder
3 * Description: creates and alters molecular systems
4 * Copyright (C) 2012 University of Bonn. All rights reserved.
5 * Copyright (C) 2013 Frederik Heber. All rights reserved.
6 *
7 *
8 * This file is part of MoleCuilder.
9 *
10 * MoleCuilder is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * MoleCuilder is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with MoleCuilder. If not, see <http://www.gnu.org/licenses/>.
22 */
23
24/*
25 * MPQCJob.cpp
26 *
27 * Created on: Jul 10, 2012
28 * Author: heber
29 */
30
31
32// include config.h
33#ifdef HAVE_CONFIG_H
34#include <config.h>
35#endif
36
37// include headers that implement a archive in simple text format
38// otherwise BOOST_CLASS_EXPORT_IMPLEMENT has no effect
39#include <boost/archive/text_oarchive.hpp>
40#include <boost/archive/text_iarchive.hpp>
41
42//#include "CodePatterns/MemDebug.hpp"
43
44#include "MPQCJob.hpp"
45
46#include <limits>
47
48#include "CodePatterns/Assert.hpp"
49#include "CodePatterns/Log.hpp"
50
51
52MPQCJob::MPQCJob(
53 const JobId_t _JobId,
54 const std::string &_inputfile,
55 const double _begin[NDIM],
56 const double _end[NDIM],
57 const int _level) :
58 FragmentJob(_JobId),
59 DoLongrange(MPQCData::DontSampleDensity),
60 DoValenceOnly(MPQCData::DoSampleValenceOnly),
61 inputfile(_inputfile),
62 grid(_begin, _end, _level)
63{
64#ifndef NDEBUG
65 const double length[NDIM] = {
66 _end[0] - _begin[0],
67 _end[1] - _begin[1],
68 _end[2] - _begin[2]
69 };
70 ASSERT( (fabs(length[0] - length[1]) < std::numeric_limits<double>::epsilon()*1e4)
71 && (fabs(length[0] - length[2]) < std::numeric_limits<double>::epsilon()*1e4) ,
72 "MPQCJob::MPQCJob() - box needs to be cubic.");
73#endif
74}
75
76MPQCJob::MPQCJob() :
77 FragmentJob(JobId::IllegalJob),
78 DoLongrange(MPQCData::DontSampleDensity),
79 DoValenceOnly(MPQCData::DoSampleValenceOnly)
80{}
81
82MPQCJob::~MPQCJob()
83{}
84
85// we need to explicitly instantiate the serialization functions as
86// its is only serialized through its base class FragmentJob
87BOOST_CLASS_EXPORT_IMPLEMENT(MPQCJob)
Note: See TracBrowser for help on using the repository browser.