Aller au contenu
Posté(e)
comment_88571

Bonjour,

 

Je dois programmer en VBA la méthode générale mais je sais pas trop comment commencer..est ce que vous pouvez me dire si la manière dont je suis en train de faire les calculs est la bonne:

 

1.je pars d'une valeur de la courbure.

2.je calcule le moment externe.

3.je calcule le moment interne.

4.tant que le moment externe n'est pas égal au moment interne le calcul doit continuer.

 

est ce que vous avez des conseils à me donner concernant la programmation en elle meme?

Merci pour vos réponses

  • Réponses 15
  • Vues 3.6k
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

recommended_posts

comment_88582

bonjour,

 

tu parles de la méthode du BAEL ? ou méthode générale EC2.

Les ouvrages de Jean Roux explique bien les méthodes.

 

Attention c'est une méthode itérative donc qui peut être longue

 

 

Bonne réception,

  • Auteur
comment_88583

bonjour,

 

je parle bien de la méthode d'équilibre à l'ec2.. 

j'ai consulté le livre mais Jean Roux ne pars pas d'une estimation de la courbure..j'ai donc consulté un autre ouvrage (je crois du cstb) j'aimerai vous l'envoyez en pièce jointe afin de vous montrer là ou je bloque. comment puis-je vous l'envoyer?

comment_88604

Salamalikom

Écrit la formule que vous voulez la programmer avec les détails de ces paramètres, pour une première étape, puis on en discutera par la suite.

comment_88605

Salamalikom,

Écrit la formule dont vous voulez la programmer bien sure en détaillant les paramètres qui sont avec, comme première étape, puis on en discutera par la suite.

  • Auteur
comment_88693

Salem

J'étudie des poteaux rectangulaires (en flexion déviée) dont le repere générale est relié au centre de la section de béton seul
On part d'une courbure 1/R et d'une déformation εb sur la fibre extrême
1/R=(εb-εst)/d avec εb<=εc1*(1+ϕef)
étant donné que je réalise une boucle j'ai choisi une valeur min et max pour la courbure. Min=0 et max=(3.5+75)/1000/d. de même comme il s'agit d'un procssus itératif je fais varier εb d'un min=0 à un max= εc1*(1+ϕef)
I.Calcul du moment externe :
Mext=Mo,ed+Ned*(1/R)*(lo/Pi)² avec Mo,ed le moment du premier ordre
I.Calcul du moment interne :
La hauteur de béton comprimé Yhc=εb/((1/R)). Cela me permet de calculer les déformations le long de la section dans :
-le béton : εci=((|Yhc|-|Yi|)*(1/R))/(1+ϕ) (j'ai posé Yi allant de h/2 à Yhc, je ne sais pas si cela est correct)
-les aciers comprimés : εsc=εb-(|Yg|-|Ysc|)*(1/R) avec Yg=h/2 et Ysc la distance entre le point G (centre de la section béton) et le cdg des aciers
-les aciers tendus : εsc=εb-(|Yg|-|Yst|)*(1/R) avec Yg=h/2 et Yst la distance entre le point G (centre de la section béton) et le cdg des aciers
Ayant les déformations je peux calculer les contraintes dans :
-le béton : σci=MAX(fcd*(k*(εci/εc1)-(εci/εc1)²)/(1+(k-2)*(εci/εc1))) ;0)
-les aciers (les formules sont valables pour les aciers comprimés et tendus ; il suffit d'en tenir compte dans la notation indicielle) :
Si |εs|<=|εyd| alors σs=εs*(fyd/εyd)
Si |εs|>|εyd| alors σs=fyd dans le cas ou l'on utilise le diagramme à branche horiztonale

Une fois les contraintes obtenues, je peux calculer les efforts. Pour le béton j'ai choisi de déterminer l'effort en découpant la hauteur h de la section en n bandes :
Fci=((σi+σ i+1 )/2)*((bi+b i+1 )/2)*(hi) avec hi la hauteur de la bande
La position de chaque effort dans une bande est : Yci=(hi+hi+1)/2
L'effort total Fc= somme des Fci
La position de l'effort total Yc=Yg-(somme(Yci*Fci)/(somme(Fci)))
L'effort dans les aciers est :
Fsc=σsc*Asc et Fst=σst*Ast
Si la section est entierement comprimée le moment interne est :
Mint= |Fc*Yc|+ |Fsc*Ysc|-|Fst*Yst|
Si la section est partiellement comprimée le moment interne est :
Mint= |Fc*Yc|+ |Fsc*Ysc|+|Fst*Yst|
Le processus itératif doit s'arreter une fois que Mext=Mint..
Je pense avoir compris la logique du calcul mais le traduire en programme est vraiment compliqué
Merci de votre aide

  • Auteur
comment_88704

bonjour,

D'ailleurs je me rends compte d'une bêtise!! La valeur "Max" que j'ai donné à la courbure est fausse puisque epsilon b ne peut être qu'inférieure a epsilon c1*(1+phi,ef). Je ne peux donc pas prendre 3,5. SVP pouvez vous m'éclairer sur ce point?

comment_88793

bonjour,

il faut utiliser des tests pour comparer mext et mint

 

du style j'incremente de 1cm² les aciers tant que mext est supérieur à mint :

 

do loop while ...

 

En déclarant bien toutes les valeurs attention au type de variable en VBA.

 

Bonne réception,

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque: votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invités
Répondre à ce sujet…