Electrowetting on dielectric
|
Classes | |
struct | ScratchData |
Public Member Functions | |
Charge (const Triangulation< dim > &tria, Material_Parameters ¶ms, const unsigned deg, const unsigned u_prec, const double ee, const double thres, const unsigned sweeps) | |
virtual | ~Charge () |
Public Attributes | |
AsFunction< dim > | get_charge |
The charge. | |
Protected Types | |
typedef IteratorGroup < 4, 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 | 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 & | conductivity |
Conductivity. | |
const double | lambda |
Coupling parameter. | |
TrilinosWrappers::PreconditionAMG::AdditionalData | prec_data |
Preconditioner (AMG) | |
TrilinosWrappers::PreconditionAMG | prec |
Preconditioner data. |
A convection diffusion equation to model the transport of charges:
with boundary condition
typedef IteratorGroup<4,typename hp::DoFHandler<dim>::active_cell_iterator> Charge< dim >::Iterator [protected] |
We group the iterators of this problem and the problems this one takes information from as follows:
Iterator[0]
: this. Iterator[1]
: Voltage. Iterator[2]
: Phase Field, from CahnHilliard. Iterator[3]
: Velocity Charge< dim >::Charge | ( | const Triangulation< dim > & | tria, |
Material_Parameters & | params, | ||
const unsigned | deg, | ||
const unsigned | u_prec, | ||
const double | ee, | ||
const double | thres, | ||
const unsigned | sweeps | ||
) |
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 spaces where the charge 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. |
virtual void Charge< 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 Charge< 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 Charge< dim >::ReinitPrec | ( | ) | [protected, virtual] |
Reinit the preconditioner
Implements Problem< dim >.
virtual void Charge< dim >::DoSolve | ( | SolverControl & | control | ) | [protected, virtual] |
Solve the system.
control | : Provides the maximal number of iterations and exit criterion. |
Implements Problem< dim >.
virtual void Charge< dim >::SetInitialData | ( | ) | [protected, virtual] |
Set the initial data
Implements Problem< dim >.
virtual void Charge< dim >::PreRefinementPreffix | ( | ) | [protected, virtual] |
Used to handle changes in the triangulation: Copy to the solution transfer
Implements Problem< dim >.
virtual void Charge< 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& Charge< dim >::conductivity [protected] |
TrilinosWrappers::PreconditionAMG::AdditionalData Charge< dim >::prec_data [protected] |
TrilinosWrappers::PreconditionAMG Charge< dim >::prec [protected] |
AsFunction<dim> Charge< dim >::get_charge |