DLR-SL / CPACS

CPACS - Common Parametric Aircraft Configuration Schema
http://dlr-sl.github.io/CPACS/
Apache License 2.0
78 stars 38 forks source link

orthotropyDirection in materialDefinitionType should be a vector #792

Open sdeinert opened 2 years ago

sdeinert commented 2 years ago

In order to define the material direction of composites precisely in 3D space the orthotropyDirection in materialDefinitionType should define a 3D vector instead of a single double value. The proposal is to change the type of orthotropyDirection to pointType to realize this:

<xsd:complexType name="materialDefinitionType">
    <xsd:annotation>
        <xsd:appinfo>
            <sd:schemaDoc>
                <ddue:summary>
                    <ddue:para>materialDefinitionType</ddue:para>
                </ddue:summary>
                <ddue:remarks>
                    <ddue:para>MaterialDefinition type, containing a material
                        definition (Reference to material and thickness)</ddue:para>
                </ddue:remarks>
            </sd:schemaDoc>
        </xsd:appinfo>
    </xsd:annotation>
    <xsd:complexContent>
        <xsd:extension base="complexBaseType">
            <xsd:choice>
                <xsd:annotation>
                    <xsd:documentation>choice between composite / isotropic material
                        definition</xsd:documentation>
                </xsd:annotation>
                <xsd:sequence>
                    <xsd:element name="compositeUID" type="stringUIDBaseType">
                        <xsd:annotation>
                            <xsd:documentation>uID of a composite definition.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element minOccurs="0" name="orthotropyDirection" type="pointType">
                        <xsd:annotation>
                            <xsd:documentation>Orthotropy direction of the composite.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element minOccurs="0" name="thicknessScaling" type="doubleBaseType">
                        <xsd:annotation>
                            <xsd:documentation>Scaling factor of the composite thickness.
                                Absolute thicknesses are defined in each composite material
                                seperatly</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                </xsd:sequence>
                <xsd:sequence>
                    <xsd:element name="materialUID" type="stringUIDBaseType">
                        <xsd:annotation>
                            <xsd:documentation>uID of a material definition.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element minOccurs="0" name="thickness" type="doubleBaseType">
                        <xsd:annotation>
                            <xsd:documentation>Absolute thickness of the material.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                </xsd:sequence>
            </xsd:choice>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
MarAlder commented 1 year ago

I thought its an angle in the material plane? Maybe experts in this area can comment: @sfreund-DLR, @raedma?

Edit: I just saw we are not in the classical material definition. Ok, then I'm open for anything.

We are here:

grafik

sfreund-DLR commented 1 year ago

I think "orthotropyDirection" is the direction of the 0-deg fibres in the sheet plane. As it can be defined some FEM tools for shell elements. So this takes the dependency on the sheet geometry into account.

Altough I'm not sure whether the sheet 0-deg direction is always properly defined in cpacs - especially in the fuselage.

@sdeinert How would your proposed 3-vector define the direction of the fibres more properly? Would you then calculate the projection of the vector onto the sheets/shells? If yes, this would result in problems when the sheet is perpendicular to the 3-vector. How would you cope with those? Could you please explain the insufficiency of the scalar approach?

sdeinert commented 1 year ago

Basically, it's exactly how you wrote it. The 3-vector is projected onto each face to determine the 0-deg fibre direction.

The main problem with the scalar solution is that you would need to define a reference direction for each structural component in CPACS. As far as I know nothing in this regard is defined yet, so the definition with the current solution is incomplete or at best open to individual interpretation. Also, a general convention to have the span direction for wings and the x-direction for fuselages as the reference direction is insufficient, as for example ribs or pressure bulkheads would be perpendicular to these directions requiring individual definitions.

The problem with the perpendicular vector, as you described it above, is simply a user input error and should be handled as such.

sfreund-DLR commented 1 year ago

Thanks for the clarification!

In the wing sections which I am using much more, the plane of the 0deg orthotropy direction is defined explicitly. See e.g. wingSkinType. If the orthotropy plane is defined, I personally prefer the scalar option much more, since there is no undefined state as compared to the perpendicular case of the 3-vector.

Since the fuselage is apparently missing such a definition, your proposal can be a practical solution. Though, this would confilict with a scalar definition in the wing structure - or there should be a choice which might also lead to individually different interpretations.

The initial idea of sheetBasedStructuralElements is to have some kind of "Halbzeug", from which follows, it must be independent from a determined position in the fuselage. (this initial idea can be debated ;] )

The main problem with the scalar solution is that you would need to define a reference direction for each structural component in CPACS.

What about this definition of reference directions:

MarAlder commented 1 year ago

@sfreund-DLR, I agree with you that it should be explicitly defined in the fuselage just like in the wing. It is not a good approach to define the sheetBasedStructuralElements as a semi-product depending on which direction it is applied at aircraft level. We should consider adopting the wing approach consistently in the fuselage for the next major release as well.

@sdeinert: I also agree with you that we should avoid implicit reference directions. Since the first batch of material on the nose of an aircraft is orthotogonal, defining an explicit way to handle the orthotropic direction is absolutely valuable.

Perhaps the three of us can use the upcoming meeting on cryogenic fuel tanks to come up with a solution. Either a vector or an alternative but explicit approach would be desirable.