OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
hydratingconcretemat.h
Go to the documentation of this file.
1 /*
2  *
3  * ##### ##### ###### ###### ### ###
4  * ## ## ## ## ## ## ## ### ##
5  * ## ## ## ## #### #### ## # ##
6  * ## ## ## ## ## ## ## ##
7  * ## ## ## ## ## ## ## ##
8  * ##### ##### ## ###### ## ##
9  *
10  *
11  * OOFEM : Object Oriented Finite Element Code
12  *
13  * Copyright (C) 1993 - 2013 Borek Patzak
14  *
15  *
16  *
17  * Czech Technical University, Faculty of Civil Engineering,
18  * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19  *
20  * This library is free software; you can redistribute it and/or
21  * modify it under the terms of the GNU Lesser General Public
22  * License as published by the Free Software Foundation; either
23  * version 2.1 of the License, or (at your option) any later version.
24  *
25  * This program is distributed in the hope that it will be useful,
26  * but WITHOUT ANY WARRANTY; without even the implied warranty of
27  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28  * Lesser General Public License for more details.
29  *
30  * You should have received a copy of the GNU Lesser General Public
31  * License along with this library; if not, write to the Free Software
32  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33  */
34 
35 #ifndef hydratingconcretemat_h
36 #define hydratingconcretemat_h
37 
38 #include "isoheatmat.h"
39 #include "hydratingisoheatmat.h"
40 
42 
43 #define _IFT_HydratingConcreteMat_Name "hydratingconcretemat"
44 #define _IFT_HydratingConcreteMat_referenceTemperature "referencetemperature"
45 #define _IFT_HydratingConcreteMat_castAt "castat"
46 #define _IFT_HydratingConcreteMat_hydrationModelType "hydrationmodeltype"
47 #define _IFT_HydratingConcreteMat_maxModelIntegrationTime "maxmodelintegrationtime"
48 #define _IFT_HydratingConcreteMat_minModelTimeStepIntegrations "minmodeltimestepintegrations"
49 #define _IFT_HydratingConcreteMat_conductivitytype "conductivitytype"
50 #define _IFT_HydratingConcreteMat_capacitytype "capacitytype"
51 #define _IFT_HydratingConcreteMat_densitytype "densitytype"
52 #define _IFT_HydratingConcreteMat_activationEnergy "activationenergy"
53 #define _IFT_HydratingConcreteMat_massCement "masscement"
54 #define _IFT_HydratingConcreteMat_reinforcementDegree "reinforcementdegree"
55 #define _IFT_HydratingConcreteMat_tau "tau"
56 #define _IFT_HydratingConcreteMat_beta "beta"
57 #define _IFT_HydratingConcreteMat_B1 "b1"
58 #define _IFT_HydratingConcreteMat_B2 "b2"
59 #define _IFT_HydratingConcreteMat_eta "eta"
60 #define _IFT_HydratingConcreteMat_DoHInf "dohinf"
61 #define _IFT_HydratingConcreteMat_DoH1 "doh1"
62 #define _IFT_HydratingConcreteMat_P1 "p1"
63 #define _IFT_HydratingConcreteMat_qpot "qpot"
64 
65 
66 namespace oofem {
73 {
74 public:
75  HydratingConcreteMat(int n, Domain * d);
76  virtual ~HydratingConcreteMat();
77 
78  virtual int hasInternalSource() { return 1; }
79  virtual void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode);
80 
81  virtual double giveCharacteristicValue(MatResponseMode mode,
82  GaussPoint *gp,
83  TimeStep *tStep);
84 
85  // identification and auxiliary functions
86  virtual const char *giveClassName() const { return "HydratingConcreteMat"; }
87 
89 
90  // post-processing
91  virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep);
92  virtual double giveIsotropicConductivity(GaussPoint *gp, TimeStep *tStep);
93  virtual double giveConcreteCapacity(GaussPoint *gp, TimeStep *tStep);
94  virtual double giveConcreteDensity(GaussPoint *gp, TimeStep *tStep);
101  double Qpot;
103  double massCement;
112  double tau, beta;
113 
118  double B1, B2, eta, DoHInf;
120  double DoH1, P1;
121 
122 protected:
123  double GivePower(TimeStep *tStep, GaussPoint *gp, ValueModeType mode);
124  double scaleTemperature(GaussPoint *gp);
126  double affinity25(double alpha);
127 
132  virtual MaterialStatus *CreateStatus(GaussPoint *gp) const;
133 };
134 
139 {
140 public:
142  virtual ~HydratingConcreteMatStatus();
144  double giveDoHActual();
145  virtual void updateYourself(TimeStep *tStep);
146  virtual void printOutputAt(FILE *file, TimeStep *tStep);
147  double power;
148  double lastEvalTime;
149  double lastEquivalentTime, equivalentTime, degreeOfHydration, lastDegreeOfHydration;
150 };
151 } // end namespace oofem
152 #endif // hydratingconcretemat_h
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
double affinity25(double alpha)
Return affinity scaled to 25C.
double activationEnergy
Activation energy of concrete (default 38400 J/mol/K).
double reinforcementDegree
Degree of reinforcement, if defined, reinforcement effect for conductivity and capacity is accounted ...
Class and object Domain.
Definition: domain.h:115
This class implements various phenomenological and affinity hydration models.
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
Definition: valuemodetype.h:78
int conductivityType
Use different methods to evaluate material conductivity, capacity, or density.
virtual int hasInternalSource()
Returns nonzero if receiver generates internal source of state variable(s), zero otherwise.
This class implements a transport material status information.
virtual double giveConcreteDensity(GaussPoint *gp, TimeStep *tStep)
HydratingConcreteMat(int n, Domain *d)
MatResponseMode
Describes the character of characteristic material matrix.
virtual const char * giveClassName() const
int hydrationModelType
Type of hydration model, e.g. exponential curve, Cervera's model.
double tau
Parameters for exponential affinity hydration model summarized in A.K.
virtual double giveConcreteCapacity(GaussPoint *gp, TimeStep *tStep)
double massCement
Mass of cement in kg per 1m3 of concrete.
double Qpot
Potential heat of hydration, for ordinary Portland cement approximately 500 J/g.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
This class implements an isotropic linear heat material.
Definition: isoheatmat.h:58
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
virtual double giveIsotropicConductivity(GaussPoint *gp, TimeStep *tStep)
Abstract base class representing a material status information.
Definition: matstatus.h:84
Class representing vector of real numbers.
Definition: floatarray.h:82
virtual void computeInternalSourceVector(FloatArray &val, GaussPoint *gp, TimeStep *tStep, ValueModeType mode)
Computes the internal source vector of receiver.
double GivePower(TimeStep *tStep, GaussPoint *gp, ValueModeType mode)
IRResultType
Type defining the return values of InputRecord reading operations.
Definition: irresulttype.h:47
double DoH1
Optional extension to slag-rich, high-blended cements.
HydratingConcreteMatStatus stores degree of hydration in each integration point.
Class representing the general Input Record.
Definition: inputrecord.h:101
double minModelTimeStepIntegrations
Minimum number of integration steps for hydration model within a given timeStep.
double scaleTemperature(GaussPoint *gp)
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
Definition: femcmpnn.h:171
virtual double giveCharacteristicValue(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes the characteristic value of receiver in given integration point, respecting its history...
double B1
Parameters for affinity hydration model inspired by Cervera et al.
double referenceTemperature
Reference temperature for hydration model.
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class representing integration point in finite element program.
Definition: gausspoint.h:93
Class representing solution step.
Definition: timestep.h:80

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:29 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011