Nbody6
Main Page
Files
File List
File Members
Nbody6
Files
File List
Nbody6
Chain
Nchain
Ncode
adjust.f
assess.f
bindat.f
binev.f
binout.f
binpop.f
block.f
bodies.f
brake.f
brake2.f
brake3.f
brake4.f
bsetid.f
chaos.f
chaos0.f
check.f
checkl.f
chrect.f
circ.f
clint.f
cloud.f
cloud0.f
cmbody.f
cmcorr.f
cmfirr.f
cmfreg.f
coal.f
comenv.f
common6.h
core.f
corerd.f
cputim.f
data.f
decide.f
define.f
deform.f
deform2.f
degen.f
delay.f
derqp3.f
derqp4.f
dgcore.f
difsy3.f
difsy4.f
dtchck.f
eccmod.f
ecirc.f
edot.f
efac2.f
efac3.f
endreg.f
energy.f
erel3.f
erel4.f
escape.f
events.f
evolve.f
expand.f
expand2.f
expel.f
extend.f
fbulge.f
fclose.f
fcloud.f
fcorr.f
fdisk.f
fhalo.f
ficorr.f
findj.f
findm.f
flyby.f
fnuc.f
fpcorr.f
fpert.f
fpoly1.f
fpoly2.f
freeze.f
gcinit.f
gcint.f
giant.f
giant3.f
gntage.f
grrad.f
hcorr.f
hiarch.f
hicirc.f
hidat.f
higrow.f
himax.f
himax2.f
himod.f
hipop.f
hirect.f
histab.f
hivel.f
hmdot.f
hmdot2.f
hotsys.f
hrdiag.f
hrplot.f
hut.f
hut2.f
iblock.f
ichain.f
imf.f
imf2.f
imfbd.f
impact.f
induce.f
inext.f
input.f
insert.f
instar.f
intgrt.f
intide.f
jacobi.f
kepler.f
kick.f
kick2.f
kozai.f
ksapo.f
kscorr.f
ksin2.f
ksinit.f
ksint.f
ksintp.f
kslist.f
ksmod.f
ksperi.f
kspert.f
kspoly.f
kspred.f
ksrect.f
ksreg.f
ksres.f
ksres2.f
ksrot.f
ksterm.f
kstide.f
lagr.f
lagr2.f
levels.f
magbrk.f
matrix.f
mdot.f
merge.f
merge2.f
mix.f
mloss.f
mlwind.f
modify.f
mrenv.f
mtrace.f
mydump.f
nbhist.f
nbint.f
nblist.f
nbody6.f
nbpot.f
nbrem.f
nbrest.f
nbsort.f
nbtide.f
newhut.f
newreg.f
newsys.f
newtev.f
newton.f
nstab.f
ntint.f
offset.f
orbit.f
output.f
params.h
peri.f
permit.f
pfac.f
plpot1.f
pnpert2.f
poarams.h
poti.f
premsf.f
proto_star.f
qpmod3.f
qpmod4.f
qtides.f
quad.f
ran2.f
rchain.f
reflct.f
regint.f
remove.f
rename.f
reset.f
reset2.f
resolv.f
rkint.f
rl.f
roche.f
rpmax.f
rpmax2.f
rpmin.f
rsort.f
scale.f
search.f
setup.f
setup2.f
shrink.f
sort1.f
spinup.f
spiral.f
stability.f
stabl3.f
stabl4.f
stablz.f
star.f
start.f
start3.f
start4.f
status.f
stepi.f
stepk.f
steps.f
stumpf.f
subint.f
subsys.f
swap.f
sweep.f
synch.f
tail0.f
tcirc.f
test.f
tides.f
tides2.f
tides3.f
touch.f
tperi.f
tpert.f
trans3.f
trans4.f
trdot.f
trdot2.f
trflow.f
triple.f
tstab.f
tstep.f
units.f
unpert.f
update.f
verify.f
xtrnl0.f
xtrnld.f
xtrnlf.f
xtrnlp.f
xtrnlt.f
xtrnlv.f
xvpred.f
zare.f
zcnsts.f
zdata.h
zero.f
zfuncs.f
File Members
•
All
Files
Functions
Variables
subsys.f
Go to the documentation of this file.
1
SUBROUTINE
subsys
(NSYS,CM)
2
*
3
*
4
* Initialization of subsystem.
5
* ----------------------------
6
*
7
include
'common6.h'
8
common/clump/ bodys(ncmax,5),t0s(5),ts(5),
steps
(5),rmaxs(5),
9
& names(ncmax,5),isys(5)
10
REAL*8
cm(7)
11
*
12
*
13
* Increase subsystem counter and set current index.
14
nsub = nsub + 1
15
isub = nsub
16
*
17
* Set zero name & mass in last component to distinguish triple case.
18
IF
(nsys.EQ.3)
THEN
19
names(4,isub) = 0
20
bodys(4,isub) = 0.0d0
21
END IF
22
*
23
* Save global masses & names of new subsystem components.
24
bx = 0.0
25
DO
10 l = 1,nsys
26
j = jlist(l)
27
bodys(l,isub) = body(j)
28
names(l,isub) = name(j)
29
IF
(body(j).GT.bx)
THEN
30
bx = body(j)
31
lx = l
32
END IF
33
10
CONTINUE
34
*
35
* Form ghosts and initialize integration variables (NSYS = 3 or 4).
36
DO
20 l = 1,nsys
37
j = jlist(l)
38
body(j) = 0.0d0
39
t0(j) = 1.0e+06
40
list(1,j) = 0
41
DO
15 k = 1,3
42
x0dot(k,j) = 0.0d0
43
xdot(k,j) = 0.0d0
44
f(k,j) = 0.0d0
45
fdot(k,j) = 0.0d0
46
d0(k,j) = 0.0d0
47
d1(k,j) = 0.0d0
48
d2(k,j) = 0.0d0
49
d3(k,j) = 0.0d0
50
d0r(k,j) = 0.0d0
51
d1r(k,j) = 0.0d0
52
d2r(k,j) = 0.0d0
53
d3r(k,j) = 0.0d0
54
15
CONTINUE
55
* Set large X0 & X to avoid perturber selection (no escape).
56
x0(1,j) = 1.0e+06
57
x(1,j) = 1.0e+06
58
20
CONTINUE
59
*
60
* Place c.m. of subsystem in first location (ICOMP may switch!).
61
icomp = jlist(1)
62
* Ensure heaviest body is selected in case of ARchain.
63
IF
(isys(isub).EQ.4)
THEN
64
icomp = jlist(lx)
65
END IF
66
* Define zero name for identification (only chain or ARchain c.m.).
67
IF
(isys(isub).GE.3) name(icomp) = 0
68
*
69
* Initialize c.m in ICOMP (redefined above).
70
t0(icomp) = time
71
body(icomp) = cm(7)
72
DO
30 k = 1,3
73
x(k,icomp) = cm(k)
74
x0(k,icomp) = cm(k)
75
xdot(k,icomp) = cm(k+3)
76
x0dot(k,icomp) = cm(k+3)
77
30
CONTINUE
78
*
79
* Predict coordinates & velocities for all neighbours (order FDOT).
80
nnb = list(1,icomp)
81
CALL
xvpred
(icomp,nnb)
82
*
83
* Obtain new neighbour list (to ensure membership > 0).
84
rs0 = rs(icomp)
85
CALL
nblist
(icomp,rs0)
86
*
87
* Construct force polynomials for c.m. motion.
88
CALL
fpoly1
(icomp,icomp,0)
89
CALL
fpoly2
(icomp,icomp,0)
90
*
91
* Initialize decision-making variables for multiple regularization.
92
t0s(isub) = time
93
ts(isub) = time
94
steps
(isub) = step(icomp)
95
*
96
* Obtain maximum unperturbed separation based on dominant neighbour.
97
CALL
extend
(isub)
98
*
99
RETURN
100
*
101
END
Nbody6
Ncode
subsys.f
Generated on Sat Nov 30 2013 19:04:37 for Nbody6 by
1.8.2