src/hamiltonian/AutoAdderConfig.js



import Adhesion from "./Adhesion.js"
import VolumeConstraint from "./VolumeConstraint.js"
import ActivityConstraint from "./ActivityConstraint.js"
import PerimeterConstraint from "./PerimeterConstraint.js"
import BarrierConstraint from "./BarrierConstraint.js"

/** This class enables automatic addition of Hamiltonian terms to a CPM
 * through their parameter names.
 *
 * For each parameter name, we specify one Hamiltonian term. If the parameter
 * is present, then a new instance of this term is initialized with the CPM's
 * configuration as parameter and added to the CPM. 
@type {object}
@property {Constraint} J - An {@link Adhesion} constraint is added when there is a parameter J.
@property {Constraint} LAMBDA_V - A {@link VolumeConstraint} is added when there is a parameter LAMBDA_V.
@property {Constraint} LAMBDA_P - A {@link PerimeterConstraint} is added when there is a parameter LAMBDA_P.
@property {Constraint} LAMBDA_ACT - An {@link ActivityConstraint} is added when there is a parameter LAMBDA_ACT.
@property {Constraint} IS_BARRIER - A {@link BarrierConstraint} is added when there is a parameter IS_BARRIER.
*/
let AutoAdderConfig = {
	J : Adhesion,
	LAMBDA_V : VolumeConstraint,
	LAMBDA_ACT : ActivityConstraint,
	LAMBDA_P : PerimeterConstraint,
	IS_BARRIER : BarrierConstraint
}

export default AutoAdderConfig