conspire/constitutive/electrical/dielectric/
mod.rs1#![doc = include_str!("doc.md")]
6
7#[cfg(feature = "doc")]
8pub mod doc;
9
10#[cfg(test)]
11pub mod test;
12
13mod linear;
14
15use crate::{
16 constitutive::{ConstitutiveError, diffusion::Diffusion, electrical::Electrical},
17 mechanics::{ElectricDisplacement, ElectricDisplacementTangent, ElectricField},
18 units::Charge,
19};
20
21pub use linear::Linear;
22
23pub trait Dielectric
25where
26 Self: Electrical + Diffusion<Balance = Charge>,
27{
28 fn electric_displacement(
30 &self,
31 potential_gradient: &ElectricField,
32 ) -> Result<ElectricDisplacement, ConstitutiveError> {
33 self.flux(potential_gradient)
34 }
35 fn electric_displacement_tangent(
37 &self,
38 potential_gradient: &ElectricField,
39 ) -> Result<ElectricDisplacementTangent, ConstitutiveError> {
40 self.tangent(potential_gradient)
41 }
42}
43
44impl<C> Dielectric for C where C: Electrical + Diffusion<Balance = Charge> {}