MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fct_taille_fem_solution_fonction_isotrope.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// fct_taille_fem_solution_fonction_isotrope.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:52 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #include "gestionversion.h"
23 #include "mg_gestionnaire.h"
24 #include <math.h>
25 #include <fem_solution.h>
27 
28 
29 double FCT_TAILLE_FEM_SOLUTION_DEFINITION_FONCTION_ISOTROPE::constante[100]={0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
30 
31 
33 {
36 return res;
37 }
39 {
42 return res;
43 }
44 
45 
47 {
48 strcpy(nom,nomsolution);
49 isotrope=true;
50 }
51 
53 {
54 strcpy(nom,mdd.nom);
55 isotrope=true;
56 }
57 
59 {
60 
61 }
62 
63 
65 {
68 sol->change_legende(0,"metrique");
69 LISTE_FEM_NOEUD::iterator it;
70 int i=0;
71 for (FEM_NOEUD* no=fem->get_premier_noeud(it);no!=NULL;no=fem->get_suivant_noeud(it))
72  {
73  double val;
74  val=solbase->lire(i,champbase);
75  double ecart_nodal=(*f)(val);
76  sol->ecrire(1./ecart_nodal/ecart_nodal,i,0,0);
77  sol->ecrire(0.,i,0,1);
78  sol->ecrire(0.,i,0,2);
79  sol->ecrire(0.,i,0,3);
80  sol->ecrire(1./ecart_nodal/ecart_nodal,i,0,4);
81  sol->ecrire(0.,i,0,5);
82  sol->ecrire(0.,i,0,6);
83  sol->ecrire(0.,i,0,7);
84  sol->ecrire(1./ecart_nodal/ecart_nodal,i,0,8);
85  i++;
86  }
87 isotrope=true;
88 numchamp=0;
90 }
FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE::FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE
FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE(MG_GESTIONNAIRE *gesttmp, FEM_MAILLAGE *femtmp, char *nomsolution)
Definition: fct_taille_fem_solution_fonction_isotrope.cpp:46
FEM_SOLUTION
Definition: fem_solution.h:40
gestionversion.h
FCT_TAILLE_FEM_SOLUTION
Definition: fct_taille_fem_solution.h:37
fem_solution.h
mg_gestionnaire.h
FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE::nom
char nom[1000]
Definition: fct_taille_fem_solution_fonction_isotrope.h:65
FCT_TAILLE_FEM_SOLUTION_DEFINITION_FONCTION_ISOTROPE::exponentielle
static double exponentielle(double x)
Definition: fct_taille_fem_solution_fonction_isotrope.cpp:32
FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE::construit_depuis_scalaire
virtual void construit_depuis_scalaire(FEM_SOLUTION *solbase, int champsbase, double(*f)(double x))
Definition: fct_taille_fem_solution_fonction_isotrope.cpp:64
FEM_SOLUTION::ecrire
void ecrire(double val, int i, int j, int coord=0, int num_no=0)
Definition: fem_solution.cpp:411
FCT_TAILLE_FEM_SOLUTION::sol
FEM_SOLUTION * sol
Definition: fct_taille_fem_solution.h:69
FEM_MAILLAGE::get_premier_noeud
FEM_NOEUD * get_premier_noeud(LISTE_FEM_NOEUD::iterator &it)
Definition: fem_maillage.cpp:174
MG_GESTIONNAIRE
Definition: mg_gestionnaire.h:57
MG_GESTIONNAIRE::ajouter_fem_solution
int ajouter_fem_solution(FEM_SOLUTION *mgsol)
Definition: mg_gestionnaire.cpp:902
MAGIC::TYPE_SOLUTION::TENSEUR
@ TENSEUR
Definition: mg_definition.h:93
FCT_TAILLE_FEM_SOLUTION::fem
FEM_MAILLAGE * fem
Definition: fct_taille_fem_solution.h:71
f
double f(double x, long nb, double *xfonc, double *fonc, double eng, double eni, double lambda, double nor, double *fonc2)
Definition: fct_generateur_calibrage.cpp:96
FEM_SOLUTION::active_solution
void active_solution(int num)
Definition: fem_solution.cpp:490
FCT_TAILLE_FEM_SOLUTION_DEFINITION_FONCTION_ISOTROPE::constante
static double constante[100]
Definition: fct_taille_fem_solution_fonction_isotrope.h:38
FEM_MAILLAGE
Definition: fem_maillage.h:66
FCT_TAILLE_FEM_SOLUTION::gest
MG_GESTIONNAIRE * gest
Definition: fct_taille_fem_solution.h:70
FCT_TAILLE_FEM_SOLUTION::numchamp
int numchamp
Definition: fct_taille_fem_solution.h:72
fct_taille_fem_solution_fonction_isotrope.h
FCT_TAILLE_FEM_SOLUTION::isotrope
bool isotrope
Definition: fct_taille_fem_solution.h:73
FEM_SOLUTION::lire
double lire(int i, int j, int coord=0, int num_no=0)
Definition: fem_solution.cpp:398
FEM_NOEUD
Definition: fem_noeud.h:35
FCT_TAILLE_FEM_SOLUTION_DEFINITION_FONCTION_ISOTROPE::lineaire
static double lineaire(double x)
Definition: fct_taille_fem_solution_fonction_isotrope.cpp:38
FEM_MAILLAGE::get_suivant_noeud
FEM_NOEUD * get_suivant_noeud(LISTE_FEM_NOEUD::iterator &it)
Definition: fem_maillage.cpp:182
res
#define res(i, j)
FEM_SOLUTION::change_legende
void change_legende(int num, std::string val)
Definition: fem_solution.cpp:457
FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE
Definition: fct_taille_fem_solution_fonction_isotrope.h:48
FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE::~FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE
~FCT_TAILLE_FEM_SOLUTION_FONCTION_ISOTROPE()
Definition: fct_taille_fem_solution_fonction_isotrope.cpp:58
MAGIC::ENTITE_SOLUTION::ENTITE_NOEUD
@ ENTITE_NOEUD
Definition: mg_definition.h:86