Imported Upstream version 4.6.0
[debian/atlc] / src / non_gui / check_parameters_of_create_bmp_for_rect_in_rect.c
1 /* atlc - arbitrary transmission line calculator, for the analysis of
2 transmission lines are directional couplers. 
3
4 Copyright (C) 2002. Dr. David Kirkby, PhD (G8WRB).
5
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either package_version 2
9 of the License, or (at your option) any later package_version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
19 USA.
20
21 Dr. David Kirkby, e-mail drkirkby at ntlworld.com 
22
23 */
24 #include "config.h"
25
26
27 #ifdef HAVE_STDLIB_H
28 #include <stdlib.h>
29 #endif  
30
31 #include "definitions.h"
32
33
34 /* These items are supplied on the command line */
35
36 extern double WW, HH, aa, bb, cc, dd, ww, hh, Er1, Er2;
37 extern int W, H, a, b, c, d, w, h;
38 extern int verbose;
39
40 void check_parameters_of_create_bmp_for_rect_in_rect(void)
41 {
42    if( (Er1<1.0) || (Er2 <1.0))
43       exit_with_msg_and_exit_code((char *) "Both Er1  and Er2 must be >= 1.0",100);
44    if(aa+dd>WW)
45       exit_with_msg_and_exit_code((char *) "the dielectric extends horizontally outside the box (a+d>W)",100);
46    if(bb+ww>=WW)
47       exit_with_msg_and_exit_code((char *) "the inner conductor extends horizontally beyond the outer conductor(b+w>=W)",101);
48    if(cc<=0.0)
49       exit_with_msg_and_exit_code((char *) "The inner conductors's thickness (c) must be greater than zero ",12);
50    if(hh<=0.0)
51       exit_with_msg_and_exit_code((char *) "The thickness of dielectric Er2 (h) must be greater than zero ",12);
52    if(hh+cc>=HH)
53       exit_with_msg_and_exit_code((char *) "the inner conductor extends verticaly beyond the outer conductor(c+h>=H)",101);
54    if((WW<=0.0) || (HH<=0.0) || (aa<0.0) || (bb<0.0) || (cc<=0.0) || (dd<=0.0)
55    ||(ww<=0.0) || (hh<=0.0))
56       exit_with_msg_and_exit_code((char *) "W,H,c,d,w, & h must be positive numbers. Non-integers are okay, but they must be >0 \n",102); 
57       
58 }
59
60 void check_create_bmp_for_rect_in_circ_int(void)
61 {
62    if(verbose==TRUE)
63       fprintf(stderr,"W=%d H=%d a=%d b=%d c=%d d=%d w=%d h=%d\n",W,H,a,b,c,d,w,h);
64    if(a < 1)
65       exit_with_msg_and_exit_code("internal paramter 'a' is less that 1. This indicates the LHS of the dielectric",102); 
66 }