Pages

Affichage des articles dont le libellé est structure. Afficher tous les articles
Affichage des articles dont le libellé est structure. Afficher tous les articles

Cristallographie, structure d'un crystal : CrAs sujet

mardi 8 avril 2014




Bonjour, j'étudie actuellement à Oslo et j'ai un rapport à rendre. Je planche dessus depuis plusieurs semaines déjà. Mon professeur m'a dit que mes réponses étaient fausses et qu'il ne pouvait pas accepté mon rapport. J'ai besoin d'aide s'il vous plaît.
Merci par avance de votre aide!

Task 1 – Crystal structures, crystallography and chemical bonding

CrAs (chromium arsenide) crystallises with MnP-type structure. MnP-type structure can be described as a deformed NiAs-type structure.

CrAs has unit cell dimensions a = 5.549 Å, b = 3.461 Å, c = 6.208 Å, and is described with the space group Pnma.

Relative atomic positions for CrAs are:

Cr in 4c: (x, ¼, z), with x = 0.007 and z = 0.200
As in 4c: (x, ¼, z), with x = 0.200 and z = 0.577

Information given in “International Table of Crystallography” for space group no. 62 (Pnma) can be found on Fronter or by searching the internet.

a) Describe the space group symbol and its corresponding point group. Also, give the crystal system.

b) Sketch the Bravais lattice for CrAs as a projection on the ac-plane.

c) Name the other types of lattices that exist and give the number of lattice points per unit cell for each lattice. Feel free to make sketches.

d) Draw the crystal planes described with Miller indices (101) and (102) projected on the ac-plane. Draw at least three parallel planes in the figure.

e) Show, with the help of a stereographic projection, the number of general positions generated for the corresponding point group of Pnma. You can use the additional information in the appendix. Also, give the number of equivalent atoms that will be generated in the unit cell when they are described with a general position in the space group Pnma.

f) Calculate the relative atomic coordinates of all the atoms in the unit cell for CrAs, and sketch the crystal structure as a projection on the ac-plane. Note; include atoms inside, and also those right outside the unit cell of your drawing (the last one is done to more easily being able to identify important structural features, coordination, and much more).

g) Look at the sketch in f). For CrAs there are several relatively short Cr-Cr distances. Indicate on your figure (for example with bold lines between the atoms) where these distances are, and then calculate the bonding length for these relatively short Cr-Cr distances (2 + 2). The Cr-As distances are in the size order of 2.5 Å.

h) Evaluate the bond type in CrAs based on the sketch(es) you have made and the following information:

Electron negativity: Cr: 1.66, As: 2.18
Metallic radius Cr: 1.17 Å
Ionic radius Cr3+: 0.76 Å, As3−: 1.4 Å
Covalent radius Cr: 1.20 Å, As: 1.25 Å

Metallic chromium (bcc) has a Cr-Cr distance of 2.5 Å.

i) What types of interstitial positions can you find in the NiAs-type structure?

j) On the basis of what you know about the NiAs-type structure, discuss whether or not the non-stoichiometric composition Cr1.10As can exist.




Créer un tableau dynamique à 2 dimensions dans une structure en C99. sujet

jeudi 27 mars 2014




Bonjour, :lol:

Tout est dans le titre, ou presque.

Je suis sous Windows 8.1, IDE Code::Blocks 13.12 et je m'initie doucement au C et à la bibliothèque SDL 2.0.

Je suis en train d'essayer de retranscrire un Labyrinthe, que j'avais fait et qui fonctionne sous wxLua.

Mais là n'est pas le problème.

Pour le moment, je souhaiterais pouvoir créer une table dynamique à 2 dimensions dans une structure.

Mon compilateur utilise le C99, qui si j'ai bien compris me permet de ne pas utiliser "malloc".

Si je déclare mon tableau dynamique 2 dimensions dans une fonction (pas dans la structure), ça fonctionne.

Si je déclare un tableau dynamique à 1 dimension dans la structure, ça fonctionne.

A deux dimensions, ça plante, pas à la compilation mais au lancement du programme.

Dans ma structure j'ai bien défini mon tableau avec 2 étoiles: **t_cases;

Je définis bien ma variable de structure, j'appelle sans problème les autres variables.

Je ne sais plus où chercher... :aie:

Un petit bout de code, peut-être?


Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Dans main.h

typedef struct s_labyrinthe s_labyrinthe;
struct s_labyrinthe
{
... ... ...
Uint16 **t_cases;
.... .... ....
};

Dans le main
int main(int argc, char *argv[])
{
s_labyrinthe data; // définition de la variable de structure

// définition des variables lignes colonnes.
Uint16 xCases = data.Longueur - data.dx;
Uint16 yCases = data.Largeur - data.dy;

data.t_cases[xCases][yCases]; // dans cette exemple je ne vais pas plus loin, c'est la que ça plante...
... ... ...

return 0;
}



Merci pour toute l'aide que vous pourrez m'apporter et bonne journée à vous.


Claude.




Effacer et détruire une std::list de pointeurs sur une structure sujet




Bonjour,

Je cherche le moyen de supprimer les éléments d'une std::list et de libérer la mémoire associée.
J'ai testé plusieurs moyens mais la mémoire n'est jamais libérée. :aie:
La structure utilisée contient des membres de type WCHAR de taille fixe.


Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

MASTRUCTURE * test3 ;
std::list<MASTRUCTURE *> test2;

for(int i = 0 ; i!= 1000 ;++i)
{
test3 = new MASTRUCTURE ();
test2.push_back(test3);
}


std::list<MASTRUCTURE *>::iterator itDeb1 = test2.begin();
while (itDeb1 != test2.end ())
{
delete (*itDeb1);
itDeb1 = test2.erase (itDeb1);
}


Merci d'avance,
Antoine




Table SQL server liée dans Access 2010 - Mise àjour structure sujet

jeudi 30 janvier 2014




Bonjour,

1- Nous avons une BD MicroSoft Access 2010

2- Et des tables SQL SERVER y étant liées.

3- La table source possède un champ de type VarChar et de taille 30 qui a passé à 35. Dans Access, cette table liée est de type TEXTE avec une taille de 30.

4- Je veux donc que notre champ de type TEXTE dans notre table Access (étant liée) reflète notre champ de table source SQL Server.

5- Pour cela, je vais dans le mode CRÉATION de cette table Access et en partant je reçois le message suivant:
"La table 'dbo_NomTable" est une tabnle liée qui ne peut pas être modifiée. L'ajout ou la suppression de champs, ainsi que la modification de leurs proprités ou de types de données doivent s'effectuer dans la base de données source. Voulez-vous ouvrir la tabla malgré tout ?"

6- Je clique sur OUI. Je clique bouton droit de souris et sélectionne "GESTIONNAIRE de tables liées" et "sélectionne tout" et sur "OK".

7- Je reçois donc le message de confirmation "Toutes les attaches sélectionnées ont été mises à jour avec SUCCÈS"

8- Je sauvegarde et ferme la BD Access 2010.

9- Je retourne dedans et je vais ensuite vérifier les propriétés du champ en question mais la taille est toujours à 30.

QUESTION: Ais-je besoin de faire de quoi avec le ODBC qui est configuré sur mon poste ? Ais-je oublié quelconque étape ?

Merci d'avance de tout feed-back sur ce !




Utilisation d'une maccro pour initialiser une structure sujet

mercredi 29 janvier 2014




Bonjour,

Voici mon problème: je souhaite utiliser une maccro pour initialiser une structure.

Je m'explique, ci dessous le code qui initialise une structure de manière "classique":

Code:


unsigned char Tableau_Vert[]={1,6,5};
unsigned char Tableau_Rouge[]={5,8,10,14,22,2};

typedef struct{
        unsigned char* pTableau;
        unsigned char TableauTaille;
        }Type_Tableau;
       
Type_Tableau ListeTableaux[]={
            {Tableau_Vert, (unsigned char)(sizeof(Tableau_Vert)/sizeof(unsigned char))},
            {Tableau_Rouge, (unsigned char)(sizeof(Tableau_Rouge)/sizeof(unsigned char))},
            };


Ensuite j'utilise des maccros pour initialiser les champs de ma structure, ça devient:

Code:


#define MACCRO_1(couleur) (Tableau_##couleur)
#define MACCRO_2(couleur) ((unsigned char)(sizeof(Tableau_##couleur)/sizeof(unsigned char)))

Type_Tableau ListeTableaux[]={
            {MACCRO_1(Vert), MACCRO_2(Vert)},
            {MACCRO_1(Rouge), MACCRO_2(Rouge)},
            };


MACCRO_1 va initialiser le champs "pTableau" et MACCRO_2 le champs "TableauTaille".

Jusque là tout va bien...
Mais là où ça se complique c'est que je souhaite utiliser un seule maccro pour initialiser les 2 champs de ma structure...mais je sais pas faire :-(

Je voudrais au final ça:

Code:


Type_Tableau ListeTableaux[]={
            {MACCRO_3(Vert)},
            {MACCRO_3(Rouge)},
            };


J'ai essayer de faire une maccro du genre:

Code:


#define MACCRO_3(couleur) (MACCRO_1(couleur), MACCRO_2(couleur))

Mais ça ne marche pas, a priori c'est la virgule qui pose problème...

Des avis sur la question ?