|
30 | 30 | % is not defined by the kernel object. Supported |
31 | 31 | % types are: |
32 | 32 | % smooth => smooth kernels |
33 | | -% removable => piecewise smooth kernels |
34 | 33 | % log => logarithmically singular kernels or |
35 | 34 | % smooth times log + smooth |
36 | 35 | % pv => principal value singular kernels + log |
|
73 | 72 | % opts.adaptive_correction = (false) flag for whether to use |
74 | 73 | % adaptive quadrature for near touching panels on |
75 | 74 | % different chunkers |
| 75 | +% opts.rcip_adaptive_correction = (false) flag for whether to use |
| 76 | +% adaptive quadrature for near touching panels on |
| 77 | +% different chunkers within rcip |
76 | 78 | % opts.eps = (1e-14) tolerance for adaptive quadrature |
77 | 79 | % ilist - cell array of integer arrays ([]), list of panel interactions that |
78 | 80 | % should be ignored when constructing matrix entries or quadrature |
|
142 | 144 | nsub = 40; |
143 | 145 | rcip_savedepth = 10; |
144 | 146 | adaptive_correction = false; |
| 147 | +rcip_adaptive_correction = false; |
145 | 148 | sing = 'log'; |
146 | 149 |
|
147 | 150 | % get opts from struct if available |
|
191 | 194 | if (isfield(opts,'adaptive_correction')) |
192 | 195 | adaptive_correction = opts.adaptive_correction; |
193 | 196 | end |
| 197 | +if (isfield(opts,'rcip_adaptive_correction')) |
| 198 | + rcip_adaptive_correction = opts.rcip_adaptive_correction; |
| 199 | +end |
194 | 200 |
|
195 | 201 | nchunkers = length(chnkrs); |
196 | 202 |
|
|
380 | 386 | auxquads = chnk.quadggq.setup(k,type); |
381 | 387 | opts.auxquads.ggqlog = auxquads; |
382 | 388 | end |
383 | | - elseif strcmpi(sing, 'removable') |
384 | | - type = 'removable'; |
385 | | - if (isfield(opts,'auxquads') && isfield(opts.auxquads,'ggqremovable')) |
386 | | - auxquads = opts.auxquads.ggqremovable; |
387 | | - else |
388 | | - k = chnkr.k; |
389 | | - auxquads = chnk.quadggq.setup(k, type); |
390 | | - opts.auxquads.ggqremovable = auxquads; |
391 | | - end |
392 | 389 | elseif strcmpi(singi,'log') |
393 | 390 | type = 'log'; |
394 | 391 | if (isfield(opts,'auxquads') &&isfield(opts.auxquads,'ggqlog')) |
|
533 | 530 | optsrcip.nonsmoothonly = false; |
534 | 531 | optsrcip.corrections = false; |
535 | 532 | optsrcip.rcip_savedepth = rcip_savedepth; |
| 533 | + optsrcip.adaptive_correction = rcip_adaptive_correction; |
536 | 534 |
|
537 | 535 | [R,rcipsav{ivert}] = chnk.rcip.Rcompchunk(chnkrs,iedgechunks,kern,ndim, ... |
538 | 536 | Pbc,PWbc,nsub,starL,circL,starS,circS,ilist,starL1,circL1,... |
|
0 commit comments