about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/BNT/potentials/@scgpot/scgpot.m
blob: 7f923f226439084b41f23c250e8524c92fa530bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function pot = scgpot(ddom, cheaddom, ctaildom, node_sizes, scgpotc)
% SCGPOT Make a stable CG potential.
% pot = scgpot(ddom, cheaddom, ctaildom, node_sizes, scgpotc)
%
% ddom is discrete nodes contains in the potential
% cheaddom is head nodes constains in the potential
% ctaildom is tail nodes contains in the potential
% node_sizes(i) is the size of the i'th node.
% scgpotc is list of scgcpot objects.

pot.ddom = ddom;
pot.cheaddom = cheaddom;
pot.ctaildom = ctaildom;
pot.domain = myunion(ddom, myunion(cheaddom, ctaildom));
pot.dsizes = node_sizes(pot.ddom);
pot.dsize = prod(node_sizes(pot.ddom));
pot.cheadsizes = node_sizes(pot.cheaddom);
pot.cheadsize = sum(node_sizes(pot.cheaddom));
pot.ctailsizes = node_sizes(pot.ctaildom);
pot.ctailsize = sum(node_sizes(pot.ctaildom));

if nargin < 5
    scgpotc = cell(1, pot.dsize);
    for i=1:pot.dsize
        scgpotc{i} = scgcpot(pot.cheadsize, pot.ctailsize);
    end
end
pot.scgpotc = scgpotc;              

pot = class(pot, 'scgpot');