


"""simple docstring"""

from math import log

from scipy.constants import Boltzmann, physical_constants

UpperCAmelCase__  							=300  # TEMPERATURE (unit = K)


def lowerCAmelCase_		(				UpperCamelCase__	: float				,   UpperCamelCase__	: float				,   UpperCamelCase__	: float				,   ):






 """simple docstring"""







 if donor_conc <= 0:
  raise ValueError("""Donor concentration should be positive""" )
 elif acceptor_conc <= 0:
  raise ValueError("""Acceptor concentration should be positive""" )
 elif intrinsic_conc <= 0:
  raise ValueError("""Intrinsic concentration should be positive""" )
 elif donor_conc <= intrinsic_conc:
  raise ValueError(
      """Donor concentration should be greater than intrinsic concentration""" )
 elif acceptor_conc <= intrinsic_conc:
  raise ValueError(
      """Acceptor concentration should be greater than intrinsic concentration""" )
 else:
  return (
      Boltzmann
      * T
      * log((donor_conc * acceptor_conc) / intrinsic_conc**2 )
      / physical_constants["electron volt"][0]
  )


if __name__ == "__main__":
       import doctest

       doctest.testmod()




"""simple docstring"""

from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


UpperCAmelCase__  							={"configuration_van": ["VAN_PRETRAINED_CONFIG_ARCHIVE_MAP", "VanConfig"]}


try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase__  							=[
           "VAN_PRETRAINED_MODEL_ARCHIVE_LIST",
           "VanForImageClassification",
           "VanModel",
           "VanPreTrainedModel",
       ]

if TYPE_CHECKING:
       from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_van import (
                  VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
                  VanForImageClassification,
                  VanModel,
                  VanPreTrainedModel,
              )

else:
       import sys

       UpperCAmelCase__  							=_LazyModule(__name__, globals()["__file__"], _import_structure)
