#!/opt/bin/cmo # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 2D central composite design used during the numerical exteriments for # the determination of limiting fiber content # Vladimir A Smirnov (smirnov@nocnt.ru), 2016 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # The calculation will be performed in three stages: # - first stage: 2^2 2D factorial; # - second stage: three iteration along 1st factor while 2nd is zero; # - third stage: three iteration along 2nd factor while 1st is zero. # # If you plan to use "Gradient" program (beware, interface is in Russian) # for further data processing, here is the renumbering rule: # +--------------------+----------------------------------------+ # | row of the result | row of the response matrix in Gradient | # +--------------------+----------------------------------------+ # | 1 (pass1) #0 | (-1, -1): 1 | # +--------------------+----------------------------------------+ # | 2 (pass1) #1 | ( 1, -1): 2 | # +--------------------+----------------------------------------+ # | 3 (pass1) #2 | (-1, 1): 3 | # +--------------------+----------------------------------------+ # | 4 (pass1) #3 | ( 1, 1): 4 | # +--------------------+----------------------------------------+ # | 5 (pass2) #4 | (-sqrt(2),0): 5 | # +--------------------+----------------------------------------+ # | 6 (pass2) #5 | ( 0, 0): 9 | # +--------------------+----------------------------------------+ # | 7 (pass2) #6 | (sqrt(2), 0): 6 | # +--------------------+----------------------------------------+ # | 8 (pass3) #7 | ( 0, -sqrt(2)): 7 | # +--------------------+----------------------------------------+ # | 9 (pass3) #8 | ( 0, sqrt(2)): 8 | # +--------------------+----------------------------------------+ # You can also use the template: # http://ftp.kkatarn.ru/devel/libv/cmo/2nd9.mpl # Both "cmo" and "Gradient" can also be downloaded from: # http://libv.org (http://ftp.kkatarn.ru/devel, see gradient and libv/cmo) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # !define VF_MIN 0.05 !define VF_MAIN 0.1 !define VF_MAX 0.15 # Fiber length !define X1_ALPHA_MIN 108.58e-9 !define X1_MIN 150e-9 !define X1_MAIN 250e-9 !define X1_MAX 350e-9 !define X1_ALPHA_MAX 391.42e-9 # Fiber diameter !define X2_ALPHA_MIN 10.101e-9 !define X2_MIN 13e-9 !define X2_MAIN 20e-9 !define X2_MAX 27e-9 !define X2_ALPHA_MAX 29.899e-9 # Size of bounding box !define BBOX_SIZE 2e-6 # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Suffixes of generators: # 's' - for 's'quared; # 'c' - for 'c'enter; # 'z' - for 'z'ero. # generators { constant vf VF_MAIN; constant flz X1_MAIN; constant fdz X2_MAIN; iterator fls X1_MIN to X1_MAX steps 1; iterator fds X2_MIN to X2_MAX steps 1; iterator flc X1_ALPHA_MIN to X1_ALPHA_MAX steps 2; iterator fdc X2_ALPHA_MIN to X2_ALPHA_MAX steps 1; } # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # sequence pass1 { bounding_box 0 0 0 BBOX_SIZE BBOX_SIZE BBOX_SIZE; volumetric_content vf; fiber_length fls; fiber_diameter fds; } # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # sequence pass2 { bounding_box 0 0 0 BBOX_SIZE BBOX_SIZE BBOX_SIZE; volumetric_content vf; fiber_length flc; fiber_diameter fdz; } # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # sequence pass3 { bounding_box 0 0 0 BBOX_SIZE BBOX_SIZE BBOX_SIZE; volumetric_content vf; fiber_length flz; fiber_diameter fdc; }