Index: tests/Python/ForceAnnealing/post/five_carbon_test_bondgraph.data
===================================================================
--- tests/Python/ForceAnnealing/post/five_carbon_test_bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
+++ tests/Python/ForceAnnealing/post/five_carbon_test_bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -0,0 +1,127 @@
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+# Box	20	0	0	0	20	0	0	0	20
+C	1	6	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	7.6	10	10	0	0	0	0	0	0	1	3	0	0	
+C	3	8.7	10	10	0	0	0	0	0	0	2	4	0	0	
+C	4	10.8	10	10	0	0	0	0	0	0	3	5	0	0	
+C	5	12.4	10	10	0	0	0	0	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	6	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	7.57354	10	10	0	0	0	-0.264589	0	0	1	3	0	0	
+C	3	8.75292	10	10	0	0	0	0.529177	0	0	2	4	0	0	
+C	4	10.7735	10	10	0	0	0	-0.264589	0	0	3	5	0	0	
+C	5	12.4	10	10	0	0	0	0	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99762	10	10	0	0	0	-0.014002	0	0	2	0	0	0	
+C	2	7.55664	10	10	0	0	0	-0.208581	0	0	1	3	0	0	
+C	3	8.79358	10	10	0	0	0	0.445144	0	0	2	4	0	0	
+C	4	10.7566	10	10	0	0	0	-0.208538	0	0	3	5	0	0	
+C	5	12.3976	10	10	0	0	0	-0.0140232	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	6.00099	10	10	0	0	0	-0.0216857	0	0	2	0	0	0	
+C	2	7.54962	10	10	0	0	0	-0.170437	0	0	1	3	0	0	
+C	3	8.88895	10	10	0	0	0	0.384225	0	0	2	4	0	0	
+C	4	10.7496	10	10	0	0	0	-0.170406	0	0	3	5	0	0	
+C	5	12.401	10	10	0	0	0	-0.0216963	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	6.01638	10	10	0	0	0	-0.0271838	0	0	2	0	0	0	
+C	2	7.58211	10	10	0	0	0	-0.110757	0	0	1	3	0	0	
+C	3	9.04595	10	10	0	0	0	0.275871	0	0	2	4	0	0	
+C	4	10.7821	10	10	0	0	0	-0.11073	0	0	3	5	0	0	
+C	5	12.4164	10	10	0	0	0	-0.0271997	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98362	10	10	0	0	0	-0.0181349	0	0	2	0	0	0	
+C	2	7.58977	10	10	0	0	0	-0.0539179	0	0	1	3	0	0	
+C	3	9.13561	10	10	0	0	0	0.1441	0	0	2	4	0	0	
+C	4	10.7898	10	10	0	0	0	-0.0538967	0	0	3	5	0	0	
+C	5	12.3835	10	10	0	0	0	-0.0181508	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98766	10	10	0	0	0	0.00325444	0	0	2	0	0	0	
+C	2	7.59245	10	10	0	0	0	-0.0319147	0	0	1	3	0	0	
+C	3	9.15835	10	10	0	0	0	0.0573364	0	0	2	4	0	0	
+C	4	10.7925	10	10	0	0	0	-0.0320099	0	0	3	5	0	0	
+C	5	12.3876	10	10	0	0	0	0.00333382	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98842	10	10	0	0	0	0.00253476	0	0	2	0	0	0	
+C	2	7.59255	10	10	0	0	0	-0.0205797	0	0	1	3	0	0	
+C	3	9.16535	10	10	0	0	0	0.0361163	0	0	2	4	0	0	
+C	4	10.7926	10	10	0	0	0	-0.0206644	0	0	3	5	0	0	
+C	5	12.3884	10	10	0	0	0	0.00259297	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99017	10	10	0	0	0	0.0021855	0	0	2	0	0	0	
+C	2	7.59433	10	10	0	0	0	-0.0165791	0	0	1	3	0	0	
+C	3	9.17263	10	10	0	0	0	0.0288137	0	0	2	4	0	0	
+C	4	10.7943	10	10	0	0	0	-0.0166426	0	0	3	5	0	0	
+C	5	12.3901	10	10	0	0	0	0.00222254	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99673	10	10	0	0	0	0.00220138	0	0	2	0	0	0	
+C	2	7.59359	10	10	0	0	0	-0.0136845	0	0	1	3	0	0	
+C	3	9.1839	10	10	0	0	0	0.0229504	0	0	2	4	0	0	
+C	4	10.7936	10	10	0	0	0	-0.0136898	0	0	3	5	0	0	
+C	5	12.3961	10	10	0	0	0	0.00222254	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99607	10	10	0	0	0	-0.00166162	0	0	2	0	0	0	
+C	2	7.59504	10	10	0	0	0	-0.00346611	0	0	1	3	0	0	
+C	3	9.19027	10	10	0	0	0	0.0102607	0	0	2	4	0	0	
+C	4	10.7951	10	10	0	0	0	-0.00381008	0	0	3	5	0	0	
+C	5	12.3957	10	10	0	0	0	-0.00132294	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99616	10	10	0	0	0	-0.000545053	0	0	2	0	0	0	
+C	2	7.59523	10	10	0	0	0	-0.00197912	0	0	1	3	0	0	
+C	3	9.192	10	10	0	0	0	0.0050801	0	0	2	4	0	0	
+C	4	10.7952	10	10	0	0	0	-0.00223842	0	0	3	5	0	0	
+C	5	12.3959	10	10	0	0	0	-0.000317506	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99623	10	10	0	0	0	-0.000492135	0	0	2	0	0	0	
+C	2	7.59535	10	10	0	0	0	-0.00121711	0	0	1	3	0	0	
+C	3	9.19284	10	10	0	0	0	0.00340261	0	0	2	4	0	0	
+C	4	10.7954	10	10	0	0	0	-0.00132294	0	0	3	5	0	0	
+C	5	12.3959	10	10	0	0	0	-0.000370424	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99613	10	10	0	0	0	-0.000465676	0	0	2	0	0	0	
+C	2	7.59549	10	10	0	0	0	-0.000862559	0	0	1	3	0	0	
+C	3	9.19376	10	10	0	0	0	0.00268293	0	0	2	4	0	0	
+C	4	10.7955	10	10	0	0	0	-0.00109011	0	0	3	5	0	0	
+C	5	12.3959	10	10	0	0	0	-0.000264589	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99613	10	10	0	0	0	-0.000338673	0	0	2	0	0	0	
+C	2	7.59563	10	10	0	0	0	-0.000576803	0	0	1	3	0	0	
+C	3	9.19481	10	10	0	0	0	0.00183625	0	0	2	4	0	0	
+C	4	10.7956	10	10	0	0	0	-0.000709098	0	0	3	5	0	0	
+C	5	12.3959	10	10	0	0	0	-0.000211671	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99618	10	10	0	0	0	-0.000264589	0	0	2	0	0	0	
+C	2	7.59572	10	10	0	0	0	-0.000169337	0	0	1	3	0	0	
+C	3	9.1953	10	10	0	0	0	0.000851975	0	0	2	4	0	0	
+C	4	10.7957	10	10	0	0	0	-0.000259297	0	0	3	5	0	0	
+C	5	12.3959	10	10	0	0	0	-0.000158753	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99613	10	10	0	0	0	-0.000243422	0	0	2	0	0	0	
+C	2	7.59576	10	10	0	0	0	2.11671e-05	0	0	1	3	0	0	
+C	3	9.19545	10	10	0	0	0	0.000433925	0	0	2	4	0	0	
+C	4	10.7957	10	10	0	0	0	-0.000105835	0	0	3	5	0	0	
+C	5	12.396	10	10	0	0	0	-0.000105835	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99607	10	10	0	0	0	-0.000195796	0	0	2	0	0	0	
+C	2	7.59579	10	10	0	0	0	3.17506e-05	0	0	1	3	0	0	
+C	3	9.19554	10	10	0	0	0	0.000296339	0	0	2	4	0	0	
+C	4	10.7957	10	10	0	0	0	2.64589e-05	0	0	3	5	0	0	
+C	5	12.396	10	10	0	0	0	-0.000158753	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99606	10	10	0	0	0	-0.00014817	0	0	2	0	0	0	
+C	2	7.59591	10	10	0	0	0	1.58753e-05	0	0	1	3	0	0	
+C	3	9.19566	10	10	0	0	0	0.000216963	0	0	2	4	0	0	
+C	4	10.7958	10	10	0	0	0	7.40848e-05	0	0	3	5	0	0	
+C	5	12.396	10	10	0	0	0	-0.000158753	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99609	10	10	0	0	0	-7.93766e-05	0	0	2	0	0	0	
+C	2	7.59594	10	10	0	0	0	-5.29177e-05	0	0	1	3	0	0	
+C	3	9.19599	10	10	0	0	0	0.000206379	0	0	2	4	0	0	
+C	4	10.7961	10	10	0	0	0	3.17506e-05	0	0	3	5	0	0	
+C	5	12.3961	10	10	0	0	0	-0.000105835	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99608	10	10	0	0	0	-7.93766e-05	0	0	2	0	0	0	
+C	2	7.59598	10	10	0	0	0	0.000105835	0	0	1	3	0	0	
+C	3	9.19602	10	10	0	0	0	3.17506e-05	0	0	2	4	0	0	
+C	4	10.796	10	10	0	0	0	-5.82095e-05	0	0	3	5	0	0	
+C	5	12.396	10	10	0	0	0	-2.71051e-21	0	0	4	0	0	0	
Index: tests/Python/ForceAnnealing/post/five_carbon_test_no-bondgraph.data
===================================================================
--- tests/Python/ForceAnnealing/post/five_carbon_test_no-bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
+++ tests/Python/ForceAnnealing/post/five_carbon_test_no-bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -0,0 +1,127 @@
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+# Box	20	0	0	0	20	0	0	0	20
+C	1	6	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	7.6	10	10	0	0	0	-0.264589	0	0	1	3	0	0	
+C	3	8.7	10	10	0	0	0	0.529177	0	0	2	4	0	0	
+C	4	10.8	10	10	0	0	0	-0.264589	0	0	3	5	0	0	
+C	5	12.4	10	10	0	0	0	0	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	6	10	10	0	0	0	-0.014002	0	0	2	0	0	0	
+C	2	7.57354	10	10	-0.0264589	0	0	-0.208581	0	0	1	3	0	0	
+C	3	8.75292	10	10	0.0529177	0	0	0.445144	0	0	2	4	0	0	
+C	4	10.7735	10	10	-0.0264589	0	0	-0.208538	0	0	3	5	0	0	
+C	5	12.4	10	10	0	0	0	-0.0140232	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.9986	10	10	-0.0014002	0	0	-0.065401	0	0	2	0	0	0	
+C	2	7.47501	10	10	-0.0985358	0	0	0.0432973	0	0	1	3	0	0	
+C	3	9.03324	10	10	0.280317	0	0	0.0442551	0	0	2	4	0	0	
+C	4	10.6751	10	10	-0.0984414	0	0	0.043202	0	0	3	5	0	0	
+C	5	12.3986	10	10	-0.00140232	0	0	-0.0653534	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99682	10	10	-0.00178164	0	0	-0.0555001	0	0	2	0	0	0	
+C	2	7.49194	10	10	0.0169381	0	0	0.0408101	0	0	1	3	0	0	
+C	3	9.06418	10	10	0.0309449	0	0	0.0294117	0	0	2	4	0	0	
+C	4	10.692	10	10	0.0168939	0	0	0.0407361	0	0	3	5	0	0	
+C	5	12.3968	10	10	-0.00178543	0	0	-0.0554578	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98683	10	10	-0.00998711	0	0	0.0968606	0	0	2	0	0	0	
+C	2	7.76987	10	10	0.277929	0	0	-0.226176	0	0	1	3	0	0	
+C	3	9.1255	10	10	0.0613162	0	0	0.259281	0	0	2	4	0	0	
+C	4	10.9711	10	10	0.279075	0	0	-0.227493	0	0	3	5	0	0	
+C	5	12.3868	10	10	-0.010006	0	0	0.0975274	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99318	10	10	0.00634913	0	0	-0.0310892	0	0	2	0	0	0	
+C	2	7.53443	10	10	-0.235446	0	0	0.0629615	0	0	1	3	0	0	
+C	3	9.19466	10	10	0.0691615	0	0	-0.0637606	0	0	2	4	0	0	
+C	4	10.7344	10	10	-0.236692	0	0	0.0630038	0	0	3	5	0	0	
+C	5	12.3932	10	10	0.0063788	0	0	-0.0311156	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99164	10	10	-0.00154271	0	0	-0.00314331	0	0	2	0	0	0	
+C	2	7.5857	10	10	0.0512699	0	0	0.000661472	0	0	1	3	0	0	
+C	3	9.18101	10	10	-0.0136508	0	0	0.00496368	0	0	2	4	0	0	
+C	4	10.7857	10	10	0.0513344	0	0	0.000640304	0	0	3	5	0	0	
+C	5	12.3916	10	10	-0.00154288	0	0	-0.00312215	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99146	10	10	-0.000173522	0	0	-0.00276231	0	0	2	0	0	0	
+C	2	7.58624	10	10	0.000544359	0	0	0.000513302	0	0	1	3	0	0	
+C	3	9.18199	10	10	0.000985944	0	0	0.00447684	0	0	2	4	0	0	
+C	4	10.7862	10	10	0.000527065	0	0	0.000576803	0	0	3	5	0	0	
+C	5	12.3915	10	10	-0.000172079	0	0	-0.00280464	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.99021	10	10	-0.00125803	0	0	-0.00110069	0	0	2	0	0	0	
+C	2	7.58813	10	10	0.00188582	0	0	0.00265118	0	0	1	3	0	0	
+C	3	9.19106	10	10	0.0090664	0	0	-0.00158224	0	0	2	4	0	0	
+C	4	10.791	10	10	0.00478751	0	0	-0.000497427	0	0	3	5	0	0	
+C	5	12.39	10	10	-0.00152003	0	0	0.000529177	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98937	10	10	-0.000833346	0	0	0.000582095	0	0	2	0	0	0	
+C	2	7.59047	10	10	0.0023386	0	0	-0.00152403	0	0	1	3	0	0	
+C	3	9.18869	10	10	-0.00236756	0	0	0.00100015	0	0	2	4	0	0	
+C	4	10.7888	10	10	-0.00221688	0	0	0.000682639	0	0	3	5	0	0	
+C	5	12.3902	10	10	0.000241275	0	0	-0.000740848	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98966	10	10	0.000288264	0	0	-2.64589e-05	0	0	2	0	0	0	
+C	2	7.58961	10	10	-0.000853633	0	0	2.64589e-05	0	0	1	3	0	0	
+C	3	9.18961	10	10	0.000916944	0	0	0.000259297	0	0	2	4	0	0	
+C	4	10.7901	10	10	0.00128241	0	0	-0.000259297	0	0	3	5	0	0	
+C	5	12.3901	10	10	-0.000140744	0	0	0	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98965	10	10	-1.25332e-05	0	0	-1.05835e-05	0	0	2	0	0	0	
+C	2	7.58963	10	10	1.45671e-05	0	0	0.000169337	0	0	1	3	0	0	
+C	3	9.18993	10	10	0.00032093	0	0	-0.000280464	0	0	2	4	0	0	
+C	4	10.7897	10	10	-0.000353023	0	0	0.000333382	0	0	3	5	0	0	
+C	5	12.3901	10	10	0	0	0	-0.000211671	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98964	10	10	-8.35549e-06	0	0	1.35525e-21	0	0	2	0	0	0	
+C	2	7.58964	10	10	1.72647e-05	0	0	6.35013e-05	0	0	1	3	0	0	
+C	3	9.18976	10	10	-0.000166758	0	0	1.05835e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	0.000198575	0	0	-2.11671e-05	0	0	3	5	0	0	
+C	5	12.39	10	10	-2.11671e-05	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98964	10	10	1.06994e-21	0	0	5.29177e-06	0	0	2	0	0	0	
+C	2	7.58965	10	10	1.03588e-05	0	0	5.82095e-05	0	0	1	3	0	0	
+C	3	9.18977	10	10	6.06392e-06	0	0	5.29177e-06	0	0	2	4	0	0	
+C	4	10.7899	10	10	-1.18552e-05	0	0	-1.58753e-05	0	0	3	5	0	0	
+C	5	12.39	10	10	-7.0557e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98964	10	10	5.29177e-07	0	0	6.8793e-05	0	0	2	0	0	0	
+C	2	7.58977	10	10	0.000113947	0	0	-6.8793e-05	0	0	1	3	0	0	
+C	3	9.18977	10	10	6.06392e-06	0	0	6.8793e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	-3.55657e-05	0	0	-1.58753e-05	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98964	10	10	5.73275e-07	0	0	3.70424e-05	0	0	2	0	0	0	
+C	2	7.58971	10	10	-6.17214e-05	0	0	1.35525e-21	0	0	1	3	0	0	
+C	3	9.18978	10	10	6.56925e-06	0	0	2.64589e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	-1.58753e-06	0	0	-1.05835e-05	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98964	10	10	6.68821e-07	0	0	3.70424e-05	0	0	2	0	0	0	
+C	2	7.58971	10	10	1.21594e-21	0	0	5.29177e-06	0	0	1	3	0	0	
+C	3	9.18979	10	10	4.10578e-06	0	0	1.58753e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	-3.17506e-06	0	0	-5.29177e-06	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98965	10	10	3.70424e-06	0	0	3.17506e-05	0	0	2	0	0	0	
+C	2	7.58971	10	10	5.29177e-07	0	0	1.05835e-05	0	0	1	3	0	0	
+C	3	9.18979	10	10	6.15867e-06	0	0	1.58753e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	-3.17506e-06	0	0	-5.29177e-06	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98967	10	10	2.22254e-05	0	0	2.11671e-05	0	0	2	0	0	0	
+C	2	7.58971	10	10	1.05835e-06	0	0	2.11671e-05	0	0	1	3	0	0	
+C	3	9.18979	10	10	1.58753e-06	0	0	1.58753e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	-5.29177e-07	0	0	-5.29177e-06	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98971	10	10	4.44509e-05	0	0	1.35525e-21	0	0	2	0	0	0	
+C	2	7.58971	10	10	2.11671e-06	0	0	4.23342e-05	0	0	1	3	0	0	
+C	3	9.18979	10	10	1.58753e-06	0	0	1.58753e-05	0	0	2	4	0	0	
+C	4	10.7899	10	10	-5.29177e-07	0	0	-5.29177e-06	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	-5.29177e-05	0	0	4	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	5.98971	10	10	2.84603e-21	0	0	0	0	0	2	0	0	0	
+C	2	7.58971	10	10	4.23342e-06	0	0	0	0	0	1	3	0	0	
+C	3	9.1898	10	10	1.58753e-06	0	0	0	0	0	2	4	0	0	
+C	4	10.7899	10	10	-5.29177e-07	0	0	0	0	0	3	5	0	0	
+C	5	12.39	10	10	-5.29177e-06	0	0	0	0	0	4	0	0	0	
Index: tests/Python/ForceAnnealing/post/two_carbon_test_bondgraph.data
===================================================================
--- tests/Python/ForceAnnealing/post/two_carbon_test_bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
+++ tests/Python/ForceAnnealing/post/two_carbon_test_bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -0,0 +1,64 @@
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+# Box	20	0	0	0	20	0	0	0	20
+C	1	7.6	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.7	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.57354	10	10	0	0	0	-0.264589	0	0	2	0	0	0	
+C	2	8.72646	10	10	0	0	0	0.264589	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.54708	10	10	0	0	0	-0.236585	0	0	2	0	0	0	
+C	2	8.75292	10	10	0	0	0	0.236585	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.44855	10	10	0	0	0	-0.208581	0	0	2	0	0	0	
+C	2	8.85145	10	10	0	0	0	0.208581	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.37085	10	10	0	0	0	-0.104301	0	0	2	0	0	0	
+C	2	8.92915	10	10	0	0	0	0.104301	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.36166	10	10	0	0	0	-0.0220667	0	0	2	0	0	0	
+C	2	8.93834	10	10	0	0	0	0.0220667	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.36043	10	10	0	0	0	-0.0123404	0	0	2	0	0	0	
+C	2	8.93957	10	10	0	0	0	0.0123404	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35919	10	10	0	0	0	-0.0110386	0	0	2	0	0	0	
+C	2	8.94081	10	10	0	0	0	0.0110386	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.3546	10	10	0	0	0	-0.00972628	0	0	2	0	0	0	
+C	2	8.9454	10	10	0	0	0	0.00972628	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35098	10	10	0	0	0	-0.00486843	0	0	2	0	0	0	
+C	2	8.94902	10	10	0	0	0	0.00486843	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35054	10	10	0	0	0	-0.00103719	0	0	2	0	0	0	
+C	2	8.94946	10	10	0	0	0	0.00103719	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35049	10	10	0	0	0	-0.000571511	0	0	2	0	0	0	
+C	2	8.94951	10	10	0	0	0	0.000571511	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35043	10	10	0	0	0	-0.000518594	0	0	2	0	0	0	
+C	2	8.94957	10	10	0	0	0	0.000518594	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.3502	10	10	0	0	0	-0.000455092	0	0	2	0	0	0	
+C	2	8.9498	10	10	0	0	0	0.000455092	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35005	10	10	0	0	0	-0.000211671	0	0	2	0	0	0	
+C	2	8.94995	10	10	0	0	0	0.000211671	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35003	10	10	0	0	0	-5.29177e-05	0	0	2	0	0	0	
+C	2	8.94997	10	10	0	0	0	5.29177e-05	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35002	10	10	0	0	0	-3.17506e-05	0	0	2	0	0	0	
+C	2	8.94998	10	10	0	0	0	3.17506e-05	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35002	10	10	0	0	0	-2.11671e-05	0	0	2	0	0	0	
+C	2	8.94998	10	10	0	0	0	2.11671e-05	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35002	10	10	0	0	0	-2.11671e-05	0	0	2	0	0	0	
+C	2	8.94998	10	10	0	0	0	2.11671e-05	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35002	10	10	0	0	0	-2.11671e-05	0	0	2	0	0	0	
+C	2	8.94998	10	10	0	0	0	2.11671e-05	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35002	10	10	0	0	0	-2.11671e-05	0	0	2	0	0	0	
+C	2	8.94998	10	10	0	0	0	2.11671e-05	0	0	1	0	0	0	
Index: tests/Python/ForceAnnealing/post/two_carbon_test_no-bondgraph.data
===================================================================
--- tests/Python/ForceAnnealing/post/two_carbon_test_no-bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
+++ tests/Python/ForceAnnealing/post/two_carbon_test_no-bondgraph.data	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -0,0 +1,49 @@
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+# Box	20	0	0	0	20	0	0	0	20
+C	1	7.6	10	10	0	0	0	-0.264589	0	0	2	0	0	0	
+C	2	8.7	10	10	0	0	0	0.264589	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.57354	10	10	-0.0264589	0	0	-0.236585	0	0	2	0	0	0	
+C	2	8.72646	10	10	0.0264589	0	0	0.236585	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35001	10	10	-0.22353	0	0	-1.05835e-05	0	0	2	0	0	0	
+C	2	8.94999	10	10	0.22353	0	0	1.05835e-05	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	-1e-05	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	1e-05	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
+# ATOMDATA	type	Id	x=3	u=3	F=3	neighbors=4
+C	1	7.35	10	10	0	0	0	0	0	0	2	0	0	0	
+C	2	8.95	10	10	0	0	0	0	0	0	1	0	0	0	
Index: tests/Python/ForceAnnealing/pre/ising_model_chain.py
===================================================================
--- tests/Python/ForceAnnealing/pre/ising_model_chain.py	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
+++ tests/Python/ForceAnnealing/pre/ising_model_chain.py	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -0,0 +1,109 @@
+import pyMoleCuilder as mol
+import sys, os, math
+import numpy
+
+if len(sys.argv) < 5:
+	print 'Usage: '+sys.argv[0]+' <input> <path> <steps> <no_atoms> <use bondgraph>'
+	sys.exit(1)
+
+steps=int(sys.argv[3])
+equilibrium_distance=1.6
+no_atoms=int(sys.argv[4])
+inputfile=sys.argv[1]
+forcespath=sys.argv[2]
+forcesfile="ising.forces"
+use_bondgraph=sys.argv[5]
+
+# creating input file
+atomstart=7.6-1.6*math.floor(no_atoms/2)
+print "Creating "+inputfile
+with open(inputfile, 'w') as f:
+	f.write("# ATOMDATA\ttype\tId\tx=3\tu=3\tF=3\tneighbors=4\n")
+	f.write("# Box\t20\t0\t0\t0\t20\t0\t0\t0\t20\n")
+	for i in range(1, no_atoms+1):
+		atompos=atomstart+1.6*float(i)
+		if i==math.floor(no_atoms/2+1):
+			atompos=atompos-.5
+		if i==1:
+			f.write("C\t%d\t%lg\t10\t10\t0\t0\t0\t0\t0\t0\t%d\t0\t0\t0\n" % (i, atompos, i+1));
+		elif i==no_atoms:
+			f.write("C\t%d\t%lg\t10\t10\t0\t0\t0\t0\t0\t0\t%d\t0\t0\t0\n" % (i, atompos, i-1));
+		else:
+			f.write("C\t%d\t%lg\t10\t10\t0\t0\t0\t0\t0\t0\t%d\t%d\t0\t0\n" % (i, atompos, i-1, i+1));
+
+print "Parsing from "+inputfile
+mol.WorldInput(inputfile)
+mol.SelectionAllAtoms()
+mol.CommandVerbose("4")
+
+# calculate damping factor from finite geometric series
+# s_n/a = \sum^{n-1}_{k=0} r^k = (1-r^n)/(1-r) -> s_(n+1)/a -1 = \sum^{n}_{k=1} r^k = (1-r^(n+1))/(1-r) - 1
+# \sum^{n}_{k=1} r^k := 1 and 1 = (1-r^(n+1))/(1-r) - 1 -> 2*(1-r) = 1 - r^(n+1) -> 1 - 2*r + r^(n+1) = 0
+# find root: p[0] is coefficient of monomial with highest power 
+p=[0.] * (no_atoms+1)
+p[0]=1.
+p[no_atoms-1]=-2.
+p[no_atoms]=1.
+zeros=numpy.roots(p)
+print("Roots of p "+str(p)+" are "+str(zeros))
+damping=numpy.real(zeros[-1])
+print "Using damping factor of "+str(damping)
+
+for i in range(0, steps):
+	# TODO: Python interface should have something to iterate over selected atoms
+	# and molecules and get information on their internal status
+	
+	# read current atomic positions
+	outputfile=forcespath+'/'+forcesfile+'.xyz'
+	try:
+		os.remove(outputfile)
+	except: OSError
+		#
+	mol.WorldOutputAs(outputfile)
+	mol.wait()
+	distances=[]
+	coords=[0.,0.,0.]
+	try:
+		skiplines=2+i*(1+1+no_atoms+1) # no_atoms, comment, no_atoms atoms, empty line
+		with open(outputfile) as f:
+			for line in f:
+				if skiplines != 0:
+					skiplines=skiplines-1
+					continue
+				line=line.replace('\t',' ')
+				print "LINE: "+line
+				[elementtype, X, Y, Z] = line.split(' ', 4)
+				if coords!=[0.,0.,0.]:
+					distances.append(math.sqrt((coords[0]-float(X))**2+(coords[1]-float(Y))**2+(coords[2]-float(Z))**2))
+				coords=[float(X),float(Y),float(Z)]
+	except IOError:
+		print 'Warning: '+outputfile+' not readable.'
+		sys.exit(1)
+	
+	assert(len(distances)==no_atoms-1)
+	
+	# 
+	# generate Ising model forces and store in file
+	#
+	# i.e. we have spring forces between neighboring atoms depending on their distance
+	forces=[]
+	for d in distances:
+		forces.append( d - equilibrium_distance );
+		
+	# generate new forces file
+	
+	with open(forcespath+'/'+forcesfile, 'w') as f:
+		f.write('# atom\tf_x\tf_y\tf_z\n')
+		for i in range(len(distances)+1):
+			force=0
+			if i!=0:
+				force=force-forces[i-1]
+			if (i != len(distances)):
+				force=force+forces[i]
+			f.write("%d\t%f\t0.\t0.\n" % (i+1, force))
+
+	mol.WorldStepWorldTime("1")
+	mol.MoleculeForceAnnealing(forcespath+'/'+forcesfile, ".1", "%d" % (steps), "%d" % (no_atoms-1), "%lg" % (damping), use_bondgraph)
+	mol.wait()
+	
+sys.exit(0)
Index: tests/Python/ForceAnnealing/testsuite-python-forceannealing-ising.at
===================================================================
--- tests/Python/ForceAnnealing/testsuite-python-forceannealing-ising.at	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
+++ tests/Python/ForceAnnealing/testsuite-python-forceannealing-ising.at	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -0,0 +1,68 @@
+#
+#    MoleCuilder - creates and alters molecular systems
+#    Copyright (C) 2017 Frederik Heber
+#
+#    This program 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 3 of the License, or
+#    (at your option) any later version.
+#
+#    This program 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, see <http://www.gnu.org/licenses/>.
+#
+# Force Annealing with Ising model
+
+AT_SETUP([Python externalization - Force Annealing without bondgraph on 2-body Ising model])
+AT_KEYWORDS([python force-annealing ising])
+
+# we use forces from a simple Ising model with 2 "carbon" atoms in a row along the x axis
+
+file=two_carbon_test.data
+AT_CHECK([../../run ${abs_top_srcdir}/tests/Python/ForceAnnealing/pre/ising_model_chain.py ./$file ./ 15 2 "0"], 0, [stdout], [ignore])
+AT_CHECK([grep "Largest remaining force components.*e-05" stdout], 0, [ignore], [ignore])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/Python/ForceAnnealing/post/two_carbon_test_no-bondgraph.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+AT_SETUP([Python externalization - Force Annealing without bondgraph on 5-body Ising model])
+AT_KEYWORDS([python force-annealing ising])
+
+# we use forces from a simple Ising model with 5 "carbon" atoms in a row along the x axis
+
+file=five_carbon_test.data
+AT_CHECK([../../run ${abs_top_srcdir}/tests/Python/ForceAnnealing/pre/ising_model_chain.py ./$file ./ 20 5 "0"], 0, [stdout], [ignore])
+AT_CHECK([grep "Largest remaining force components.*e-05" stdout], 0, [ignore], [ignore])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/Python/ForceAnnealing/post/five_carbon_test_no-bondgraph.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+AT_SETUP([Python externalization - Force Annealing with bondgraph on 2-body Ising model])
+AT_KEYWORDS([python force-annealing ising bondgraph])
+AT_XFAIL_IF([/bin/true])
+
+# we use forces from a simple Ising model with 2 "carbon" atoms in a row along the x axis
+
+file=two_carbon_test.data
+AT_CHECK([../../run ${abs_top_srcdir}/tests/Python/ForceAnnealing/pre/ising_model_chain.py ./$file ./ 30 2 "1"], 0, [stdout], [ignore])
+AT_CHECK([grep "Largest remaining force components.*e-05" stdout], 0, [ignore], [ignore])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/Python/ForceAnnealing/post/two_carbon_test_bondgraph.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
+
+AT_SETUP([Python externalization - Force Annealing with bondgraph on 5-body Ising model])
+AT_KEYWORDS([python force-annealing ising bondgraph])
+AT_XFAIL_IF([/bin/true])
+
+# we use forces from a simple Ising model with 5 "carbon" atoms in a row along the x axis
+
+file=five_carbon_test.data
+AT_CHECK([../../run ${abs_top_srcdir}/tests/Python/ForceAnnealing/pre/ising_model_chain.py ./$file ./ 20 5 "1"], 0, [stdout], [ignore])
+AT_CHECK([grep "Largest remaining force components.*0.0001" stdout], 0, [ignore], [ignore])
+AT_CHECK([diff $file ${abs_top_srcdir}/tests/Python/ForceAnnealing/post/five_carbon_test_bondgraph.data], 0, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/Python/Makefile.am
===================================================================
--- tests/Python/Makefile.am	(revision e237c8cc0efe03c90125c45f82d0fddff3a990a6)
+++ tests/Python/Makefile.am	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -25,4 +25,5 @@
 	$(srcdir)/BoxMaker/testsuite-python-boxmaker.at \
 	$(srcdir)/CommandHelp/testsuite-python-commandhelp.at \
+	$(srcdir)/ForceAnnealing/testsuite-python-forceannealing-ising.at \
 	$(srcdir)/ReturnValueActions/testsuite-python-returnvalueactions.at
 
Index: tests/Python/testsuite.at
===================================================================
--- tests/Python/testsuite.at	(revision e237c8cc0efe03c90125c45f82d0fddff3a990a6)
+++ tests/Python/testsuite.at	(revision d9c2298839a3458db0cd465e77aa70bd44b992e8)
@@ -1,19 +1,2 @@
-#
-#    MoleCuilder - creates and alters molecular systems
-#    Copyright (C) 2008-2012 University of Bonn
-#
-#    This program 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 3 of the License, or
-#    (at your option) any later version.
-#
-#    This program 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, see <http://www.gnu.org/licenses/>.
-#
 #
 #    MoleCuilder - creates and alters molecular systems
@@ -64,2 +47,5 @@
 # BoxMaker
 m4_include([BoxMaker/testsuite-python-boxmaker.at])
+
+# Force Annealing
+m4_include([ForceAnnealing/testsuite-python-forceannealing-ising.at])
