Por que meu feixe não está se propagando além do segundo espelho?

Por que meu feixe não está se propagando além do segundo espelho?

Diagrama com flexão de viga

\documentclass[]{revtex4} 
\usepackage{pst-optexp}
\usepackage{pst-node}

\begin{document}

\begin{pspicture}[showgrid=true](13,14)
\pnodes(2,10){A}(3,10){MIP}(3,12.5){LIP}(3,13){MIIP}(5,13){LIIP}
\pnodes(8,13){MIIIP}(8,8){MIVP}(14,8){LIIIP}(10,8){LIVP}(12,8){MVP}(12,3){d}
\pnodes(12,1){MVIP}(10,1){LVIP}(6,1){C}


\psset{mirrortype=extended, mirrordepth=0.2}


\begin{optexp}
    \optsource[innerlabel, compname = start](A)(MIP){Beam}
    \mirror[compname = mi, labelangle=45](A)(MIP)(LIP){$M_1$}
    \lens[compname = li, n=1.57](MIP)(LIP){$L_1$}

    \mirror[compname= mii, labelangle=-45](LIP)(MIIP)(LIIP){$M_{2}$}

    \lens[compname= lii, n=1.517](MIIP)(LIIP){$L_{2}$}

    \mirror[compname= miii, labelangle=-45](LIIP)(MIIIP)(MIVP){$M_{3}$}
    \mirror[compname= miv, labelangle=45](MIIIP)(MIVP)(LIIIP){$M_{4}$}

    \lens[compname= liii, n=1.517](MIVP)(LIIIP){$L_{3}$}

    \mirror[compname= mv, labelangle=-45](MIVP)(MVP)(d){$M_{5}$}
    \mirror[compname= mvi, labelangle=-45](d)(MVIP)(LVIP){$M_{6}$}


   \lens[compname= lensfour, n=1.517](MVIP)(LVIP){$L_{4}$}
   \optsource[innerlabel](C)(C){Comp.}
\end{optexp}
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=green!20!white}
\drawwidebeam[beamwidth=0.4, beaminsidelast]{1-5}
\drawwidebeam[loadbeampoints]{5-12}
\end{pspicture}

\end{document}

Responder1

Depurando sua configuração

pst-optexpoferece diferentes possibilidades de depuração:

  • Usando \psset{pswarning}você pode ativar avisos no nível Postscript. Para o seu exemplo, você recebe "Aviso pst-optexp: O feixe superior perdeu uma interface"
  • Por padrão pst-optexprespeita a abertura numérica dos componentes. Se um dos feixes externos não atingir a próxima interface, o desenho do feixe será interrompido. Com \psset{useNA=false}você pode desativar isso temporariamente para ver qual feixe está errado. Para sua configuração o resultado é

insira a descrição da imagem aqui

Você vê que o M3espelho é muito pequeno (ou o feixe é muito largo), então o caminho do feixe é interrompido.

Solução possível

Para adaptar o feixe às suas necessidades, você pode ajustar o índice de refração nde todas as lentes ou desenhar o feixe por partes para as partes paralela e de foco, separadamente.

A receita é a seguinte:

  1. Desenhe a primeira parte paralela com \drawwidebeam[beamwidth=0.4, stopinside]{1-3}, que traça o feixe até a segunda interface da primeira lente (desenha apenas até a primeira interface.
  2. Agora desenhe o feixe entre a primeira e a segunda lente com \drawwidebeam[loadbeampoints, beamdiv=-20, stopinside]{3-5}. Isto carrega os pontos finais da \drawwidebeamchamada anterior, mas permite ajustar a divergência do feixe.
  3. A partir da segunda lente, continue \drawwidebeam[loadbeampoints]carregando novamente os pontos finais do feixe anterior, mas continue com os raios paralelos.

E assim por diante.

\documentclass[pstricks,margin=12pt]{standalone} 
\usepackage{pst-optexp}

\begin{document}
\begin{pspicture}[showgrid=true](13,14)
\pnodes(2,10){A}(3,10){MIP}(3,12.5){LIP}(3,13){MIIP}(5,13){LIIP}
\pnodes(8,13){MIIIP}(8,8){MIVP}(14,8){LIIIP}(10,8){LIVP}(12,8){MVP}(12,3){d}
\pnodes(12,1){MVIP}(10,1){LVIP}(6,1){C}

\psset{mirrortype=extended, mirrordepth=0.2}
\psset{mirrorwidth=1.1}
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=green!20!white}
\begin{optexp}
    \optsource[innerlabel, compname = start](A)(MIP){Beam}
    \mirror[compname = mi, labelangle=45](A)(MIP)(LIP){$M_1$}
    \lens[compname = li](MIP)(LIP){$L_1$}
    \drawwidebeam[beamwidth=0.4, stopinside]{1-3}

    \mirror[compname= mii, labelangle=-45](LIP)(MIIP)(LIIP){$M_{2}$}
    \lens[compname= lii](MIIP)(LIIP){$L_{2}$}
    \drawwidebeam[loadbeampoints, beamdiv=-20, stopinside]{3-5}

    \mirror[compname= miii, labelangle=-45](LIIP)(MIIIP)(MIVP){$M_{3}$}
    \mirror[compname= miv, labelangle=45](MIIIP)(MIVP)(LIIIP){$M_{4}$}

    \lens[compname= liii](MIVP)(LIIIP){$L_{3}$}
    \drawwidebeam[loadbeampoints, stopinside]{5-8}

    \mirror[compname= mv, labelangle=-45](MIVP)(MVP)(d){$M_{5}$}
    \mirror[compname= mvi, labelangle=-45](d)(MVIP)(LVIP){$M_{6}$}
    \lens[compname= lensfour](MVIP)(LVIP){$L_{4}$}
    \drawwidebeam[loadbeampoints, beamdiv=-6.3, stopinside]{8-11}
    \optbox[innerlabel](C)(C){Comp.}
    \drawwidebeam[loadbeampoints]{11}{12}
\end{optexp}
\end{pspicture}

\end{document}

insira a descrição da imagem aqui

BTW: Compilar pst-optexp-setups com xelatexnão funciona corretamente.

informação relacionada