double form_volume(double length_a, double b2a_ratio, double c2a_ratio); double Iq(double q, double sld, double solvent_sld, double length_a, double b2a_ratio, double c2a_ratio); double Iqxy(double qx, double qy, double sld, double solvent_sld, double length_a, double b2a_ratio, double c2a_ratio); double form_volume(double length_a, double b2a_ratio, double c2a_ratio) { double b_side = length_a * b2a_ratio; double c_side = length_a * c2a_ratio; double vol_shell = 2.0 * (length_a*b_side + length_a*c_side + b_side*c_side); return vol_shell; } double Iq(double q, double sld, double solvent_sld, double length_a, double b2a_ratio, double c2a_ratio) { double b_side = length_a * b2a_ratio; double c_side = length_a * c2a_ratio; double a_half = 0.5 * length_a; double b_half = 0.5 * b_side; double c_half = 0.5 * c_side; //Integration limits to use in Gaussian quadrature double v1a = 0.0; double v1b = 0.5 * M_PI; //theta integration limits double v2a = 0.0; double v2b = 0.5 * M_PI; //phi integration limits //Order of integration int nordi=76; int nordj=76; double sumi = 0.0; for(int i=0; i