# Module: Electric :Name: mod_mupro_electric :Depends on: [mod_mupro_size](size.md), [mod_mupro_fft](fft.md) :Defined variables: None :Defined types: [type_mupro_ElectricContext](#type_mupro_ElectricContext) ## Defined Types ### type_mupro_ElectricContext #### Variables | Variable | Type | Dimension | Meaning | | :---------------: | :-------------: | :-------------: | ------------------------------------------------------------------------------------------- | | BC | int32 | - | Choice of boundary condition for the poisson solver,1 for open circuit, 2 for short circuit | | potential | real64, pointer | (Rn3,Rn2,Rn1) | Electric potential | | charge | real64, pointer | (Rn3,Rn2,Rn1) | Bound charge | | elec | real64, pointer | (3,Rn3,Rn2,Rn1) | Electric field (Ex,Ey,Ez) | | energy | real64, pointer | (Rn3,Rn2,Rn1) | Electric Energy | | filmScreenTop | real64 | - | Percentage of charge been screened on thin film surface | | filmScreenBot | real64 | - | Percentage of charge been screened on thin film substrate interface | | filmPotentialTop | real64,pointer | (Rn2,Rn1) | Epitaxial misfit strain $\epsilon_{11}$ in thin film setup  | | filmPotentialBot | real64,pointer | (Rn2,Rn1) | Epitaxial misfit strain $\epsilon_{22}$ in thin film setup  | | polarization | real64,pointer | (3,Rn3,Rn2,Rn1) | Epitaxial misfit strain $\epsilon_{12}$ in thin film setup  | | bulkElectricField | real64 | (3) | Bulk constraints, means stress if choiceElasBC=1, means strain if choiceElasBC=2 | | chargeRHS | real64,pointer | (Rn3,Rn2,Rn1) | Charge on the right hand side of the poisson equation  | #### Procedures ##### setup Link the user defined electric potential, electric field, charge etc. arrays to the corresponding array used in the library. Then, perform some necessary setup before actually solve the equation. > call electricContext%setup() ```{important} setup must be called before the solve subroutines. ``` ##### solve Solve the poisson equation, get the potential and electric field distribution from the charge and polarization distribution. This subroutine will solve the poisson equation based on the given constraints and update the electric potential and electric field in the context.