OOFEM 3.0
Loading...
Searching...
No Matches
oofem::PrescribedDispSlipBCDirichletRC Class Reference

#include <prescribeddispslipbcdirichletrc.h>

Inheritance diagram for oofem::PrescribedDispSlipBCDirichletRC:
Collaboration diagram for oofem::PrescribedDispSlipBCDirichletRC:

Public Member Functions

 PrescribedDispSlipBCDirichletRC (int n, Domain *d)
virtual ~PrescribedDispSlipBCDirichletRC ()
double give (Dof *dof, ValueModeType mode, double time) override
void initializeFrom (InputRecord &ir) override
void giveInputRecord (DynamicInputRecord &input) override
virtual void updateCoefficientMatrix (FloatMatrix &C)
double domainSize (Domain *d, int set) override
void computeStress (FloatArray &sigma, TimeStep *tStep) override
void computeTransferStress (FloatArray &bStress, TimeStep *tStep) override
void computeReinfStress (FloatArray &rStress, TimeStep *tStep) override
void computeTangent (FloatMatrix &tangent, TimeStep *tStep) override
void scale (double s) override
const char * giveClassName () const override
const char * giveInputRecordName () const override
Public Member Functions inherited from oofem::BoundaryCondition
 BoundaryCondition (int i, Domain *d)
virtual ~BoundaryCondition ()
 Destructor.
virtual double give (Dof *dof, ValueModeType mode, TimeStep *tStep)
void setPrescribedValue (double s)
bcType giveType () const override
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
Public Member Functions inherited from oofem::GeneralBoundaryCondition
 GeneralBoundaryCondition (int n, Domain *d)
virtual ~GeneralBoundaryCondition ()
 Destructor.
int giveSetNumber () const
virtual int giveNumberOfInternalDofManagers ()
 Gives the number of internal dof managers.
virtual DofManagergiveInternalDofManager (int i)
 Gives an internal dof manager from receiver.
FunctiongiveTimeFunction ()
int getIsImposedTimeFunctionNumber () const
void setIsImposedTimeFunctionNumber (int funcIndx)
virtual bcValType giveBCValType () const
virtual bool isImposed (TimeStep *tStep)
virtual const IntArraygiveDofIDs () const
virtual bcGeomType giveBCGeoType () const
virtual double giveProperty (int aProperty, TimeStep *tStep) const
void saveContext (DataStream &stream, ContextMode mode) override
void restoreContext (DataStream &stream, ContextMode mode) override
virtual void updateYourself (TimeStep *tStep)
Public Member Functions inherited from oofem::FEMComponent
 FEMComponent (int n, Domain *d)
virtual ~FEMComponent ()=default
 Virtual destructor.
DomaingiveDomain () const
virtual void setDomain (Domain *d)
int giveNumber () const
void setNumber (int num)
virtual void updateLocalNumbering (EntityRenumberingFunctor &f)
virtual void initializeFrom (InputRecord &ir, int priority)
virtual void initializeFinish ()
virtual void postInitialize ()
 Performs post initialization steps. Called after all components are created and initialized.
virtual int checkConsistency ()
virtual void printOutputAt (FILE *file, TimeStep *tStep)
virtual void printYourself ()
 Prints receiver state on stdout. Useful for debugging.
virtual InterfacegiveInterface (InterfaceType t)
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).
Public Member Functions inherited from oofem::PrescribedDispSlipHomogenization
 PrescribedDispSlipHomogenization ()
virtual ~PrescribedDispSlipHomogenization ()
virtual void setDispField (const FloatArray &t)
virtual void setSlipField (const FloatArray &t)
virtual void setDispGradient (const FloatArray &t)
virtual void setSlipGradient (const FloatArray &t)
void giveDispField (FloatArray &oField) const
void giveSlipField (FloatArray &oField) const
void giveDispGradient (FloatArray &oGradient) const
void giveSlipGradient (FloatArray &oGradient) const
virtual void setCenterCoordinate (FloatArray &x)
FloatArraygiveCenterCoordinate ()

Protected Member Functions

double giveOnConcrete (Dof *dof, int pos, const FloatArray u)
double giveOnSteel (Dof *dof, int pos, const FloatArray u, const FloatArray us)

Protected Attributes

bool dispGradON = false
bool slipON = false
 on/off flag specifying whether the displacement gradient should be applied via Neumann BCs
bool slipGradON = false
 on/off flag specifying whether the slip field should be applied via Neumann BCs
int conBoundSet
 on/off flag specifying whether the slip gradient should be applied via Neumann BCs
int reinfXBound =0
int reinfYBound =0
Protected Attributes inherited from oofem::BoundaryCondition
FloatArray values
 Prescribed values for each resp. dof.
Protected Attributes inherited from oofem::GeneralBoundaryCondition
int timeFunction
 Associated load time function.
bcValType valType
 Physical meaning of BC value.
IntArray dofs
 Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s).
int isImposedTimeFunction
int set
 Set number for boundary condition to be applied to.
Protected Attributes inherited from oofem::FEMComponent
int number
 Component number.
Domaindomain
 Link to domain object, useful for communicating with other FEM components.
Protected Attributes inherited from oofem::PrescribedDispSlipHomogenization
FloatMatrix dispGradient
 Prescribed gradients.
FloatMatrix slipGradient
FloatArray dispField
 Prescribed fields.
FloatArray slipField
FloatArray mCenterCoord
 Center coordinates.

Detailed Description

Prescribes macroscopic displacement gradient, reinforcement slip field and slip gradient on the reinforced concrete RVE using Dirichlet boundary conditions, cf. Sciegaj, A., Larsson, F., Lundgren, K., Nilenius, F., & Runesson, K. (2019). A multiscale model for reinforced concrete with macroscopic variation of reinforcement slip. Computational Mechanics, 63(2), 139–158. https://doi.org/10.1007/s00466-018-1588-3 Macroscopic slip and slip gradient fields are optional (see PrescribedDispSlipHomogenization). If not specified, this BC will prescribe only the displacement gradient, i.e., it will work the same was as a PrescribedGradient bc. Works with 2D RVEs comprising solid elements (concrete), reinforcement (beam/truss elements) and interface elements in between. Used in multiscale analyses of reinforced concrete structures. Currently, only orthogonal reinforcement in X and Y direction is supported.

This BC can be applied to the set of:

  • nodes lying at the concrete boundary. In order to prescribe macroscopic displacement gradient on both concrete and steel, the node set this BC is applied to must include the end (boundary) nodes of the reinforcement bars as well. conboundset should contain only elementboundaries of concrete elements, e.g. PrescribedDispSlipBCDirichletRC 1 loadTimeFunction 1 dofs 2 1 2 ccoord 3 0.0 0.0 0.0 dispGrad 2 2 {0 0; 0 0} set 5 conboundset 6 where set 5 contains all boundary nodes (concrete+steel) and set 6 contains boundary of concrete elements
  • elementboundaries of concrete elements. In this case displacement gradient is not prescribed on the reinforcement. PrescribedDispSlipBCDirichletRC 1 loadTimeFunction 1 dofs 2 1 2 ccoord 3 0.0 0.0 0.0 dispGrad 2 2 {0 0; 0 0} set 5 conboundset 5 where set 5 contains boundary of concrete elements

If the macroscopic slip/slip gradient field is to be prescribed onto the RVE, the optional node sets reinfxbound and reinfybound must be specified. These node sets contain the boundary nodes of the horizontal and vertical reinforcement, respectively.

Author
Adam Sciegaj

Definition at line 78 of file prescribeddispslipbcdirichletrc.h.

Constructor & Destructor Documentation

◆ PrescribedDispSlipBCDirichletRC()

oofem::PrescribedDispSlipBCDirichletRC::PrescribedDispSlipBCDirichletRC ( int n,
Domain * d )
inline

◆ ~PrescribedDispSlipBCDirichletRC()

virtual oofem::PrescribedDispSlipBCDirichletRC::~PrescribedDispSlipBCDirichletRC ( )
inlinevirtual

Definition at line 82 of file prescribeddispslipbcdirichletrc.h.

Member Function Documentation

◆ computeReinfStress()

◆ computeStress()

◆ computeTangent()

◆ computeTransferStress()

◆ domainSize()

◆ give()

◆ giveClassName()

const char * oofem::PrescribedDispSlipBCDirichletRC::giveClassName ( ) const
inlineoverridevirtual
Returns
Class name of the receiver.

Reimplemented from oofem::BoundaryCondition.

Definition at line 100 of file prescribeddispslipbcdirichletrc.h.

◆ giveInputRecord()

void oofem::PrescribedDispSlipBCDirichletRC::giveInputRecord ( DynamicInputRecord & input)
overridevirtual

Setups the input record string of receiver.

Parameters
inputDynamic input record to be filled by receiver.

Reimplemented from oofem::BoundaryCondition.

Definition at line 462 of file prescribeddispslipbcdirichletrc.C.

◆ giveInputRecordName()

const char * oofem::PrescribedDispSlipBCDirichletRC::giveInputRecordName ( ) const
inlineoverridevirtual
Returns
Input record name of the receiver.

Reimplemented from oofem::BoundaryCondition.

Definition at line 101 of file prescribeddispslipbcdirichletrc.h.

References _IFT_PrescribedDispSlipBCDirichletRC_Name.

◆ giveOnConcrete()

double oofem::PrescribedDispSlipBCDirichletRC::giveOnConcrete ( Dof * dof,
int pos,
const FloatArray u )
protected

Definition at line 124 of file prescribeddispslipbcdirichletrc.C.

References oofem::FloatArray::at(), and oofem::FloatArray::giveSize().

Referenced by give().

◆ giveOnSteel()

double oofem::PrescribedDispSlipBCDirichletRC::giveOnSteel ( Dof * dof,
int pos,
const FloatArray u,
const FloatArray us )
protected

◆ initializeFrom()

void oofem::PrescribedDispSlipBCDirichletRC::initializeFrom ( InputRecord & ir)
overridevirtual

Initializes receiver according to object description stored in input record. This function is called immediately after creating object using constructor. Input record can be imagined as data record in component database belonging to receiver. Receiver may use value-name extracting functions to extract particular field from record. Note that initializeFrom may be called mutiple times.

See also
IR_GIVE_FIELD
IR_GIVE_OPTIONAL_FIELD
Parameters
irInput record to initialize from.
priorityPriority of the input record. This is used to determine the order of initialization

Reimplemented from oofem::BoundaryCondition.

Definition at line 437 of file prescribeddispslipbcdirichletrc.C.

References _IFT_PrescribedDispSlipBCDirichletRC_ConcreteBoundary, _IFT_PrescribedDispSlipBCDirichletRC_ReinfXBound, _IFT_PrescribedDispSlipBCDirichletRC_ReinfYBound, conBoundSet, oofem::PrescribedDispSlipHomogenization::dispGradient, dispGradON, oofem::PrescribedDispSlipHomogenization::initializeFrom(), IR_GIVE_FIELD, IR_GIVE_OPTIONAL_FIELD, reinfXBound, reinfYBound, oofem::PrescribedDispSlipHomogenization::slipField, oofem::PrescribedDispSlipHomogenization::slipGradient, slipGradON, and slipON.

◆ scale()

void oofem::PrescribedDispSlipBCDirichletRC::scale ( double s)
overridevirtual

Scales the receiver according to given value. Typically used in nondimensional analysis to scale down BCs and ICs.

Parameters
sScale factor.

Reimplemented from oofem::BoundaryCondition.

Definition at line 469 of file prescribeddispslipbcdirichletrc.C.

References oofem::PrescribedDispSlipHomogenization::dispField, oofem::PrescribedDispSlipHomogenization::dispGradient, oofem::PrescribedDispSlipHomogenization::slipField, and oofem::PrescribedDispSlipHomogenization::slipGradient.

◆ updateCoefficientMatrix()

Member Data Documentation

◆ conBoundSet

int oofem::PrescribedDispSlipBCDirichletRC::conBoundSet
protected

on/off flag specifying whether the slip gradient should be applied via Neumann BCs

Definition at line 108 of file prescribeddispslipbcdirichletrc.h.

Referenced by domainSize(), and initializeFrom().

◆ dispGradON

bool oofem::PrescribedDispSlipBCDirichletRC::dispGradON = false
protected

◆ reinfXBound

int oofem::PrescribedDispSlipBCDirichletRC::reinfXBound =0
protected

◆ reinfYBound

int oofem::PrescribedDispSlipBCDirichletRC::reinfYBound =0
protected

◆ slipGradON

bool oofem::PrescribedDispSlipBCDirichletRC::slipGradON = false
protected

on/off flag specifying whether the slip field should be applied via Neumann BCs

Definition at line 106 of file prescribeddispslipbcdirichletrc.h.

Referenced by computeReinfStress(), computeTangent(), and initializeFrom().

◆ slipON

bool oofem::PrescribedDispSlipBCDirichletRC::slipON = false
protected

on/off flag specifying whether the displacement gradient should be applied via Neumann BCs

Definition at line 105 of file prescribeddispslipbcdirichletrc.h.

Referenced by computeTangent(), computeTransferStress(), and initializeFrom().


The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011