Skip to content

Commit

Permalink
merged with release.
Browse files Browse the repository at this point in the history
  • Loading branch information
SteveMaas1978 committed Nov 7, 2024
1 parent cc48500 commit 97177dd
Show file tree
Hide file tree
Showing 335 changed files with 29,722 additions and 18,091 deletions.
21 changes: 0 additions & 21 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,11 @@
# FEBio Build Guide

### Table of contents
- [Docker](#docker)
- [Prerequisites](#prereq)
- [Running CMake](#runCMake)
- [Building FEBio](#build)
- [Limitations of CMake](#limits)
- [Troubleshooting](#trouble)
## Docker <a name="docker"></a>
A Linux image can be built that circumvents depedency installations.
### Install docker
Download and install docker for your respective system https://docs.docker.com/get-docker/

### Build image
FEBio image is build on the `intel/oneapi-hpckit` layer.

To build the image:

```
:/FEBIO# docker-compose run febio-build
```

### Build FEBio
To build the FEBio:
```
:/FEBIO# docker-compose run febio-build
```


## Prerequisites <a name="prereq"></a>

Expand Down
12 changes: 9 additions & 3 deletions Documentation/Doxygen/plugin_plotdata.dox
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,12 @@ To create a nodal plot data field, derive a new class from <b>FEPlotNodeData</b>
requires the data format and storage format. For nodal data the storage format is irrelevant since for nodal data one value per node is expected.

\code
#include <FECore/FEPlotData.h>

class MyNodeData : public FEPlotNodeData
{
public:
MyNodeData(FEModel* pfem) : FEPlotNodeData(PLT_FLOAT, FMT_NODE){}
MyNodeData(FEModel* fem) : FEPlotNodeData(fem, PLT_FLOAT, FMT_NODE){}
bool Save(FEMesh& m, FEDataStream& a);
};
\endcode
Expand All @@ -63,10 +65,12 @@ bool MyNodeData::Save(FEMesh& m, FEDataStream& a)
To create a plot field for element data, create a new class from FEPlotDomainData.

\code
#include <FECore/FEPlotData.h>

class MyElementData : public FEPlotDomainData
{
public:
MyElementData(FEModel* pfem) : FEPlotDomainData(PLT_FLOAT, FMT_ITEM){}
MyElementData(FEModel* fem) : FEPlotDomainData(fem, PLT_FLOAT, FMT_ITEM){}
bool Save(FEDomain& dom, FEDataStream& a);
};
\endcode
Expand Down Expand Up @@ -151,10 +155,12 @@ bool FEPlotElementStress::Save(FEDomain& dom, FEDataStream& a)
To create a surface facet plot field, create a new class from FEPlotSurfaceData.

\code
#include <FECore/FEPlotData.h>

class MySurfaceData : public FEPlotSurfaceData
{
public:
MySurfaceData(FEModel* pfem) : FEPlotSurfaceData(PLT_FLOAT, FMT_ITEM){}
MySurfaceData(FEModel* fem) : FEPlotSurfaceData(fem, PLT_FLOAT, FMT_ITEM){}
bool Save(FESurface& s, FEDataStream& a);
};
\endcode
Expand Down
6 changes: 3 additions & 3 deletions Documentation/Doxygen/register.dox
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ The following code excerpt presents an example of PluginInitialize.
\code
FECORE_EXPORT void PluginInitialize(FECoreKernel& fecore)
{
\\ Set the kernel to match FEBio's kernel
// Set the kernel to match FEBio's kernel
FECoreKernel::SetInstance(&fecore);

\\ set the active module to which to add this new feature
// set the active module to which to add this new feature
fecore.SetActiveModule("solid");

\\ Register the classes in this plugin
// Register the classes in this plugin
REGISTER_FECORE_CLASS(MyMaterial, "My material");
}
\endcode
Expand Down
23 changes: 21 additions & 2 deletions Documentation/FEBio3.bib
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
%% This BibTeX bibliography file was created using BibDesk.
%% https://bibdesk.sourceforge.io/
%% http://bibdesk.sourceforge.net/
%% Created for Gerard Ateshian at 2024-05-30 11:27:16 -0400
%% Created for Gerard Ateshian at 2024-08-29 05:59:31 -0400
%% Saved with string encoding Unicode (UTF-8)
Expand All @@ -11,6 +11,25 @@ @comment{jabref-meta:



@article{Mullender94,
abstract = {Although the capacity of bone to adapt to functional mechanical requirements has been known for more than a century, it is still unclear how the bone adaptation processes are regulated. We hypothesize that osteocytes are sensitive to mechanical loading and control the regulation of bone mass in their environment. Recently, simulation models of such a process were developed, using the finite element method. It was discovered that these models produce discontinuous structures, not unlike trabecular bone. However, it was also found that severe discontinuities violate the continuum assumption underlying the finite element method and that the solutions were element mesh dependent. We have developed a simulation model (which is physiologically and mechanically more consistent) which maintains the self-organizational characteristics but does not produce these discontinuities. This was accomplished by separating the sensor density and range of action from the mesh. The results clearly show that predicted trabecular morphology, i.e. sizes and branching of struts, depend on the actual relationship between local load, sensor density and range of influence. We believe that the model is suitable to study the relationship between trabecular morphology and load and can also explain adaptation of morphology, in the sense of 'Wolff's law'.},
author = {Mullender, M G and Huiskes, R and Weinans, H},
date-added = {2024-08-29 05:59:22 -0400},
date-modified = {2024-08-29 05:59:22 -0400},
doi = {10.1016/0021-9290(94)90049-3},
journal = {J Biomech},
journal-full = {Journal of biomechanics},
mesh = {Adaptation, Physiological; Algorithms; Bone Remodeling; Bone and Bones; Cell Communication; Cell Count; Computer Simulation; Homeostasis; Humans; Models, Biological; Osteocytes; Stress, Mechanical},
month = {Nov},
number = {11},
pages = {1389-94},
pmid = {7798290},
pst = {ppublish},
title = {A physiological approach to the simulation of bone remodeling as a self-organizational control process},
volume = {27},
year = {1994},
bdsk-url-1 = {https://doi.org/10.1016/0021-9290(94)90049-3}}

@article{Ateshian23b,
abstract = {This study examines the theoretical foundations for the damage mechanics of biological tissues in relation to viscoelasticity. Its primary goal is to provide a mechanistic understanding of well-known experimental observations in biomechanics, which show that the ultimate tensile strength of viscoelastic biological tissues typically increases with increasing strain rate. The basic premise of this framework is that tissue damage occurs when strong bonds, such as covalent bonds in the solid matrix of a biological tissue, break in response to loading. This type of failure is described as elastic damage, under the idealizing assumption that strong bonds behave elastically. Viscoelasticity arises from three types of dissipative mechanisms: (1) Friction between molecules of the same species, which is represented by the tissue viscosity. (2) Friction between fluid and solid constituents of a porous medium, which is represented by the tissue hydraulic permeability. (3) Dissipative reactions arising from weak bonds breaking in response to loading, and reforming in a stress-free state, such as hydrogen bonds and other weak electrostatic bonds. When a viscoelastic tissue is subjected to loading, some of that load may be temporarily supported by those frictional and weak bond forces, reducing the amount of load supported by elastic strong bonds and thus, the extent of elastic damage sustained by those bonds. This protective effect depends on the characteristic time response of viscoelastic mechanisms in relation to the loading history. This study formalizes these concepts by presenting general equations that can model the damage mechanics of viscoelastic tissues.},
author = {Ateshian, Gerard A and Kroupa, Kimberly R and Petersen, Courtney A and Zimmerman, Brandon K and Maas, Steve A and Weiss, Jeffrey A},
Expand Down
Loading

0 comments on commit 97177dd

Please sign in to comment.