[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
When CAMFR produces results that are clearly nonphysical, here are number of things you can do to improve convergence:
set_precision(p)
,
where p is an integer number that defaults to 100. If you expect missing
radiation modes, increase set_precision_rad()
beyond the default of 100.
set_chunk_tracing(0)
at the expense
of longer run times.
set_stability(extra)
to use extra row and column equilibration.
With set_stability(SVD)
a pseudo inverse is calculated using singular
value decomposition.
set_degenerate(0)
.
set_orthogonal(0)
.
This will cause CAMFR to treat modes which are not exactly orthogonal due to rounding errors as non-orthogonal.
set_solver(series)
and set_mode_surplus(n)
. This will first construct an initial estimate of the modes based on a plane wave expansion. The number of plane waves used in this expansion is n
times get_N()
. These estimates are subsequently refined using the full dispersion relation.
set_unstable_exp_threshold
. E.g. setting it to 1e-6 will mean waveguides will be treated sooner as decoupled than when the parameter was 1e-12.
set_backward_modes(1)
for extra stability.
If CAMFR crashes, make sure you haven't called free_tmps()
too
soon, i.e. before you're done with the objects. Another common cause of
crashes to look out for is defining a wall
or an InfStack
inside
an expression. Also, if you're upgrading from a pre 1.0 version of CAMFR, make
sure all your coordinates are purely real.
Finally, we want to remind the user that in Python 1/3 = 0
rather than
.3333
. This will change in Python 3.0, but if you already want such
behaviour now, include from __future__ import division
at the top
of your scripts.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by root on August, 27 2008 using texi2html 1.76.