PSCF v1.3.1
ScftThermo.cu
1/*
2* PSCF - Polymer Self-Consistent Field
3*
4* Copyright 2015 - 2025, The Regents of the University of Minnesota
5* Distributed under the terms of the GNU General Public License.
6*/
7
8#include "ScftThermo.h"
9#include <prdc/system/ScftThermoTmpl.tpp>
10#include <prdc/cuda/Reduce.h>
11#include <pscf/inter/Interaction.h>
12
13namespace Pscf {
14 namespace Prdc {
15 template class ScftThermoTmpl<1, Rpg::System<1> >;
16 template class ScftThermoTmpl<2, Rpg::System<2> >;
17 template class ScftThermoTmpl<3, Rpg::System<3> >;
18 }
19 namespace Rpg {
20
21 /*
22 * Constructor
23 */
24 template <int D>
28
29 /*
30 * Inner product of r-grid fields.
31 */
32 template <int D>
34 RFieldT const & B) const
35 { return Cuda::Reduce::innerProduct(A, B); };
36
37 // Explicit instantiation
38 template class ScftThermo<1>;
39 template class ScftThermo<2>;
40 template class ScftThermo<3>;
41
42 }
43}
Base class for SCFT thermodynamic property calculators.
Computes SCFT free energies.
double innerProduct(RFieldT const &A, RFieldT const &B) const override
Inner product of fields (sum of elements on a grid).
Definition ScftThermo.cu:33
typename Base::RFieldT RFieldT
Alias for r-grid field type.
ScftThermoTmpl< D, System< D > > Base
Alias for base class.
ScftThermo(System< D > const &system)
Constructor.
Definition ScftThermo.cu:25
Main class, representing a complete physical system.
Periodic fields and crystallography.
Definition CField.cpp:11
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.
Definition param_pc.dox:1