Changeset 2493 in lmdz_wrf
- Timestamp:
- May 1, 2019, 11:19:01 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/geometry_tools.py
r2492 r2493 638 638 dx = length/(N-1) 639 639 ia = ival*np.pi/180. 640 da = 2*np.pi*dx/ 3.640 da = 2*np.pi*dx/lamb 641 641 642 642 sinusoide = np.zeros((N,2), dtype=np.float) … … 719 719 lmast: position of the mast (as percentage of length, default 0.6) 720 720 wmast: width of the mast (default 0.1) 721 hsd: head sail direction respect to center line (default 5. )722 msd: main sail direction respect to center line (default 5. )721 hsd: head sail direction respect to center line (default 5., -999.99 for upwind) 722 msd: main sail direction respect to center line (default 5., -999.99 for upwind) 723 723 lheads: length of head sail (as percentage of legnth, defaul 0.38) 724 724 lmains: length of main sail (as percentage of legnth, defaul 0.55) … … 748 748 # head sails 749 749 lsail = lheads*length 750 sailsa = np.pi/2. - np.pi*hsd/180. 751 endsail = np.array([lsail*np.sin(sailsa), lsail*np.cos(sailsa)]) 752 endsail[0] = length - endsail[0] 753 if bow[1] < endsail[1]: 754 hsail = circ_sec(endsail, bow, lsail*2.15) 750 if hsd != -999.99: 751 sailsa = np.pi/2. - np.pi*hsd/180. 752 endsail = np.array([lsail*np.sin(sailsa), lsail*np.cos(sailsa)]) 753 endsail[0] = length - endsail[0] 754 if bow[1] < endsail[1]: 755 hsail = circ_sec(endsail, bow, lsail*2.15) 756 else: 757 hsail = circ_sec(bow, endsail, lsail*2.15) 755 758 else: 756 hsail = circ_sec(bow, endsail, lsail*2.15) 759 hsail0 = p_sinusiode(length=lsail, amp=0.2, lamb=0.75, N=dpts) 760 hsail = np.zeros((dpts,2), dtype=np.float) 761 hsail[:,0] = hsail0[:,1] 762 hsail[:,1] = hsail0[:,0] 763 hsail = bow - hsail 757 764 758 765 # main sails 759 sailsa = np.pi/2. - np.pi*msd/180.760 766 lsail = lmains*length 761 begsail = np.array([length*lmast, 0.]) 762 endsail = np.array([lsail*np.sin(sailsa), lsail*np.cos(sailsa)]) 763 endsail[0] = length*lmast - endsail[0] 764 if endsail[1] < begsail[1]: 765 msail = circ_sec(begsail, endsail, lsail*2.15) 767 if msd != -999.99: 768 sailsa = np.pi/2. - np.pi*msd/180. 769 begsail = np.array([length*lmast, 0.]) 770 endsail = np.array([lsail*np.sin(sailsa), lsail*np.cos(sailsa)]) 771 endsail[0] = length*lmast - endsail[0] 772 if endsail[1] < begsail[1]: 773 msail = circ_sec(begsail, endsail, lsail*2.15) 774 else: 775 msail = circ_sec(endsail, begsail, lsail*2.15) 766 776 else: 767 msail = circ_sec(endsail, begsail, lsail*2.15) 777 msail0 = p_sinusiode(length=lsail, amp=0.25, lamb=1., N=dpts) 778 msail = np.zeros((dpts,2), dtype=np.float) 779 msail[:,0] = msail0[:,1] 780 msail[:,1] = msail0[:,0] 781 msail = [length*lmast,0] - msail 768 782 769 783 sailingboat = np.zeros((dpts*8+4,2), dtype=np.float)
Note: See TracChangeset
for help on using the changeset viewer.