00001 #ifndef GALIAS_H
00002 #define GALIAS_H
00003 #include "kwdset.h"
00004
00005
00006
00007 enum gtypel {noel=0, isolinear1d=1, isoquadratic1d=2, trianglelinear=3, trianglequadratic=4, isolinear2d=5, isoquadratic2d=6,
00008 tetrahedronlinear=7, tetrahedronquadratic=8, pyramidelinear=9, pyramidequadratic=10, vedgelinear=11,
00009 vedgequadratic=12, isolinear3d=13, isoquadratic3d=14, all_element_types=15};
00010 const enumstr gtypelstr[] = {{"noel",0}, {"isolinear1d", 1}, {"isoquadratic1d", 2}, {"trianglelinear", 3}, {"trianglequadratic", 4},
00011 {"isolinear2d", 5}, {"isoquadratic2d", 6}, {"tetrahedronlinear", 7}, {"tetrahedronquadratic", 8},
00012 {"pyramidelinear", 9}, {"pyramidequadratic", 10}, {"vedgelinear", 11}, {"vedgequadratic", 12},
00013 {"isolinear3d", 13}, {"isoquadratic3d", 14}};
00014 const kwdset gtypel_kwdset(sizeof(gtypelstr)/sizeof(*gtypelstr), gtypelstr);
00015
00016
00017
00018
00019 enum entityp {evertex=1, ecurve=2, esurface=3, eregion=4, epatch=5, eshell=6};
00020 const enumstr entitypstr[] = {{"evertex", 1}, {"ecurve", 2}, {"esurface", 3}, {"eregion", 4}, {"epatch", 5}, {"eshell", 6}};
00021 const kwdset entityp_kwdset(sizeof(entitypstr)/sizeof(*entitypstr), entitypstr);
00022
00023
00024
00025
00026 enum gentity {gvertex=1, gcurve=2, gsurface=3, gregion=4};
00027 const enumstr gentitystr[] = {{"gvertex",1}, {"gcurve",2}, {"gsurface",3}, {"gregion",4}};
00028 const kwdset gentity_kwdset(sizeof(gentitystr)/sizeof(*gentitystr), gentitystr);
00029
00030
00031
00032
00033 enum meshdescription {all_nodes=1,bound_nodes=2,neg_bound_nodes=3,glob_glued=4,metis=11,metis_elem=12};
00034 const enumstr meshdescriptionstr[] = {{"all_nodes",1}, {"bound_nodes",2}, {"neg_bound_nodes",3}, {"glob_glued",4},
00035 {"metis",11}, {"metis_elem",12}};
00036 const kwdset meshdescription_kwdset(sizeof(meshdescriptionstr)/sizeof(*meshdescriptionstr), meshdescriptionstr);
00037
00038
00039
00040
00041 enum storagetype {without_matrix=0,
00042 dense_matrix=1,skyline_matrix=2,double_skyline=3,
00043 compressed_rows=10,symm_comp_rows=11,element_matrices=40,diag_mat=50,
00044 lapack_stor=100,petsc=120,spdirect_stor_scr=140,spdirect_stor_cr=141};
00045 const enumstr storagetypestr[] = {{"without_matrix",0}, {"dense_matrix",1}, {"skyline_matrix", 2},
00046 {"double_skyline",3}, {"compressed_rows",10},{"symm_comp_rows", 11},
00047 {"element_matrices", 40}, {"diag_mat",50},
00048 {"lapack_stor", 100}, {"petsc", 120},
00049 {"spdirect_stor_scr",140}, {"spdirect_stor_cr", 141}};
00050 const kwdset storagetype_kwdset(sizeof(storagetypestr)/sizeof(*storagetypestr), storagetypestr);
00051
00052
00053
00054
00055 enum linsolvertype {no_solver=0,gauss_elim=1,ldl=2,lu=3,ll=4,ill=5,conden=11,cg=20,bicg=30,
00056 lapack_sol=100,pardisolver=120,spdirldl=140,spdirlu=141,spdirll=142,
00057 sschur=151,sfeti=161,sfetidef=171, saddle_point=181};
00058 const enumstr linsolvertypestr[] = {{"gauss_elim",1}, {"ldl",2}, {"lu",3}, {"ll",4}, {"ill",5}, {"conden",11},
00059 {"cg",20}, {"bicg",30}, {"lapack_sol",100}, {"pardisolver",120}, {"spdirldl",140},
00060 {"spdirlu",141}, {"spdirll",142},
00061 {"sschur",151}, {"sfeti",161}, {"sfetidef",171},{"saddle_point",181}};
00062 const kwdset linsolvertype_kwdset(sizeof(linsolvertypestr)/sizeof(*linsolvertypestr), linsolvertypestr);
00063
00064
00065
00066
00067 enum fetiimplem {no_impl=0,boolean_matrices=1,nonredundant=2,redundant=3};
00068 const enumstr fetiimplemstr[] = {{"no_impl",0}, {"boolean_matrices",1}, {"nonredundant",2}, {"redundant",3}};
00069 const kwdset fetiimplem_kwdset(sizeof(fetiimplemstr)/sizeof(*fetiimplemstr), fetiimplemstr);
00070
00071
00072
00073
00074 enum redsystsolver {master_sol=1,paral_sol=2};
00075 const enumstr redsystsolverstr[] = {{"master_sol",1}, {"paral_sol",2}};
00076 const kwdset redsystsolver_kwdset(sizeof(redsystsolverstr)/sizeof(*redsystsolverstr), redsystsolverstr);
00077
00078
00079
00080
00081 enum precondtype {noprecond=0,diagprec=1,ssorprec=5,incomdec=10,sparseindec=20,boss=101,feti_lumped=151,feti_dirichlet=152};
00082 const enumstr precondtypestr[] = {{"noprecond",0}, {"diagprec",1}, {"ssorprec",5}, {"incomdec",10}, {"sparseindec",20}, {"boss",101},{"feti_lumped",151},{"feti_dirichlet",152}};
00083 const kwdset precondtype_kwdset(sizeof(precondtypestr)/sizeof(*precondtypestr), precondtypestr);
00084
00085
00086
00087
00088 enum noderenumb {no_renumbering=0,cuthill_mckee=1,rev_cuthill_mckee=2,sloan=3};
00089 const enumstr noderenumbstr[] = {{"no_renumbering",0}, {"cuthill_mckee",1}, {"rev_cuthill_mckee",2}, {"sloan",3}};
00090 const kwdset noderenumb_kwdset(sizeof(noderenumbstr)/sizeof(*noderenumbstr), noderenumbstr);
00091
00092
00093
00094
00095 enum eigensolver {no_eigsolver=0,inv_iteration=1,subspace_it_jacobi=4,subspace_it_gsortho=5,shifted_subspace_it_gsortho=6};
00096 const enumstr eigensolverstr[] = {{"no_eigsolver",0}, {"inv_iteration",1}, {"subspace_it_jacobi",4}, {"subspace_it_gsortho",5}, {"shifted_subspace_it_gsortho",6}};
00097 const kwdset eigensolver_kwdset(sizeof(eigensolverstr)/sizeof(*eigensolverstr), eigensolverstr);
00098
00099
00100
00101
00102 enum generalfunct {stat=0,pars=1,tab=2,pars_set=3,tab_file=4,multpv=10,itab=20,gfunc_set=30};
00103 const enumstr generalfunctstr[] = {{"stat",0}, {"pars",1}, {"tab",2}, {"pars_set",3}, {"tab_file",4}, {"multpv", 10}, {"itab",20}, {"gfunc_set",30}};
00104 const kwdset generalfunct_kwdset(sizeof(generalfunctstr)/sizeof(*generalfunctstr), generalfunctstr);
00105
00106
00107
00108
00109 enum seltype {sel_no=0, sel_all=1, sel_range=2, sel_list=3, sel_period=4,
00110 sel_realrange=5, sel_reallist=6, sel_mtx=7, sel_range_mtx=8, sel_range_vec=9,
00111 sel_realperiod=10, sel_impvalues=11, sel_vec=12, sel_prop=13, sel_impvallst=14};
00112 const enumstr seltypestr[] = {{"sel_no",0}, {"sel_all",1}, {"sel_range",2}, {"sel_list",3},
00113 {"sel_period",4}, {"sel_realrange",5}, {"sel_reallist",6},
00114 {"sel_mtx",7}, {"sel_rangem",8}, {"sel_rangev",9},
00115 {"sel_realperiod",10}, {"sel_impvalues",11}, {"sel_vec",12},
00116 {"sel_prop",13}, {"sel_impvallst",14}};
00117 const kwdset seltype_kwdset(sizeof(seltypestr)/sizeof(*seltypestr), seltypestr);
00118
00119
00120
00121
00122 enum nodip {no_point=0, atnode=1, atip=2, atxyz=3};
00123 const enumstr nodipstr[] = {{"no_point",0}, {"atnode",1}, {"atip",2}, {"atxyz",3}};
00124 const kwdset nodip_kwdset(sizeof(nodipstr)/sizeof(*nodipstr), nodipstr);
00125
00126
00127
00128
00129 enum flagsw {off=0, on=1};
00130 const enumstr flagswstr[] = {{"off",0}, {"on",1}};
00131 const kwdset flagsw_kwdset(sizeof(flagswstr)/sizeof(*flagswstr), flagswstr);
00132
00133
00134
00135
00136 enum answertype {no=0, yes=1};
00137 const enumstr answertypestr[] = {{"no",0}, {"yes",1}};
00138 const kwdset answertype_kwdset(sizeof(answertypestr)/sizeof(*answertypestr), answertypestr);
00139
00140
00141
00142
00143 enum hflagsw {hf_off=0, header=1, footer=2};
00144 const enumstr hflagswstr[] = {{"hf_off",0}, {"header",1}, {"footer",2}};
00145 const kwdset hflagsw_kwdset(sizeof(hflagswstr)/sizeof(*hflagswstr), hflagswstr);
00146
00147
00148 enum gelemtype {noelem=0,
00149 linbar=1, quadbar=2,
00150 lintriag=21,quadtriag=22,linquad=25,quadquad=26,
00151 lintetra=41,quadtetra=42,linhexa=45,quadhexa=46,gen2d=50};
00152 const enumstr gelemtypestr[] = {{"noelem",0},
00153 {"linbar",1},{"quadbar",2},
00154 {"lintriag",21},{"quadtriag",22},{"linquad",25},{"quadquad",26},
00155 {"lintetra",41},{"quadtetra",42},{"linhexa",45},{"quadhexa",46},
00156 {"gen2d",50}};
00157 const kwdset gelemtype_kwdset(sizeof(gelemtypestr)/sizeof(*gelemtypestr),gelemtypestr);
00158
00159
00160
00161 enum objtype {gnod=1, gelem=2};
00162
00163
00164 enum meshform {sifel=0, t3d=1};
00165 const enumstr meshformstr[] = {{"sifel",0}, {"t3d",1}};
00166 const kwdset meshform_kwdset(sizeof(meshformstr)/sizeof(*meshformstr), meshformstr);
00167
00168
00169
00170
00171 enum timecontrtype {notct=-1, fixed=0, adaptive=1, adaptivemin=2, adaptivemax=3, adaptive_minmax=4};
00172 const enumstr timecontrtypestr[] = {{"notct",-1}, {"fixed",0}, {"adaptive",1}, {"adaptivemin",2}, {"adaptivemax",3}, {"adaptive_minmax",4}};
00173 const kwdset timecontrtype_kwdset(sizeof(timecontrtypestr)/sizeof(*timecontrtypestr), timecontrtypestr);
00174
00175
00176
00177 enum hdbackuptype {nohdb=0, hdbs_single=1, hdbs_multiple=2, hdbr_single=3, hdbr_multiple=4, hdbrs_single=5,
00178 hdbrs_multiple=6, hdbr_nonloc=7, hdbs_nonloc=8, hdbrs_nonloc=9};
00179 const enumstr hdbackuptypestr[] = {{"nohdb",0}, {"hdbs_single",1}, {"hdbs_multiple",2}, {"hdbr_single",3}, {"hdbr_multiple",4},
00180 {"hdbrs_single",5}, {"hdbrs_multiple",6}, {"hdbr_nonloc",7}, {"hdbs_nonloc",8},
00181 {"hdbrs_nonloc",9}};
00182 const kwdset hdbackuptype_kwdset(sizeof(hdbackuptypestr)/sizeof(*hdbackuptypestr), hdbackuptypestr);
00183
00184
00185
00186 enum hdbackupfmttype {text=1, binary=2};
00187 const enumstr hdbackupfmttypestr[] = {{"text",1}, {"binary",2}};
00188 const kwdset hdbackupfmttype_kwdset(sizeof(hdbackupfmttypestr)/sizeof(*hdbackupfmttypestr), hdbackupfmttypestr);
00189
00190
00191
00192 enum pkwd_sw {nokwd=0, kwd_pd=1, kwd_outd=2, kwd_pd_outd=3, kwd_full=4};
00193
00194
00195
00196 enum edgetype {noedge=0,jumps=1, mater=2};
00197 const enumstr edgetypestr[] = {{"noedge",0}, {"jumps",1}, {"mater",2}};
00198 const kwdset edgetype_kwdset(sizeof(edgetypestr)/sizeof(*edgetypestr), edgetypestr);
00199
00200
00201 enum macromicrotype {elem_domain=1,aggregate_domain=2,eff_aggregate_domain=3};
00202 const enumstr macromicrotypestr[] = {{"elem_domain",1}, {"aggregate_domain",2}, {"eff_aggregate_domain",3}};
00203 const kwdset macromicrotype_kwdset(sizeof(macromicrotypestr)/sizeof(*macromicrotypestr),macromicrotypestr);
00204
00205
00206
00207
00208 enum nonmechquant {temperature=1, rel_hum=2, initial_temperature=3, water_pressure=4,
00209 cap_pressure=5, saturation_degree=6, suction=7, pore_pressure=8, vol_moist_cont=9,
00210 free_salt_concentr=10};
00211 const enumstr nonmechquantstr[] = {{"temperature",1}, {"rel_hum",2}, {"initial_temperature",3},
00212 {"water_pressure",4}, {"cap_pressure",5}, {"saturation_degree",6},
00213 {"suction",7}, {"pore_pressure",8}, {"vol_moist_cont",9},
00214 {"free_salt_concentr",10}};
00215 const kwdset nonmechquant_kwdset(sizeof(nonmechquantstr)/sizeof(*nonmechquantstr), nonmechquantstr);
00216
00217
00218
00219
00220 enum nontransquant {precons_press=1, mean_stress_eff=2, virgin_porosity=3, init_porosity=4,
00221 scal_iso_damage=5,proc_zone_length=6,crack_width=7};
00222 const enumstr nontransquantstr[] = {{"precons_press",1}, {"mean_stress_eff",2}, {"virgin_porosity",3},
00223 {"init_porosity",4}, {"scal_iso_damage",5}, {"proc_zone_length",6}, {"crack_width",7}};
00224 const kwdset nontransquant_kwdset(sizeof(nontransquantstr)/sizeof(*nontransquantstr), nontransquantstr);
00225 #endif
00226
00227
00228