Electrowetting on dielectric
|
Classes | |
struct | ScratchData |
Public Member Functions | |
Voltage (const Triangulation< dim > &tria, Material_Parameters ¶ms, const unsigned deg, const unsigned u_prec, const double ee, const double thres, const unsigned sweeps, const TestCase testcase) | |
virtual | ~Voltage () |
Public Attributes | |
AsFunction< dim > | get_voltage |
Protected Types | |
typedef IteratorGroup < 3, typename hp::DoFHandler < dim >::active_cell_iterator > | Iterator |
Protected Member Functions | |
virtual void | AssembleSystem (std::vector< AsFunction< dim > * > &data, const double time, const bool m_threaded=true) |
void | AssembleCell (const Iterator Its, ScratchData &scratch, typename Problem< dim >::PerTaskData &data) |
virtual void | SetupDoFsSuffix () |
virtual void | ReinitPrec () |
virtual void | DoSolve (SolverControl &control) |
virtual void | SetInitialData () |
virtual void | PreRefinementPreffix () |
virtual void | PostRefinementSuffix (const std::vector< TrilinosWrappers::Vector > &sol_tmp) |
Protected Attributes | |
const material_function & | epsilon |
Permitivity. | |
const double | epsilon_plate |
Permittivity of the plates. | |
Vbc< dim > | volt |
boundary conditions | |
FunctionMap< dim >::type | BCs |
boundary indicators | |
TrilinosWrappers::PreconditionAMG | prec |
Preconditioner (AMG) | |
TrilinosWrappers::PreconditionAMG::AdditionalData | prec_data |
Preconditioner Data. |
An elliptic equation that models the electric potential:
with boundary conditions
where
with a constant that denotes the permittivity at the plates.
typedef IteratorGroup<3, typename hp::DoFHandler<dim>::active_cell_iterator> Voltage< dim >::Iterator [protected] |
We group the iterators of this problem and the problems this one takes information from as follows:
Voltage< dim >::Voltage | ( | const Triangulation< dim > & | tria, |
Material_Parameters & | params, | ||
const unsigned | deg, | ||
const unsigned | u_prec, | ||
const double | ee, | ||
const double | thres, | ||
const unsigned | sweeps, | ||
const TestCase | testcase | ||
) |
Copy the provided parameters to the members
tria | : A reference to the mesh where the problem will live. |
params | : The collection of material parameters. |
deg | : The polynomial degree for the finite element space where the voltage is defined. |
u_prec | : How often we update the preconditioner. |
ee | : The accuracy to which we iteratively solve the problem. |
thres | : The aggregation threshold for the AMG preconditioner. |
sweeps | : The number of smoothing steps the AMG preconditioner must perform. |
testcase | : The testcase. Used to construct a suitable boundary condition. |
virtual void Voltage< dim >::AssembleSystem | ( | std::vector< AsFunction< dim > * > & | data, |
const double | time, | ||
const bool | m_threaded = true |
||
) | [protected, virtual] |
Assemble the system matrix and right hand side for the current status of the problem
data | : The views of the other problems this one needs information from to be able to assemble.
|
time | : The current time. |
m_threaded | : flag that indicates if the assembly should be done using multithreading. |
Implements Problem< dim >.
void Voltage< dim >::AssembleCell | ( | const Iterator | Its, |
ScratchData & | scratch, | ||
typename Problem< dim >::PerTaskData & | data | ||
) | [protected] |
Assemble the local problems.
Its | : The cell iterators for the current problem and the data. |
scratch | : The scratch data. |
data | : The per task data. |
virtual void Voltage< dim >::SetupDoFsSuffix | ( | ) | [protected, virtual] |
Apply boundary conditions.
Reimplemented from Problem< dim >.
virtual void Voltage< dim >::ReinitPrec | ( | ) | [protected, virtual] |
Reinitialize the preconditioner
Implements Problem< dim >.
virtual void Voltage< dim >::DoSolve | ( | SolverControl & | control | ) | [protected, virtual] |
Solve the system
control | : Provides the maximal number of iterations and exit criterion. |
Implements Problem< dim >.
virtual void Voltage< dim >::SetInitialData | ( | ) | [protected, virtual] |
Set the initial value of the solution
Implements Problem< dim >.
virtual void Voltage< dim >::PreRefinementPreffix | ( | ) | [protected, virtual] |
Used to handle changes in the triangulation: Copy to the solution transfer
Implements Problem< dim >.
virtual void Voltage< dim >::PostRefinementSuffix | ( | const std::vector< TrilinosWrappers::Vector > & | sol_tmp | ) | [protected, virtual] |
Used to handle changes in the triangulation: Copy from the solution transfer
Implements Problem< dim >.
const material_function& Voltage< dim >::epsilon [protected] |
const double Voltage< dim >::epsilon_plate [protected] |
FunctionMap<dim>::type Voltage< dim >::BCs [protected] |
TrilinosWrappers::PreconditionAMG Voltage< dim >::prec [protected] |
TrilinosWrappers::PreconditionAMG::AdditionalData Voltage< dim >::prec_data [protected] |
AsFunction<dim> Voltage< dim >::get_voltage |