mise à jour de Hypo_hooke2D_C: ajout méthode d'initialisation de grandeurs quelconques locales: Hypo_hooke2D_C::Verif_et_preparation_acces_grandeurs_locale() et son utilisation
mise à jour info de l'utilisation de l'utilisation de Map_type_quelconque()dans Loi_comp_abstraite dans
This commit is contained in:
parent
3811288322
commit
3935825158
3 changed files with 45 additions and 3 deletions
|
@ -542,6 +542,8 @@ void Hypo_hooke2D_C::LectureDonneesParticulieres (UtilLecture * entreePrinc,LesC
|
|||
// appel au niveau de la classe mère
|
||||
Loi_comp_abstraite::Lecture_type_deformation_et_niveau_commentaire
|
||||
(*entreePrinc,lesFonctionsnD);
|
||||
// si fct nD on prépare l'accès éventuel à des grandeurs locales
|
||||
Verif_et_preparation_acces_grandeurs_locale();
|
||||
|
||||
};
|
||||
|
||||
|
@ -862,9 +864,11 @@ void Hypo_hooke2D_C::Lecture_base_info_loi(ifstream& ent,const int cas,LesRefere
|
|||
|
||||
// indicateur pour les calculs partielles
|
||||
ent >> nom >> cas_calcul ;
|
||||
// si fct nD on prépare l'accès éventuel à des grandeurs locales
|
||||
Verif_et_preparation_acces_grandeurs_locale();
|
||||
}
|
||||
Loi_comp_abstraite::Lecture_don_base_info(ent,cas,lesRef,lesCourbes1D,lesFonctionsnD);
|
||||
};
|
||||
Loi_comp_abstraite::Lecture_don_base_info(ent,cas,lesRef,lesCourbes1D,lesFonctionsnD);
|
||||
};
|
||||
|
||||
// cas donne le niveau de sauvegarde
|
||||
// = 1 : on sauvegarde tout
|
||||
|
@ -1238,7 +1242,36 @@ void Hypo_hooke2D_C::Activation_stockage_grandeurs_quelconques(list <EnumTypeQue
|
|||
listlocale.unique(); // suppression des doublons
|
||||
|
||||
};
|
||||
|
||||
// vérification et préparation de l'acces aux grandeurs locales
|
||||
void Hypo_hooke2D_C::Verif_et_preparation_acces_grandeurs_locale()
|
||||
{list <EnumTypeQuelconque > listEnuQuelc; // def de la liste des grandeurs quelconque
|
||||
|
||||
// ---récup des grandeurs quelconques nécessaires pour les fonction nD
|
||||
if (mu_nD != NULL)
|
||||
{const Tableau <EnumTypeQuelconque>& tab_enu_quelc = mu_nD->Tab_enu_quelconque();
|
||||
int tail = tab_enu_quelc.Taille();
|
||||
if (tail)
|
||||
{for (int i = 1; i<= tail; i++)
|
||||
listEnuQuelc.push_back(tab_enu_quelc(i));
|
||||
};
|
||||
};
|
||||
if (Kc_nD != NULL)
|
||||
{const Tableau <EnumTypeQuelconque>& tab_enu_quelc = mu_nD->Tab_enu_quelconque();
|
||||
int tail = tab_enu_quelc.Taille();
|
||||
if (tail)
|
||||
{for (int i = 1; i<= tail; i++)
|
||||
listEnuQuelc.push_back(tab_enu_quelc(i));
|
||||
};
|
||||
};
|
||||
|
||||
listEnuQuelc.sort();
|
||||
listEnuQuelc.unique();
|
||||
|
||||
|
||||
// activation dans la loi de la demande des grandeurs quelconques
|
||||
this->Activation_stockage_grandeurs_quelconques(listEnuQuelc);
|
||||
};
|
||||
|
||||
// ========== codage des METHODES VIRTUELLES protegees:================
|
||||
// calcul des contraintes a t+dt
|
||||
|
|
|
@ -315,6 +315,9 @@ class Hypo_hooke2D_C : public Loi_comp_abstraite
|
|||
,EnergieMeca & energ,const EnergieMeca & energ_t,double& module_compressibilite,double& module_cisaillement
|
||||
,const Met_abstraite::Impli& ex);
|
||||
|
||||
|
||||
// vérification et préparation de l'acces aux grandeurs locales
|
||||
void Verif_et_preparation_acces_grandeurs_locale();
|
||||
|
||||
|
||||
};
|
||||
|
|
|
@ -192,9 +192,15 @@ class Loi_comp_abstraite : public LoiAbstraiteGeneral
|
|||
|
||||
// pour info, pour que la map soit fonctionnelle : il faut: (cf. exemple de Hysteresis_bulk)
|
||||
// - définir pour le stockage la méthode : Map_type_quelconque()
|
||||
// - définir pour le stockage la méthode : Mise_a_jour_map_type_quelconque() et s'en servir dans le stockage local
|
||||
// - définir pour le stockage la méthode : Mise_a_jour_map_type_quelconque() et s'en servir dans le stockage
|
||||
// local (par ex: dans TdtversT() et TversTdt())
|
||||
// - définir pour la loi la méthode: Insertion_conteneur_dans_save_result()
|
||||
// - définir pour la loi la méthode: Activation_stockage_grandeurs_quelconques()
|
||||
|
||||
// si on veut se servir des grandeurs locales via une méthode générique de loi_comp_abstraite: ex:
|
||||
// Loi_comp_abstraite::Loi_comp_Valeur_FnD_Evoluee pour l'accés à une fct nD (voir Hypo_hooke2D_C par ex)
|
||||
// on peut définir: Verif_et_preparation_acces_grandeurs_locale() -> remplissage de la map local
|
||||
// activation de Verif_et_preparation_acces_grandeurs_locale: dans la lecture: .info et base_info
|
||||
|
||||
// ---- fin gestion d'une liste de grandeurs quelconques éventuelles ---
|
||||
|
||||
|
|
Loading…
Reference in a new issue