Re: [MPB-discuss] Computing energy in multiple objects

2016-09-02 Thread Adam Klimont

It does seem to work this way. Thanks Hector.
Adam

On 01/09/16 21:45, Hector Perez wrote:

I believe it works like:
(output-dpwr-in-objects band-func min-energy object1 object2 object3 
... objectn)


So for example:
(output-dpwr-in-objects
(combine-band-functions fix-efield-phase output-tot-pwr) .25
(make block (center 0 0 0) (material air) (size (* s4 (sqrt 3)) s4 
infinity) (e2 1 1) (e1 1 -1))
(make block (center 0 0 0) (material air) (size (* s4 (sqrt 3)) s4 
infinity) (e2 (/ 2 (sqrt 3)) (/ -1 (sqrt 3))) (e1 0 1))
(make block (center 0 0 0) (material air) (size (* s4 (sqrt 3)) s4 
infinity) (e2 (/ -1 (sqrt 3)) (/ 2 (sqrt 3))) (e1 1 0)))
gives me the total power for bands which have >25% of their electric 
field energy within a hexagonal region I specified using three 
overlapping blocks.


I hope this helps,
Hector

On Wed, Aug 31, 2016 at 11:08 AM Adam Klimont > wrote:


Hello,

How to compute the energy of a field in a supercell? Take e.g. MPB's
tutorial script for triangular rods:
https://github.com/stevengj/mpb/blob/master/examples/tri-rods.ctl.
I can
calculate the energy in one rod by invoking:

((output-dpwr-in-objects output-dpwr 0.001 (make cylinder (center
0 0 0)
  (radius 0.2) (height infinity)
(material (make dielectric (epsilon 12)))
)) 4)

But how to do it for all rods in the supercell? Making a list doesn't
work, as (output-dpwr-in-objects) doesn't work with this type of
argument:

ERROR: wrong type for argument type (list . geometric-object) in
compute-energy-in-object-list

Regards
Adam

___
mpb-discuss mailing list
mpb-discuss@ab-initio.mit.edu 
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss



___
mpb-discuss mailing list
mpb-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss

[MPB-discuss] Computing energy in multiple objects

2016-08-31 Thread Adam Klimont

Hello,

How to compute the energy of a field in a supercell? Take e.g. MPB's 
tutorial script for triangular rods: 
https://github.com/stevengj/mpb/blob/master/examples/tri-rods.ctl. I can 
calculate the energy in one rod by invoking:


((output-dpwr-in-objects output-dpwr 0.001 (make cylinder (center 0 0 0)
 (radius 0.2) (height infinity)
   (material (make dielectric (epsilon 12)))
   )) 4)

But how to do it for all rods in the supercell? Making a list doesn't 
work, as (output-dpwr-in-objects) doesn't work with this type of argument:


ERROR: wrong type for argument type (list . geometric-object) in 
compute-energy-in-object-list


Regards
Adam

___
mpb-discuss mailing list
mpb-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss