void _HKViscousCreep_AssignFromXML( void* rheology, Stg_ComponentFactory* cf, void* data ){ HKViscousCreep* self = (HKViscousCreep*)rheology; PpcManager *mgr=NULL; int sr, temp, press; /* Construct Parent */ _Rheology_AssignFromXML( self, cf, data ); mgr = self->mgr; sr = PpcManager_GetField( self->mgr, cf, (Stg_Component*)self, "StrainRateInvariantField", False ); temp = PpcManager_GetField( self->mgr, cf, (Stg_Component*)self, "TemperatureField", False ); press = PpcManager_GetField( self->mgr, cf, (Stg_Component*)self, "PressureField", False ); _HKViscousCreep_Init( self, sr, temp, press, Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"StressExponent", 1.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"DefaultStrainRateInvariant", 1.0e-13 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"PreExponentialFactor", 1.0 ), PpcManager_GetPpcFromDict( mgr, cf, self->name, "GrainSize", "" ), PpcManager_GetPpcFromDict( mgr, cf, self->name, "WaterFugacity", "" ), PpcManager_GetPpcFromDict( mgr, cf, self->name, "MeltFraction", "" ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"GrainSizeExponent", 0.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"WaterFugacityExponent", 0.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"MeltFractionFactor", 1.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"ActivationEnergy", 0.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"ActivationVolume", 0.0 ) ); }
void _DruckerPrager_AssignFromXML( void* druckerPrager, Stg_ComponentFactory* cf, void* data ){ DruckerPrager* self = (DruckerPrager*)druckerPrager; int pressure_id, velocityGradientsField_id; /* Construct Parent */ _VonMises_AssignFromXML( self, cf, data ); pressure_id = PpcManager_GetField( self->mgr, cf, (Stg_Component*)self, "PressureField", True ); velocityGradientsField_id = PpcManager_GetField( self->mgr, cf, (Stg_Component*)self, "VelocityGradientsField", False ); _DruckerPrager_Init( self, pressure_id, velocityGradientsField_id, Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"minimumYieldStress", 0.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"frictionCoefficient", 0.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"frictionCoefficientAfterSoftening", 0.0 ) ); }
void _VonMises_AssignFromXML( void* rheology, Stg_ComponentFactory* cf, void* data ){ VonMises* self = (VonMises*)rheology; int strainRate_id; /* Construct Parent */ _YieldRheology_AssignFromXML( self, cf, data ); /* PpcManager_GetField_TestForFeVariable */ strainRate_id = PpcManager_GetField( self->mgr, cf, (Stg_Component*)self, "StrainRateField", True ); _VonMises_Init( self, strainRate_id, Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"cohesion", 0.0 ), Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"cohesionAfterSoftening", 0.0 ), Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"strainRateSoftening", False ) ); }