double form_volume(double a_side, double b2a_ratio, double c2a_ratio); double Iq(double q, double sld, double solvent_sld, double a_side, double b2a_ratio, double c2a_ratio); double Iqxy(double qx, double qy, double sld, double solvent_sld, double a_side, double b2a_ratio, double c2a_ratio); double form_volume(double a_side, double b2a_ratio, double c2a_ratio) { double b_side = a_side * b2a_ratio; double c_side = a_side * c2a_ratio; double vol_shell = 2.0 * (a_side*b_side + a_side*c_side + b_side*c_side); return vol_shell; } double Iq(double q, double sld, double solvent_sld, double a_side, double b2a_ratio, double c2a_ratio) { double b_side = a_side * b2a_ratio; double c_side = a_side * c2a_ratio; double a_half = 0.5 * a_side; 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