Sometimes I have to put text on a path

Saturday, May 24, 2008

Using DFT Molecular Orbital Energies to Model Electronic Transitions

J. Org. Chem., 73 (8), 2995 -3004, 2008. 10.1021/jo701676x S0022-3263(70)01676-6
Web Release Date: March 26, 2008

Copyright © 2008 American Chemical Society

Predicting the UV-Vis Spectra of Tetraarylcyclopentadienones: Using DFT Molecular Orbital Energies to Model Electronic Transitions of Organic Materials


Robert G. Potter and Thomas S. Hughes*

Department of Chemistry, Cook Physical Sciences Building, 82 University Place, University of Vermont, Burlington, Vermont 05405

thomas.s.hughes@uvm.edu

Received August 15, 2007

Abstract:

Tetraphenylcyclopentadienone, due to its intrinsically low HOMO-LUMO gap, has been suggested as a valuable repeat unit in conducting polymers for nanoscale electronics. The HOMO and LUMO of tetraphenylcyclopentadienone appear to be associated with the relevant orbitals of unsubstituted cyclopentadienone. Using previously developed carbonylative coupling reactions, a series of tetraarylcyclopentadienones was synthesized, accessing a range of substituents not previously available. The UV-vis spectra of these molecules were compared to their calculated wave functions and predicted transitions. A quantitative structure-activity relationship was discovered that may greatly simplify prediction of band gaps for oligomers and polymers built from these tetraarylcyclopentadienones.

Calculating predicting Ultraviolet-Visible Spectra

Calculating Ultraviolet-Visible Spectra
The ability to calculate the UV-Vis spectrum of a molecule can help in the interpretation of an
experimental spectrum, will show the orbitals involved in a given electronic transition, and can
also shed light on the electronic structure of the molecule.  The first step in the calculation is to
perform a geometry optimization.  Any of the four methods (molecular mechanics, ab initio,
semiempirical, or density functional theory) could be used for this.


Next, the ground state wavefunction is calculated.

This generates occupied (filled with two electrons each) and
unoccupied (virtual) molecular orbitals.  Molecular mechanics cannot be used for this step, since
no electrons or orbitals are used in this method.  Any of the other techniques could be used.
Next, a calculation is performed that mixes some of the virtual orbitals into the ground state
wavefunction while the geometry is held constant.  This process provides an approximation to
the energy of the excited electronic states at the fixed geometry of the ground state.  The
transition frequency is calculated by finding the difference between the excited state and ground
state energies.

---------------------

Since certain functional groups present in organic molecules absorb light at characteristic
wavelengths in the UV-Vis region, the technique can be used to qualitatively identify the
presence of these groups.  Tables of absorption data for various functional groups are available.
If the molecule of interest contains a conjugated system of double bonds, a set of simple rules,
called the Woodward-Fieser Rules, can be used to predict the wavelength of maximum
absorption (_max).  Many transition metal ion containing complexes absorb light in the visible
region of the spectrum.  The light absorbed causes electronic transitions of the d-electrons.
Different groups attached to the metal will change the electronic energy levels, thus changing the
color (value of _max).  Quantitative analysis of the electronic structure of inorganic molecules can
be performed in this manner.

spectra UV-vis gaussian

Gaussian is a powerful, command-line driven,
computational chemistry application including
both ab initio and semi-empirical methods.

It is not included in Chem3D (the Gaussian menu option
appears gray), but can be purchased directly from
CambridgeSoft.
Chem3D 11 provides an interface for Gaussian
calculations. The model in the Chem3D window
transparently provides the data for creating Gauss-
ian jobs or running Gaussian calculations. Version
11.0 supports all Gaussian calculations.
The Gaussian interface offers several Gaussian fea-
tures, including prediction of NMR, UV, IR, and
Raman spectra.

Using Gaussian, Chem & Bio 3D can predict
NMR, IR/Raman, and UV/VIS spectra. To calcu-
late a spectrum, go to Calculations>Gaussian Interface
and select the spectrum you want.
NOTE: Depending on your computer’s speed and memory,
and the size of the model, Gaussian calculations may take
several minutes.
TIP: Run a minimization before predicting spectra. MM2
is faster than Gaussian minimization, and is usually ade-
quate. Gaussian may fail to produce a spectrum if the model
is not at a minimum energy state.

Viewing Spectra
To view the predicted spectra, Go to View>Spec-
trum Viewer. For each prediction that you run on a
given compound, a new tab will open in the Spec-
trum Viewer.

--------------

he Gaussian menu in Chem3D was designed for a Gaussian Mac application well before MacOS X that was never released by Gaussian. Gaussian has released a version of Gaussian for MacOSX (Gaussian98M). Chem3D was not designed for this version of Gaussian and will not directly interface to it. If you do have Gaussian 98M, then you can use Chem3D to create input files that you can run with G98M. You can also use G98M to create cube files for visualization of surfaces in Chem3D.

---------------

http://www.gaussian.com/g03_plat.htm

http://www.gaussian.com/g_brochures/g03_on_macs.htm

Friday, May 23, 2008

MeshLab

MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes.


------

http://meshlab.sourceforge.net/


------
The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes.

The system is heavily based on the VCG library developed at the Visual Computing Lab of ISTI - CNR, for all the core mesh processing tasks and it is available for Windows, Linux (src) and MacOSX (intel only).


The MeshLab system started in late 2005 as a part of the FGT course of the Computer Science department of University of Pisa and most of the code (~15k lines) of the first versions was written by a handful of willing students. The following years FGT students have continued to work to this project implementing more and more features. The proud MeshLab developers are listed below.
This project have been supported by the European Networks of Excellence Epoch and (partially) by Aim@Shape

Remember that, whenever you use MeshLab in a official/commercial project or in any kind of research, you should:


  • Explicitly cite in your work that you have used MeshLab, a tool developed with the support of the Epoch NOE,
  • Post a couple of lines in the users' forum describing the project where MeshLab was used.

Adopted License, acknowlegments and other legal issues are detailed here.


Features


  • Interactive selection and deletion of portion of the mesh. Even for large models.
  • Painting interface for selecting, smoothing and coloring meshes.
  • Input/output in many formats:
    • import:PLY, STL, OFF, OBJ, 3DS, COLLADA, PTX
    • export:PLY, STL, OFF, OBJ, 3DS, COLLADA, VRML, DXF
    • Point Clouds support. Now 3D files that are composed only by points are well supported in PLY and OBJ format.
    • U3D support; MeshLab is the first open source tool to provide direct conversion of 3D meshes into the U3D format. Now you can create pdf, like this with 3D objects with just MeshLab and LaTeX.

  • Mesh Cleaning Filters:
    • removal of duplicated, unreferenced vertices, null faces
    • removal of small isolated components
    • coherent normal unification and flipping
    • erasing of non manifold faces
    • automatic filling of holes

  • Remeshing filters:
    • High quality edge collapse simplification (even with texture coords preservation)
    • Surface reconstruction from points (a ball pivoting variant)
    • Subdivision surfaces (loop and butterfly)
    • Feature preserving smoothing and fairing filters

  • Various Colorization/Inspection filters
    • Gaussian and mean curvature
    • Border edges, geodesic distance, from borders
    • Non two-manifold edges and vertices
    • Self intersecting faces
    • Ambient Occlusion. An ambient occlusion field can be computed and stored per vertex

  • Interactive Mesh Painting
    • Color Painting
    • Selection paint
    • Smoothing

  • Measuring tool. You can take linear measures between points of the displayed meshes
  • Slicing tool. A new tool that allows to export planar sections of a mesh in SVG format
  • 3D Scanning tools
    • Alignment ICP based range map alignment tool, for putting meshes into the same reference space.
    • Merging of multiple meshes the Poisson surface reconstruction source code (kindly provided by by Michael Kazhdan and Matthew Bolitho) have been included in.

  • OpenGL Shader based rendering (write your own shader!) compatible with Typhoon Lab's Shader Designer
  • Large rendering (up to 16k x 16k) for high quality printing
  • The history of the all performed cleaning/editing actions can be re-played on different meshes or saved and for archival purposes.
  • Extendible plugins based architecture, writing new mesh processing functions, colorization filters and support for different file formats is quite easy! Look at PlugIn Samples

Bug reports and feature requests should be filed using the sourceforge service ->
General questions can be posted on the help public forums

STL openSource applications

----------openSource

MeshLab is an open source Windows and Linux application for visualizing, processing and converting three dimensional meshes to or from the STL file format.

MeshLab Homepage

MeshLab, started in late 2005, is a free and open-source general-purpose mesh processing software program; the system is aimed to help the processing of the typical not-so-small unstructured models that arise in the pipeline of processing of the data coming from 3D scanning. MeshLab is oriented to the management and processing of unstructured large meshes and provides a set of tools for editing, cleaning, healing, inspecting, rendering and converting these kinds of meshes.

The automatic mesh cleaning filters includes removal of duplicated, unreferenced vertices, non manifold edges and null faces. Remeshing tools support high quality simplification based on quadric error measure, various kinds of subdivision surfaces and two surface reconstruction algorithms from point clouds based on the ball pivoting technique and on the Poisson surface reconstruction approach. For the removal of noise, usually present in acquired surfaces, MeshLab supports various kinds of smoothing filters and tools for curvature analysis and visualization.

MeshLab also includes an interactive direct paint-on-mesh system that allows to interactively change the color of a mesh, to define selections and to directly smooth out noise and small features.

Version 1.1.0 also includes a tool for the registration of multiple range maps based on the Iterative Closest Point algorithm.

MeshLab is available for most platforms, including Windows, Linux and Mac OS X intel only. The system support input/output in the following formats: PLY, STL, OFF, OBJ, 3DS and COLLADA.

------------Art of Illusion

http://en.wikipedia.org/wiki/Art_of_Illusion

Art of Illusion is a free, open source 3D modelling and rendering studio. It is written entirely in Java, and should be usable on any Java Virtual Machine which is compatible with J2SE 1.4 or later.

File Handling


Mac OS X


Art of Illusion requires Mac OS X 10.4 or later with all software updates installed.
  1. Download the Art of Illusion installer.
  2. Double-click it to mount the disk image, then copy the "Art of Illusion" folder to your Applications folder.
  3. (optional) Download the Java Media Framework. Select the "Cross-platform Java" version. After you download it, find the file jmf.jar and move it to /Library/Java/Extensions. The rest of the downloaded files are not needed, and can be deleted. (This step is not required, and most of Art of Illusion will work normally without JMF. You will not be able to save animations in Quicktime format, however, if it is not installed.)
  4. To launch the program, double-click the Art of Illusion icon.

------------------

RepRap is an OpenSource project that uses STL file input and generates solid objects as output.

On peut utiliser des parties de ce projet pour la gestion et modif des STL.

------------------
  • The STL Format - Standard Data Format for Fabbers: The STL Format
  • How to Create an STL file Guide to exporting STL files from various CAD packages (courtesy of ProtoCAM)
  • SolidView SolidView is a commercial STL manipulation package that has a Lite version available (under provision of a business email address) for STL viewing. http://www.solidview.com/svlite.html
  • Freesteel with a web-interface where you can upload an STL file and render it into an image in your browser.
  • ADMesh is a GPLed text-based program for processing triangulated solid meshes, and reads and writes the STL file format.

--------------------------------

  • remarque: Mathematica sait lire du STL.



-------------------------------

SolidView lite



Format

Extension

Description

Version Up to

Lite

Pro
ACIS/SAT .sat, .sab ACIS/SAT Data v18 - Yes*
Assembly Component Definition .acd SolidView Any - Yes
Autodesk DXF .dxf 2004 - Yes
Autodesk DWG .dwg 2004 - Yes
Catia V4 .cat, .exp, .model Native Catia V4 Data V4 - Yes*
Catia V5 .catpart, .catproduct Native Catia V5 Data R7 to R17 - Yes*
I-Deas Web Access .mca, .idi I-Deas MCA v11NX - Yes*
Initial Graphics Exchange Specification .igs, .iges IGES 3D Any - Yes*
Object File .obj Any Yes Yes
Parasolid .x_t, .x_b Parasolid text and binary Data v19 - Yes*
Pro/Engineer .prt, .asm Native PTC Pro/E Data WildFire 4 - Yes*
SolidEdge .par, .dft., .asm, .psm Native SolidEdge Data v20 - Yes*
Solid File Exchange .SFX SolidView Any Yes Yes
SolidView Solid .sv SolidView Any - Yes
SolidWorks .sldprt, .sldasm Native SolidWorks Data 2008 Yes Yes
Step .step Native PTC AP203/AP214 - Yes*
Stereolithography .stl Any Yes Yes
Unigraphics .prt Native UG Data
parts and assemblies
NX 5 - Yes*
VDAFS .vda Any - Yes*
VRML .wrl 1.0 / 2.0 Yes Yes



*Optional add on for SolidView/Pro. Click here for pricing.



tFeaure
SolidView/Lite SolidView SolidView/Pro SolidView/Pro RP
All Versions Have Fully Functional Demos N/A Free for 15 days Free for 15 days Free for 15 days
Description FREE Low Cost Markup Import CAD data Import CAD data &
Rapid Prototyping Tools
View STL, VRML, OBJ, SolidWorks Yes Yes Yes Yes
Print STL, VRML, OBJ, SolidWorks Yes Yes Yes Yes
Measure STL, VRML, OBJ, SolidWorks - Yes Yes Yes
Modify STL, VRML, OBJ - Yes Yes Yes
Save STL, VRML, OBJ - - Yes Yes
View, Print, Measure, Modify, and Save DXF - - Yes Yes
View SFX files Yes Yes Yes Yes
Print SFX files Yes Yes Yes Yes
Measure SFX files Yes Yes Yes Yes
Combine 3D data - Yes Yes Yes
Edit/Save SFX files - Yes Yes Yes
Replay SFX 3D Slide Shows Yes Yes Yes Yes
Create new SFX files - - Yes Yes
Modify SFX data Yes Yes Yes Yes
Publish SFX files - - Yes Yes
Export section data - - Yes Yes
View 2D raster files (tif, bmp, jpeg, etc.) - - Yes Yes
View 2D vector files (cgm, hpgl, wmf, etc.) - - Yes Yes
Optional CAD Interfaces - - Yes Yes
Optional Network Licensing - - Yes Yes
Move, copy and scale 3D data - - Yes Yes
Verify STL data - - Yes Yes
Repair STL data - - - Yes
Split STL data - - - Yes
Shell STL data - - - Yes
Create drain holes - - - Yes
Automatic RP part layout - - - Yes
Manual RP part layout - - - Yes
RP build time estimator - - - Yes
Optional automatic RP support generator - - -

--------------------------------

STL interchanging data between CAD/CAM system

Remarque:

There are many other file formats capable of encoding triangles available, such as VRML, DXF, but they have the disadvantage that it's possible to put things other than triangles into it, and thus produce something ambiguous or unusable.

STL History of use

History of use


Stereolithography machines are basically 3D printers that can build any volume shape as a series of slices. Ultimately these machines require a series of closed 2D contours that are filled in with solidified material as the layers are fused together.

The natural file format for such a machine would be a series of closed polygons corresponding to different Z-values. However, since it's possible to vary the layer thicknesses for a faster though less precise build, it seemed easier to define the model to be built as a closed polyhedron that could be sliced at the necessary horizontal levels.

The STL file format appears capable of defining a polyhedron with any polygonal facet, but in practice it's only ever used for triangles, which means that much of the syntax of the file is superfluous. It is also the case that the value of the normal shouldn't be necessary, since that is a direct calculation from the coordinates of the triangle with the orientation being controlled by the right hand rule.

STL files are supposed to be closed and connected like a combinatorial surface, where every triangular edge is part of exactly two triangles, and not self-intersecting. Since the syntax does not enforce this property, it can be ignored for applications where the closedness doesn't matter.

The closedness only matters insofar as the software which slices the triangles requires it to ensure that the resulting 2D polygons are closed. Sometimes such software can be written to clean up small discrepancies by moving endpoints of edges that are close together so that they coincide. The results are not predictable, but it is often sufficient to get the job done.

Obviously, there is much scope for "improvement" of this file format, which in its present form is nothing more than a listing of groups of 9 (or 12 if you care about the normals) floating point numbers embedded in some unnecessary syntax. Since each vertex is on average going to be used in six different triangles, considerable savings in memory could be obtained by listing all the points in a table at the beginning of the file, and concluding with a list of triangle definitions composed of triplets of integers that referenced this table.

However, for the purpose of generating a single contour slice using a very lightweight piece of software on a computer with little memory, this format is perfect since it can be processed in one pass regardless of file size.


Use in other fields.


Many Computer-aided design systems are able to output the STL file format among their other formats because it's quick and easy to implement, if you ignore the connection criteria of the triangles. Many Computer-aided manufacturing systems require triangulated models as the basis of their calculation.

Since an STL file output, of a sorts, is almost always available from the CAD system, it's often used as a quick method for importing the necessary triangulated geometry into the CAM system.

It can also be used for interchanging data between CAD/CAM systems and computational environments such as Mathematica.

Once it works, there is very little motivation to change, even though it is far from the most memory and computationally efficient method for transferring this data. Many integrated CAD and CAM systems transfer their geometric data using this accidental file format, because it's impossible to go wrong.

There are many other file formats capable of encoding triangles available, such as VRML, DXF, but they have the disadvantage that it's possible to put things other than triangles into it, and thus produce something ambiguous or unusable.

STL binary

Binary STL


Because ASCII STL files can become very large, a binary version of STL exists. A binary STL file has an 80 character header (which is generally ignored - but which should never begin with 'solid' because that will lead most software to assume that this is an ASCII STL file). Following the header is a 4 byte unsigned integer indicating the number of triangular facets in the file. Following that is data describing each triangle in turn. The file simply ends after the last triangle.

Each triangle is described by twelve floating point numbers: three for the normal and then three for the X/Y/Z coordinate of each vertex - just as with the ASCII version of STL. After the twelve floats there is a two byte unsigned 'short' integer that is the 'attribute byte count' - in the standard format, this should be zero because most software does not understand anything else.

Floating point numbers are represented as IEEE floating point numbers and the endianness is assumed to be little endian although this is not stated in documentation.

--------

format parasolid

xt_format_oct06

interactive physics

http://www.design-simulation.com/IP/simulationlibrary/flash-simulations.php

Finite Element Modeling of the Lamina Cribrosa of the Optic Nerve Head in Glaucoma

http://www.mscsoftware.com/university/view_success_story.cfm?storyId=16

Finite Element Modeling of the Lamina Cribrosa of the Optic Nerve Head in Glaucoma


The FE models shown in this report were constructed and analyzed by the Ocular Biomechanics Laboratory, led by Dr. J. Crawford Downs, using 3D histomorphometric data from the Optic Nerve Head Research Laboratory, directed by Dr. Claude Burgoyne. Both laboratories are part of the Devers Eye Institute at Legacy Health System, which is based in Portland, Oregon, USA. This work is funded by the National Institutes of Health grant EY011610.

Ocular Biomechanics Laboratory,
Devers Eye Institute, Portland, OR
J Crawford Downs, Ph.D. (Director)
Michael D. Roberts, Ph.D.
Ian A. Sigal, Ph.D.
Yi Liang, Ph.D.
Michael Girard, M.S.E.


Optic Nerve Head Research Laboratory,
Devers Eye Institute, Portland, OR
Claude F. Burgoyne, MD (Director)
Juan Reynaud, M.S.E.
Hongli Yang, M.S.E.
Jonathan Grimm, B.S.


Glaucoma is a disease of the eye that gradually and relentlessly narrows the field of vision. If left untreated, this progression of damage can culminate in total blindness. Glaucoma is the second leading cause of blindness worldwide, and despite extensive and prolonged research efforts, the mechanisms that initiate and fuel progression of the disease are not well understood. It is known, however, that interventions to reduce the pressure load within the eye – lowering intraocular pressure (IOP) – are the only therapies clinically proven to be effective in slowing or halting glaucomatous progression. Still, the relationship between IOP and glaucoma is controversial because not all patients with elevated IOP develop glaucoma, nor are all patients with low or normal IOP immune to the disease. Thus, there is a population of "susceptible" patients who must be identified and treated at the earliest possible time in the disease process to minimize non-recoverable vision loss.

The prevailing evidence implicates a specific region in the back of the eye, the optic nerve head, as the site of glaucomatous damage. This is the region where the long axonal processes of the cells of the retina converge and pass through the wall of the corneo-scleral shell to form the optic nerve, the structure that conveys visual information to the brain. Within the optic nerve head there is a load-bearing fenestrated connective tissue network called the lamina cribrosa (LC) that spans the opening in the corneo-scleral envelope through which the axon bundles pass. This porous network of connective tissue beams is vascularized (i.e., most individual, load-bearing laminar beams enclose a capillary) with astrocytic cells residing on the surfaces of the beams to help maintain the integrity of their collagenous extracellular matrix and support the metabolic needs of the adjacent axon bundles.

One of the aims of our research program is to characterize the mechanical environment of the connective tissues of the posterior scleral shell and LC at the macro- and micro scales. Through these efforts, we hope to relate the global effect of IOP variation to the local mechanical environment of the connective tissue beams in the LC, and eventually relate these quantities to subsequent changes in tissue composition, cellular proliferation and activity, and capillary perfusion and blood flow.

To address the role of biomechanics in the development of glaucoma, our laboratories have developed a technique to serially reconstruct the complex connective tissue microarchitecture of the LC using a microtome-based block face imaging method. An example of such a rendered 3D reconstruction is shown in Figure 1. The geometries from these 3D reconstructions form the basis of our multi-scale finite element analyses of the posterior eye and LC.

We utilize MSC/PATRAN in the construction of our finite element models and for visualization of finite element analysis results. The geometry and meshing tools available in PATRAN allow us to construct models which respect the anatomic fidelity of individual-specific eye models (e.g., thickness variations in different regions of the eye) and the post-processing tools help us to critically inspect results to help guide our research efforts. We also harness the power of the PCL programming language to automate various model building tasks which routinely occur in our data pipeline.

As shown in Figure 1, the microarchitecture of the LC is extremely complex and inhomogeneous. To account for this complexity within our FE models, we have adopted a continuum-based approach to model the posterior pole of the eye such that assignment of material properties within the LC elements is based on local microarchitectural information from the 3D reconstruction (Figure 2). The displacement results from this continuum analysis (Figure 3) are then used to apply displacement boundary conditions to detailed microFE models of subregions of the LC (Figure 4). When these microFE models are analyzed, the resultant stresses and strains at the beam level exhibit a great deal of spatial complexity (Figure 5). We hope to utilize this multi-scale FEA approach to correlate characteristics of load transmission and strain within the LC with experimentally and histologically measured indicators of glaucomatous progression.

Figure 1. An anatomic geometry of the posterior half of the eye with a close up view of the optic nerve head and surrounding structures. Within the optic nerve head, there is a porous, load-bearing connective tissue called the lamina cribrosa (LC) that spans the scleral canal. Axon bundles from the retina converge at the optic nerve head, turn, and pass through the LC on their way to the brain. The LC is believed to be the primary site of axonal damage in glaucoma, but the specific mechanism of insult is unclear. We are using biomechanical engineering approaches to characterize the mechanical environment within the connective tissues of the LC to better understand how load bearing at this site might relate to the cascade of injury leading to glaucomatous vision loss.

Figure 2. The portion of the posterior pole continuum finite element model corresponding to the optic nerve head is aligned with the 3D voxel-based reconstruction of the LC so that the specific tissue microarchitecture can be associated with each finite element. Orthotropic material properties for each parent LC continuum element are calculated from the enclosed LC tissue microarchitecture using a fabric tensor-based approach.

Figure 3. A finite element model of the posterior pole of the eye is constructed with microarchitecture-dependent orthotropic material properties assigned to the region corresponding to the lamina cribrosa. Here, we show the displacement field within the LC elements due to an IOP elevation of 30mmHg. Note that the nonuniform thickness of model and the nonuniform material property assignment within the lamina cribrosa produces an asymmetric displacement in the region of interest.

Figure 4. A 20-noded hexahedral continuum element from the LC region of the continuum level model shows the displacement field within that particular element (left). We use the shape functions of the 20-node hexahedral elements to transfer the solved displacements from a homogenized continuum level analysis onto a detailed microFE model (right) where they serve as boundary conditions for a subsequent analysis. Note that the microFE model has been rotated to show the applied displacements on two faces corresponding to the right and bottom faces of the parent continuum element.

Figure 5. The applied displacement boundary conditions (right) lead to the microFE solutions shown here. On the left, the displacement field across the microFE model mimics the continuum level solution for the parent element (left). On the right, the von Mises stress within the microFE model shows the complexity of the mechanical environment to which the connective tissue and resident cell populations are exposed.